Programm en C sur DEV

Résolu
Bonjour,
j aimerai que vous m aidiez à détecter l erreur sur ced programme car g un problème avec system("pause") et mm avec getchar() voici le programme plz help !
#include<stdio.h>
#include<stdlib.h>
#define long_max 400
int i=0,nb;
float moy,som,min,max,c;
main()
{
printf("entrez nombr de notes[0,%d]\n",long_max);
scanf("%d",&nb);
float tab[nb];
while((nb<=long_max)&&(nb>0)) do
{
printf("entrez vos notes\n");
for(i=0;i<nb;i++)
{
scanf("%f",&tab[i]);
}
printf("voici votre tableau\n");
for(i=0;i<nb;i++)
{
printf("\t %f",tab[i]);
}
}
system("pause");
}
Configuration: Windows XP
Firefox 3.5.5

5 réponses

  • Votes
  • Date
  • Date décroissante
  1. héhé la réponse n'est pas facile à repérer, c'est en effet AVANT le system...

    qu'est-ce qu'il y a avant le system() ? Le corps de la boucle while !

    Tu as mis "do" après le while, il n'y a pas de do à mettre.

    while (condition) {
    }

    ou

    do {
    } while (condition)


    mais pas

    while (condition) do {
    }
    1. Met un \n dans ton scanf sinon le retour chariot que tu fait apres un nombre sera récupéré dans le scanf suivant:

      scanf("%d\n",&nb);

      quand au system , sans plus de detail sur ton "probleme" c'est pas évident.
      si tu veux juste que le programme ne se ferme pas tout de suite, fait un autre scanf :)

      -
      Grou29
      http://lienssanslien.free.fr
      1. Ce n'est pas avec 'system' qu'il y a un problème. Ah si vous connaissiez la langue de Shakespeare, vous auriez compris que before system signifie: 'avant system', donc 'system' n'y est pour rien du tout ! ;-)
        En réalité, il y a peut-être d'autres erreurs, une ligne comme while((nb<=long_max)&&(nb>0)) do me semble plus que suspecte; elle doit engendrer une incompréhension auprès du compilateur. Ce n'est pas du 'C', peut-être du Basic... je ne sais plus.
        Bonne continuation.
        1. g mis return 0; mais le problème persiste "syntax error before system"!!! pourtan g bien utilisé stdlib.h
          1. Salut,

            Le problème vient surement du fait qu'il n'y pas de
             return 0;
            à la fin du prgm :)