Les chaines de caractère et biens d'autres problemes. Si vous voulez aider un no

Lavieillefolle Messages postés 23 Date d'inscription jeudi 7 août 2003 Statut Membre Dernière intervention 12 avril 2004 - 10 févr. 2004 à 06:48
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 - 10 févr. 2004 à 13:13
Voilà voilà j'ai écris un code, enfin g tanter d'écrire et comme vous allez le constater je ne possede aucune experience. Alors si vous pourriez résoure un probleme a la fois, en expliquant ou pas je fini pas comprendre. Merci d'avance.
le code (vous remarquerez la tonne d'include, bien je ne sais trop quels prendre ou ne pas prendre. Bref je ne connais leurs utilitees):
#include <dos.h>
#include <math.h>
#include <stdio.h>
#include <conio.h>
#include <conio.c>
#include <stdlib.h>
#include <string.h>
#define NumRow 4
#define MaxChar 5
void main () {
char Tableau[MaxChar][NumRow];
int i;
printf ("Wouhouuuuuu :");
While (i == MaxChar) {
Inscription:
gets (Tableau[i]);
if ((strlen (Tableau[i]) >= MaxChar) || (strlen (Tableau[i]) <= 0)) {
printf ("La chaine contient trop de caracteres, elle doit contenir un maximum de %d caracteres et un minimum de 1", (NumRow - 1));
goto Inscription;
};
i++;
};
While (i == MaxChar) {
printf ("Valeur de la ligne %d :%s\n", (i+1), Tableau[i]);
i++;
};
getch ();
return (0);
};
A voir également:

2 réponses

cs_LordBob Messages postés 2865 Date d'inscription samedi 2 novembre 2002 Statut Membre Dernière intervention 11 mai 2009 9
10 févr. 2004 à 09:35
salut, alors les includes dos.h, math.h, conio.c et stdlib.h ne te serve ici a rien puisque tu n'utilises pas les fonction qui sont définie dans ces headers. Ensuite autre chose importante sache que les instructions doivent s'ecrire en minuscule, le compilateur ne reconnait pas l'instruction While, mais il reconnait [b]while[b]... autre chose tres importantes, il n'y a pas de ';' apres les accolades !!! il me semble que c'est a peu pres tout...
voici ta source corrigé:

#include <stdio.h>
#include <conio.h>
#include <string.h>

#define NumRow 4
#define MaxChar 5

int main () 
{
char Tableau[MaxChar][NumRow];
int i;

printf ("Wouhouuuuuu :");

while (i == MaxChar) 
{
Inscription:
gets (Tableau[i]);

if ((strlen (Tableau[i]) >= MaxChar) || (strlen (Tableau[i]) <= 0)) 
{
printf ("La chaine contient trop de caracteres, elle doit contenir un maximum de %d caracteres et un minimum de 1", (NumRow - 1));

goto Inscription;
}

i++;
}

while (i == MaxChar) 
{
printf ("Valeur de la ligne %d :%s\n", (i+1), Tableau[i]);
i++;
}

getch ();
return 0;
}

Bob...

"La chance accorde ses faveur aux esprits avertis..."
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
10 févr. 2004 à 13:13
puisque tu est débutant je me permet de te conseiller de mettre tes defines en majuscules:
#define NUMROW 4, c'est une convention d'écriture, meme si tu n'es pas obligé de la respecter
Par ailleurs ton goto n'est pas nécessaire, tu devrais le remplacer par une boucle
0
Rejoignez-nous