Programm en C sur DEV

Résolu
saraseff Messages postés 137 Statut Membre -  
Pacorabanix Messages postés 4122 Date d'inscription   Statut Membre Dernière intervention   -
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

  1. didji31320 Messages postés 24 Statut Membre 7
     
    Salut,

    Le problème vient surement du fait qu'il n'y pas de
     return 0;
    à la fin du prgm :)
    0
  2. saraseff Messages postés 137 Statut Membre 2
     
    g mis return 0; mais le problème persiste "syntax error before system"!!! pourtan g bien utilisé stdlib.h
    0
  3. loupius Messages postés 789 Statut Membre 148
     
    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.
    0
  4. grou29 Messages postés 39 Statut Membre 9
     
    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
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Pacorabanix Messages postés 4122 Date d'inscription   Statut Membre Dernière intervention   663
     
    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 {
    }
    0