Fichier : Programmation C++

Tatiana -  
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour tout le monde,
J'ai réalisé un programme qui effectue des saisies de données, qui les écrit ensuite dans un fichier puis les afffiche. Cependant, quand j'exécute mon programme, il s'arrête après que l'utilisateur a entré le nombre de lignes qui seront entrées. En d'autres termes, le programme ne me permet pas d'entrer des données pour le fichier.
Voici mon programme :


#include <iostream>
#include <fstream>
using namespace std;


void Notes (int &j , int &Intra , int &Devoirs , int &Final , int &Total , int &nb_lignes)
{
int nombre;
j = 0;

cout << "Entrer le nombre de lignes qui seront entrees." << endl;
cin >> nombre;

cout << "Entrer les donnees" << endl;

for (j=0 ; j<nb_lignes ; j++)
{
cout << "Numero " << (j+1) << " : " ;
cout << "Intra";
cin >> Intra;
cout << "Devoirs";
cin >> Devoirs;
cout << "Final";
cin >> Final;
Total = Intra + Devoirs + Final;
cout << endl;
}
}



int main()
{
ofstream Sortie;

Sortie.open("d2.txt");

if (Sortie.fail())
cout << "Probleme d'ouverture";

Sortie << "No" << " " << "Intra" << " "<< "Devoirs" << " " << "Final" << " " << "Total";
Sortie << endl;

int i = 0;
int Exam_i , Hw , Exam_f , Tot , taille;
Notes (i , Exam_i , Hw , Exam_f , Tot , taille);

for (i=0 ; i<taille ; i++)
{
Sortie << i << " " ;
Sortie << Exam_i << " " ;
Sortie << Hw << " ";
Sortie << Exam_f << " ";
Sortie << Tot << " ";
Sortie << endl;
}

return 0;
}



Merci de trouver mes erreurs! ^_^
A voir également:

5 réponses

BugMaker Messages postés 34 Date d'inscription   Statut Membre Dernière intervention   7
 
Salut,
Dans ta fonction notes, tu utilises un
cin >> nombre; 
puis une boucle avec
for (j=0 ; j<nb_lignes ; j++)
dans tous les cas, ta variable nb_ligne est égale à zéro (initialisé avant appel de la fonction), donc tu rentres pas dans la boucle.
Tu aurais pu voir ça par toi même en utilisant un débugger.
A++
phil
2
Tatiana
 
Salut BugMaker!
Tu m'as parlé d'un débugger... J'aimerais savoir c'est quoi? Comment je peux l'obtenir et l'utiliser.

N.B. : J'utilise SSH Secure Shell sur Windows XP
0
Tatiana
 
Est-ce qu'il y a quelqu'un???
SVP!
Merci
0
lirey83 Messages postés 75 Date d'inscription   Statut Membre Dernière intervention   13
 
Par ailleurs, ton programme ne fait probablement pas ce que l'on attend de lui : ta boucle "for" dans ta routine "Notes" ne sert à rien étant donné qu'à chaque itération, tu écrases tes variables. Soit faut faire des tableaux pour les stocker, soit les enregistrer au fur et à mesure dans ton fichier.
Aussi tu testes la création de ton fichier de sortie, c'est bien, mais il ne sert à rien de continuer l'execution du code si l'ouverture à échouer ...
0
Tatiana
 
Ya quelqu'un?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
Salut.
qu'ajouter de plus ?
un debuggeur, tu as gdb si tu utilise gcc comme compilateur.
pour plus de lisibilité, au lieu de :
Sortie << "No" << " " << "Intra" << " "<< "Devoirs" << " " << "Final" << " " << "Total";
Sortie << endl;
met :
Sortie << "No Intra Devoirs Fina Total"<< endl;
0