Fichier : Programmation C++
Tatiana
-
Char Snipeur Messages postés 9813 Date d'inscription Statut Contributeur Dernière intervention -
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! ^_^
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:
- Fichier : Programmation C++
- Fichier bin - Guide
- Fichier epub - Guide
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier .dat - Guide
5 réponses
Salut,
Dans ta fonction notes, tu utilises un
Tu aurais pu voir ça par toi même en utilisant un débugger.
A++
phil
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
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 ...
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 ...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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