Programm en C sur DEV

Résolu/Fermé
saraseff Messages postés 125 Date d'inscription lundi 2 novembre 2009 Statut Membre Dernière intervention 27 avril 2013 - 9 déc. 2009 à 22:40
Pacorabanix Messages postés 3248 Date d'inscription jeudi 23 août 2007 Statut Membre Dernière intervention 19 mai 2013 - 10 déc. 2009 à 02:22
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");
}

5 réponses

didji31320 Messages postés 23 Date d'inscription mardi 8 décembre 2009 Statut Membre Dernière intervention 27 mars 2011 7
9 déc. 2009 à 22:49
Salut,

Le problème vient surement du fait qu'il n'y pas de
 return 0;
à la fin du prgm :)
0
saraseff Messages postés 125 Date d'inscription lundi 2 novembre 2009 Statut Membre Dernière intervention 27 avril 2013 2
9 déc. 2009 à 22:59
g mis return 0; mais le problème persiste "syntax error before system"!!! pourtan g bien utilisé stdlib.h
0
loupius Messages postés 697 Date d'inscription dimanche 1 novembre 2009 Statut Membre Dernière intervention 31 décembre 2017 148
10 déc. 2009 à 00:34
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
grou29 Messages postés 39 Date d'inscription mardi 27 octobre 2009 Statut Membre Dernière intervention 19 mai 2010 9
10 déc. 2009 à 00:49
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Pacorabanix Messages postés 3248 Date d'inscription jeudi 23 août 2007 Statut Membre Dernière intervention 19 mai 2013 660
10 déc. 2009 à 02:22
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