hamza506
Messages postés1Date d'inscriptionmercredi 14 novembre 2007StatutMembreDernière intervention18 mai 2012
-
18 mai 2012 à 22:52
katsankat
Messages postés571Date d'inscriptionvendredi 30 décembre 2005StatutMembreDernière intervention12 juillet 2012
-
22 mai 2012 à 02:33
Bonjour
Je travail sur un mini projet
Sur mon programme j'essayer de lire un nombre des noms des étudiants et les stocker sur un tableau
J’ai posé cette solution
printf("combien d'étudiant voulez vous entrer : ");
scanf("%d",&OPE);
for(IE=0;IE<OPE;IE++)
{
printf("entrer le nom complet de l'étudiant %d : ",E+1);
gets(ETUD[E]);
E++;
}
j ai trouvé un problème avec gets() a l'exécution , quand je demande le stockage de 4 étudiants par exemple , le programme saut le 1er étudiant et demande directement la saisie du 2eme étudiant
combien d'étudiant voulez vous entrer : 4
Entrer le nom complet de l'étudiant 1 : entrer le nom complet de l'étudiant 2 :
j'ai besoin de l’aide, ou une autre façon efficace et facile de lire une chaîne de caractère s'il est possible, par ce que j'ai un grand problème avec ce type des fonctions, gets , getch ....etc
cptpingu
Messages postés3837Date d'inscriptiondimanche 12 décembre 2004StatutModérateurDernière intervention28 mars 2023123 20 mai 2012 à 08:57
Bonjour.
Utilise scanf tout simplement comme tu l'as fait au début.
int i = 0;
int nb = 0;
char nom[256];
printf("Combien d'étudiant voulez vous entrer: ");
scanf("%d", &nb);
for(i = 0; i < nb; ++i)
{
printf("Entrez le nom complet de l'étudiant %d: ", i + 1);
scanf("%s", nom);
printf("Nom est: %s\n", nom);
}
Pour mettre plusieurs noms dans un tableau dont la taille n'est pas connue, il te faut allouer avec malloc un tableau de chaînes de caractères. Je te laisse le soin de te documenter sur cette partie.
________________________________________________________________________
Historique de mes créations, et quelques articles:
[ http://0217021.free.fr/portfoliohttp://0217021.free.fr/portfolio]
Merci d'utiliser Réponse acceptée si un post répond à votre question
katsankat
Messages postés571Date d'inscriptionvendredi 30 décembre 2005StatutMembreDernière intervention12 juillet 20123 22 mai 2012 à 02:33
Correct. Il faudrait voir la déclaration de la variable ETUD, et son initialisation probablement fondée sur calloc(). Regarder éventuellement realloc(). Et malloc().