Mon compilo délire ou c'est mon code qui est érroné?

Mon compilo délire ou c'est mon code qui est érroné? - C++ - Programmation

Marsh Posté le 05-03-2004 à 14:18:50    

Si quelqun pouvait éssayer de compiler ceci et me dire pour la compilation plante, ce serait très gentil
 

Code :
  1. #include <stdio.h>
  2. #define NOTEMIN 0     // Note minimum
  3. #define NOTEMAX 20    // Note maximum
  4. #define MINETU 1      // Nombre minimum d'étudiants
  5. #define MAXETU 100   // Nombre maximum d'étudiants
  6. #define SEUIL 10      // Seuil des notes
  7. // Déclaration des sous programmes
  8. int sasieint (int mini, int maxi);
  9. int supseuil (int tabint[], int nbval, int seuil);
  10. void saisietabint (int tabint[], int nbval, int mini, int maxi);
  11. void affichetabint (int tabint[], int nbval);
  12. void histogrammesnotes (int tabint[], int nbval, int tabhisto[], int maxi);
  13. void dessinehistogrammenotes (int nbval, int tabhisto[]);
  14. void main (void)
  15. {
  16. int notmin,notmax,nbetud,etudmin,etudmax,tabnotes[MAXETU];
  17. int superieurseuil,tabhistogramme[NOTEMAX+1];
  18. notmin=NOTEMIN;
  19. notmax=NOTEMAX;
  20. etudmin=MINETU;
  21. etudmax=MAXETU;
  22. printf(" Saisie du nombre d\'étudiants \n" );
  23. nbetud=saisieint(etudmin,etudmax);
  24. printf("Saisie des notes\n" );
  25. saisietabint(tabnotes,nbetud,notmin,notmax);
  26. printf("Affichage des notes\n" );
  27. affichetabint(tabnotes,nbetud);
  28. superieurseuil=supseuil(tabnotes,nbetud,SEUIL);
  29. printf("\n Nombre de notes supérieures ou égales à %d = %d\n",SEUIL,superieurseuil);
  30. histogrammesnotes(tabnotes,nbetud,tabhistogramme,notmax);
  31. printf("\n Affichage du contenu de l\'histogramme" );
  32. affichetabint(tabhistogramme,notmax+1);
  33. dessinehistogrammenotes(NOTEMAX+1,tabhistogramme);
  34. }
  35. /*
  36. N : saisieInt
  37. R : saisie contrôlée d'une valeur entière dans un intervalle (mini <= val saisie <= maxi)
  38. E :  mini : valeur minimum acceptée (incluse)
  39.   maxi : valeur maximum acceptée (incluse)
  40. S : retourne la valeur saisie
  41. Prec : mini <= maxi
  42. */
  43. int saisieInt (int mini, int maxi)
  44. {
  45. int val;
  46. printf("Valeur comprise entre %d et %d :", mini, maxi);
  47. scanf ("%d", &val);
  48. while ( (val < mini) || (val > maxi) )
  49. {
  50.  printf("Erreur de saisie (%d), Valeur comprise entre %d et %d :", val, mini, maxi);
  51.  scanf ("%d", &val);
  52. }
  53. return val;
  54. }
  55. /*
  56. N : saisietabint
  57. R : saisie des valeurs comprises dans un intervalle défini dans la fonction
  58. saisietab, stockage de ces valeurs dans un tableau
  59. E :  mini : valeur minimum acceptée (incluse)
  60.   maxi : valeur maximum acceptée (incluse)
  61.   nbval : nombre total de valeurs à saisir
  62.   tabint[] : tableau contenant les entiers
  63. S : -
  64. Prec : -
  65. */
  66. void saisietabint (int tabint[], int nbval, int mini, int maxi)
  67. {
  68. int i;
  69. for (i=0;i<nbval;i++);
  70. {
  71.  printf("Saisir la valeur %d: \n",(i+1));
  72.  tabint[i]=saisieint(mini,maxi);
  73. }
  74. }
  75. /*
  76. N : affichetabint
  77. R : Affiche un tableau d'entiers à l'écran, une valeur par ligne
  78. E :  nbval : nombre total de valeurs à saisir
  79.   tabint[] : tableau contenant les entiers
  80. S : -
  81. Prec : -
  82. */
  83. void affichetabint (int tabint[],int nbval)
  84. {
  85. int i;
  86. for (i=0;i<nbval;i++)
  87. {
  88.  printf("Valeur %d=%d\n",i,tabint[i]);
  89. }
  90. }
  91. /*
  92. N : supseuil
  93. R : Affiche un tableau d'entiers à l'écran, une valeur par ligne
  94. E :  nbval : nombre total de valeurs à saisir
  95.   tabint[] : tableau contenant les entiers
  96.   seuil : seuil
  97. S : supseuil: nombre d'entiers supérieurs ou égal au seuil
  98. Prec : -
  99. */
  100. int supseuil(int tabint[],int nbval,int seuil)
  101. {
  102. int i,supseuil;
  103. supseuil=0;
  104. for (i=0;i<nbval;i++);
  105. {
  106.  if (tabint[i]>=seuil)
  107.  {
  108.   supseuil++;
  109.  }
  110. }
  111. return (supseuil);
  112. }
  113. /*
  114. N : histogrammenotes
  115. R : A partir d'un tableau de notes, donne  le nombre d'étudiants ayant obtenu
  116.   chacune des notes (0 à 20)
  117. E : tabint[] : tableau contenant les entiers
  118.   tabhisto[] : talbeau contenant le nombre d'édudiant ayant eu une note
  119.   donnée.
  120.   nbval : Nombre d'éléments contenus dans tabhisto[]
  121. S : -
  122. Prec : -
  123. */
  124. void histogrammesnotes (int tabint[],int nbval, int tabhisto[], int maxi)
  125. {
  126. int i;
  127. for (i=0;i<=maxi+1;i++)
  128. {
  129.  tabhisto[i]=0;
  130. }
  131. for (i=0;i<nbval;i++)
  132. {
  133.  tabhisto[tabint[i]]++;
  134. }
  135. }
  136. /*
  137. N : dessinehistogrammenotes
  138. R : Affiche un graphique qui représente le nombre d'étudiants ayant
  139.   obtenus une note donnée
  140. E:  tabhisto[] : tableau contenant le nombre d'édudiants ayant eu une note
  141.   donnée
  142. S : -
  143. Prec : -
  144. */
  145. void dessinehistogrammenotes (int nbval, int tabhisto[])
  146. {
  147. int i,j;
  148. for (i=0;i<nbval;i++)
  149. {
  150.  for (j=0;j<tabhisto[i];j++)
  151.  {
  152.   printf("*" );
  153.  }
  154.  printf("\n" );
  155. }
  156. }

Reply

Marsh Posté le 05-03-2004 à 14:18:50   

Reply

Marsh Posté le 05-03-2004 à 14:23:00    

Code :
  1. int sasieint (int mini, int maxi);

Essaye saisieint...
Un rapide coup d'oeil au message d'erreur du compilo aurait du t'aider.

Code :
  1. int saisieInt (int mini, int maxi)
  2.   {

...Et puis la casse c'est important aussi.


Message édité par R3g le 05-03-2004 à 14:25:12

---------------
Au royaume des sourds, les borgnes sont sourds.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed