HELP DEBUGAGE D' UN PETIT PROG EN C++ - Programmation
Marsh Posté le 08-08-2001 à 22:55:35
S majuscule pour SaisieNOMS en bas
pour le reste jsuis trop mort
ca va pas de poser des questions comme ca a cette heure ci ???
Marsh Posté le 08-08-2001 à 22:59:24
declare un tableau de 5 chaines de caracteres separement de ta matrice et dans ton main sinon les procedures connaissent pas, passe les en parametre apres
par exemple, cin >> nomELEVE[i] ; ca veut rie dire : nomELEVE[i] est un tableau de char, cad un pointeur;
ensuite laisse un peu plus de trucs dans ton main, la saisie des noms par exemple
Marsh Posté le 08-08-2001 à 23:00:28
Merci bien
Maintenant 6 erreurs!
celle ci m' énerve: ligne 25: undefined symbole N
ligne 25 undefined symbole E
Merci encore
Marsh Posté le 08-08-2001 à 23:15:00
avec quelques erreurs en moins :
#include <iostream.h>
void saisieNOMS (int[5] nom)
{
for (int i=0; i<5;i++);
{
cout << "\n veuillez entrer le nom de l' élève "<<i<<": ";
cin >> nom[i] ;
}
}
void saisieNOTES (int [5][5] notes, char*[5] noms)
{
// Boucle de répétition concernant les élèves
for (int E=0; E<5;E++)
{
// Boucle de répétition de saisies de notes pour chaque élève
for (int N=0;N<5; N++)
{
cout <<"\n Entrez la note " <<N <<" de " <<noms[E] <<": ";
cin >> notes [E][N] ;
}
}
}
void calculMOY(int [5][5] notes, char*[5] noms)
{
cout <<"VOICI LA MOYENNE DE CHAQUE ELEVE \n" ;
//Boucle des élèves
for (int i=0;i<5;i++)
{
float x = 0;
//Boucle des notes
for (int n=0;n<5;n++)
{
x+=notes[i][n]/5.0;
}
cout<<"La moyenne de "<<noms[i]<<" est de: "<<x<<"\n";
}
}
int main ()
{
char* nomELEVE [5];
int noteELEVE [5][5];
saisieNOMS(nomEleve)
saisieNOTES(noteEleve, nomELEVE);
calculMOY(noteEleve, nomELEVE);
return 0;
}
PS : g pas de compilo C++ sous la main, g surement du me dechirer a un endroit ou 2
par contre la structure est pas tres propres, il faudrait la changer
[edtdd]--Message édité par grahf--[/edtdd]
Marsh Posté le 08-08-2001 à 23:46:07
Code :
|
Le but de bien présenter le code est que la structure du code soit clairement identifiable en voyant le code sans avoir à lire le détail du code. L'indentation du code est là pour mettre en valeur la structure du code.
[edtdd]--Message édité par BifaceMcLeOD--[/edtdd]
Marsh Posté le 09-08-2001 à 07:12:48
Citation : Les paramètres de fonction de type tableau sont tous définis de façon incorrecte. En C, on n'écrit pas "void calculMOY(int [5][5] notes, char*[5] noms)", mais "void calculMOY(int notes[5][5], char* noms[5])". Je sais, ton écriture semblait plus logique, mais cela fait partie des incohérences du langage C. |
qui oserai faire ca
Marsh Posté le 09-08-2001 à 08:18:51
Merci à tous pour vos réponses et sutrout à grahf pour sa patience.
Je commence à bien comprendre mes erreurs.
Sur ce je pars au travail et vous souhaite une très bonne journée.
Marsh Posté le 09-08-2001 à 12:08:19
Ce programme est simple mais les tableaux ne devraient être utilisés que si on connait à l'avance le nombre d'éléments du tableau.
J'ai vu que dans son code il fait une grave erreur. Celui de commencer l'indice à 1 au lieu de 0 avec < 5 en plus, il ne comptera que 4 éléments au lieu de 5. C'est comme ca que l'on risque l'erreur de débordement de capacité quand on remplit un tableau et que l'on part de 1
[edtdd]--Message édité par AlphaT--[/edtdd]
Marsh Posté le 09-08-2001 à 16:11:55
BifaceMcLeOD a écrit a écrit : Tu as un sérieux problème d'indentation de code. |
ca c pas moi c quand g fait le copier colle dans la fenetre, je suis justement un adepte de la presentation propre.
pour le reste, effectivement g un peu fait le boulet, surtout pour l'oubli de l'allocation , mais j'avais ecrit a partir de son code (nom des var ou des fctions, ou les ';') !!
Marsh Posté le 08-08-2001 à 22:34:49
Bonsoir à tous.
JE fais un petit prog en c++ qui consiste en ceci:
on doit saisir 5 noms d' élèves, puis 5 notes pour chacun d' entre eux. mon prog renvoie une moyenne pour chacun d' eux.
Cependent j' ai plus de 10 erreurs lors de la compilation.
C' est mon premier programme alors je ne sais pas trop ce qui ne va pas. Je pense que ca doit sauter aux yeux rapidement à ceux qui connaissent un temps soit peu.
Merci à tous ceux qui veulent prendre le temps de m' aider.
VOILA LE FAMEU PROG:
#include <iostream.h>
void SaisieNOMS ()
{
int i;
char nomELEVE [5][10];
for (i=1; i<5;i++);
{ cout << "\n veuillez entrer le nom de l' élève "<< i<<": ";
cin >> nomELEVE[i] ;
}
}
void saisieNOTES ()
{ int noteELEVE [5][5];
// Boucle de répétition concernant les élèves
for (int E=1; E<5;E++);
{
// Boucle de répétition de saisies de notes pour chaque élève
for (int N=1;N<5; N++);
{
cout <<"\n Entrez la note " <<N <<" de " <<nomELEVE [E] <<": ";
cin >> noteELEVE [E][N] ;
}
}
void calculMOY ()
{
cout <<"VOICI LA MOYENNE DE CHAQUE ELEVE \n" ;
//Boucle des élèves
for (int i=1;i<5;i++);
{
//Boucle des notes
for (int n=1;n<5;n++);
{ int x = 0;
x= noteELEVE[i][n] + x;
}}
cout <<"La moyenne de " <<nomELEVE [i] <<" est de: "<< x/5 "\n";
}
void main ()
{ saisieNOMS ();
}