Se connecter avec
S'enregistrer | Connectez-vous

petit souci avec un test "if"

Dernière réponse : dans Programmation

bonjour pouvez vous m'eclairer sur mon code .
voici mon code .
quand je fais un choix au lieu d'avoir juste la classe que je desire j'ai les information sur les classes de l'ecole.

  1. ... printf("Vous avez saisi les informations suivantes\n");
  2. for (i=0;i<nbrcl;i++)
  3. {
  4. printf("choix :%i\n",i+1);
  5. printf("Id classe: %i\n",cl[i].idcl);
  6. printf(" Nom de la classe :%s\n",&cl[i].nomcl[0]);
  7. }
  8. printf(".......................................................................\n");
  9. /********************Choix de la classe*************************/
  10. printf("Entrer votre choix");
  11. scanf("%d",&choix);
  12. if(choix!=0)
  13. {
  14. for (i=0;i<nbrcl;i++)
  15. {
  16. printf("Id classe: %i\n",cl[i].idcl);
  17. printf(" Nom de la classe :%s\n",&cl[i].nomcl[0]);
  18. }
  19. printf(" Nombre d'eleves:%i\n",nbel);
  20. printf(" Nombre de matiere:%i\n",nbrmat);
  21. }
  22. /**************** Saisie des eleves ***************/

Autres pages sur : petit souci test

Lassé par la pub ? Créez un compte

neo_kador a dit :
Peux-tu donner ton code source en entier stp?


VOICI LE CODE EN ENTIER
  1. struct classe
  2. {
  3. int idcl;
  4. char nomcl[10];
  5. char nomat[5][15];
  6. int coeff[5];
  7. };
  8. struct eleve
  9. {
  10. char nom[10];
  11. int age[4];
  12. };
  13. struct matiere
  14. {
  15. char nom_mat[13];
  16. float coeff[10];
  17. };
  18. struct matiere mat[20];
  19. struct eleve el[150];
  20. struct classe cl[20];
  21.  
  22. int main ()
  23. {
  24.  
  25. int i,nbrcl,i2,nbrmat,nbel,choix;
  26. /*********** Saisie classe **************************/
  27. printf("Entrer le nombre de classe\n");
  28. scanf("%i",&nbrcl);
  29.  
  30.  
  31. for(i=0;i<nbrcl;i++)
  32. {
  33.  
  34. printf("Classe[%d]\n",i+1);
  35. printf(".......................................................................\n");
  36.  
  37. printf("Id classe (!!Chiffre ne commencant pas par 0 !!) \n",cl[i].idcl);
  38. scanf("%i",&cl[i].idcl);
  39. printf("Saisir le nom de la classe\n");
  40. scanf("%s",&cl[i].nomcl[0]);
  41. printf("Nombre d'eleves\n");
  42. scanf("%i",&nbel);
  43. printf("Saisissez le nombre de matiere\n");
  44. scanf("%i",&nbrmat);
  45.  
  46. printf(".......................................................................\n");
  47.  
  48. printf("Entrer les matieres\n");
  49. for(i2=0;i2<nbrmat;i2++)
  50. {
  51. printf("Matiere[%d]:",i2+1);
  52. scanf("%s",&cl[i2].nomat[i2][0]);
  53.  
  54. /*}
  55. for(i2=0;i2<nbrmat;i2++)
  56. {*/
  57. printf("Coeff :", cl[i2].nomat[i2][0]);
  58. scanf("%f",&mat[i2].coeff[0]);
  59. }
  60. printf(".......................................................................\n");
  61. }
  62. printf("Vous avez saisi les informations suivantes\n");
  63. for (i=0;i<nbrcl;i++)
  64. {
  65. printf("choix :%i\n",i+1);
  66. printf("Id classe: %i\n",cl[i].idcl);
  67. printf(" Nom de la classe :%s\n",&cl[i].nomcl[0]);
  68. }
  69. printf(".......................................................................\n");
  70. /********************Choix de la classe*************************/
  71. printf("Entrer votre choix");
  72. scanf("%d",&choix);
  73. if(choix!=0)
  74. {
  75. for (i=0;i<nbrcl;i++)
  76. {
  77. printf("Id classe: %i\n",cl[i].idcl);
  78. printf(" Nom de la classe :%s\n",&cl[i].nomcl[0]);
  79. }
  80. printf(" Nombre d'eleves:%i\n",nbel);
  81. printf(" Nombre de matiere:%i\n",nbrmat);
  82. }
  83. /**************** Saisie des eleves ***************/
  84.  
  85. printf("Saisie eleve \n");
  86. for (i=0;i<nbel;i++)
  87. {
  88. printf("eleve[%d]:\n",i+1);
  89. printf("nom =>");
  90. scanf("%s",&el[i].nom[0]);
  91. //printf("prenom=>\n");
  92. printf("Age=>");
  93. scanf("%s",&el[i].age[0]);
  94. }
  95.  
  96. getch();
  97. }

tu demandes à l'utilisateur de rentrer un numéro de classe que tu stocke dans la variables choix mais tu ne l'utilises plus nulle part.
de plus tu fais un boucle allant de 0 au nombre de classe existante, c'est normale qu'il t'affichent toutes les classes.

Salut,

Lorsque tu veux comparer deux chose tu dois utiliser == et lorsque que tu assigne une valeur tu utilise =.

Essaie cela sa devrait regler ton probleme.

Bonne journée!

Maxetime

Edit: Dsl je n'avais pas vu que C'était !=. Donc ce que j'ai dit ne reglera rien dsl.
Lassé par la pub ? Créez un compte
Tom's guide dans le monde