Aide en language C

Fermé
mounir234 Messages postés 174 Date d'inscription mercredi 28 février 2007 Statut Membre Dernière intervention 1 mars 2016 - 28 févr. 2007 à 14:25
mounir234 Messages postés 174 Date d'inscription mercredi 28 février 2007 Statut Membre Dernière intervention 1 mars 2016 - 1 mars 2007 à 18:16
slt tt monde j'ai prob ac un exercice du C et j'espert que qq1 m'aide a le resoudre bn ba voici l'exercice :
N.B : je suis presque sûre que le probléme se situe dans "scanf("%f",&...);"parceque le prog s'execute normalement et dé que j'atteind la saisi de "contite" => sortie du prog . et MERCI d'avance.



#include<stdio.h>
#include<conio.h>
#include<dos.h>
#define e 30
void main ()
{
textbackground(BLUE);
textcolor(GREEN);
clrscr();
printf("\n\n\n\n\n\n\n\n");
int i,d;
struct v{
float mht;
float prix;
float quantite;
char article[15];
float ttc;
}bts[e];
printf("\n\n\n\n");
printf(" ******************** \n");
printf(" * CONTRLE DE SAISI * \n");
printf(" ******************** \n");
printf("\n\n\n\n\n\n\n\n");
do {
printf(" Donner le nombre d'articles <30 : ");
scanf("%d",&d);
}
while(d>e);
clrscr();
printf("\n\n\n\n");
printf(" ********************* \n");
printf(" * SAISI DES DONNEES * \n");
printf(" ********************* \n");
printf("\n\n\n\n\n\n\n\n");
for (i=0;i<d;i++){
printf(" donner le nom de l'article Nø%d : ",i+1);
scanf("%s",&bts[i].article);
printf(" donner la quantit‚ de l'article Nø%d : ",i+1);
scanf("%f",&bts[i].quantite);
printf(" donner le prix de l'article Nø%d : ",i+1);
scanf("%f",&bts[i].prix);
bts[i].mht=(bts[i].prix)*(bts[i].quantite);
bts[i].ttc=((bts[i].mht)*(20/100))+(bts[i].mht);
printf("\n\n");
}
clrscr();
textbackground(BLUE);
textcolor(RED);
printf("\n\n\n\n");
printf(" ************************* \n");
printf(" * affichage du resultat * \n");
printf(" ************************* \n");
gotoxy(8,16);printf("ARTICLE ");
gotoxy(22,16);printf(" QUANTITE ");
gotoxy(36,16);printf(" MHT ");
gotoxy(50,16);printf(" TTC "); printf("\n");printf("\n\n\n");
for(i=0;i<d;i++){
gotoxy(8,18+i); textcolor(RED + BLINK);
printf("%s ",bts[i].article);
gotoxy(22,18+i);
printf(" %f ",bts[i].quantite);
gotoxy(36,18+i);
printf(" %f ",bts[i].mht);
gotoxy(50,18+i);
printf(" %f ",bts[i].ttc);
printf("\n\n");
}
getch();
}

10 réponses

Stupeflip Messages postés 391 Date d'inscription jeudi 8 février 2007 Statut Membre Dernière intervention 4 décembre 2007 94
28 févr. 2007 à 16:13
Salut,

Dans ton scanf, mais %i et réessaye :)

Tiens moi au courant

(il y a un E à saisie !)
0
avant tt merci pour votre rép ,j'ai essayer ta suggestion mais ca marche tjr pas : ca donne le mm résultat.
NB: le pro marche tres bien si je met les variables (ttc&mht&contite&prix) en type int(entier).
0
Stupeflip Messages postés 391 Date d'inscription jeudi 8 février 2007 Statut Membre Dernière intervention 4 décembre 2007 94
1 mars 2007 à 09:44
Salut,

C'est bizarre, le programme marche très bien chez moi au niveau des scanf... Ca plante bien à la saisie de 'quantité' c'est bien ça ??
0
andejen Messages postés 148 Date d'inscription jeudi 9 juin 2005 Statut Membre Dernière intervention 30 juillet 2008 22
1 mars 2007 à 09:55
Moi sans toucher a rien dans ton programme tout marche parfaitement...
0

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

Posez votre question
mounir234 Messages postés 174 Date d'inscription mercredi 28 février 2007 Statut Membre Dernière intervention 1 mars 2016 12
1 mars 2007 à 13:50
slt
pour stupeflip : oui ca plante lorsque j'entre l'article et je fait entrer
le printf("donner la quan..."); ne ce lance même pas .
pour andejen : est ce que tu as copier mon prog sans ri1 remplacer
compiler et saisi et tt a bien marcher !! si oui j'espert que tu refaira le mm travaile mais cette fois en saisisant 3 article et voire le resultat ,si ca marche j'espert que tu m'envoyera le nom et la version du compilateur que tu utilise.
et merci .
0
andejen Messages postés 148 Date d'inscription jeudi 9 juin 2005 Statut Membre Dernière intervention 30 juillet 2008 22
1 mars 2007 à 14:02
J'utilise visual studio 6 (ce n'est pas un freeware...) mais il doit surement complier egalement sur visual studio express 2005.
J'ai juste retirer tes fonction de mise en forme qui ne passent pas sous mon compilateur telles que:
gotoxy()
clrscr();
textbackground();
textcolor();
Par contre je peux saisir plus de 3 articles sans problemes.
0
Stupeflip Messages postés 391 Date d'inscription jeudi 8 février 2007 Statut Membre Dernière intervention 4 décembre 2007 94
1 mars 2007 à 14:03
Pareillement avec Visual C++ 6.0.
0
mounir234 Messages postés 174 Date d'inscription mercredi 28 février 2007 Statut Membre Dernière intervention 1 mars 2016 12
1 mars 2007 à 14:56
scanf : floating point formats not linked
c le message qui s'affiche quant le prog plante je lé vu apres avoir suprimer tt les instruction secondaire come textbackground, clrscr et gotoxy alors si qq1 sait ce que ce message veut dire ...stp.
0
Stupeflip Messages postés 391 Date d'inscription jeudi 8 février 2007 Statut Membre Dernière intervention 4 décembre 2007 94
1 mars 2007 à 15:12
Tu travaille sur Borland C++ non ?

Ton nom d'article est en 1 seul mot n'est-ce pas ?? scanf ne supporte pas l'espace.
0
mounir234 Messages postés 174 Date d'inscription mercredi 28 février 2007 Statut Membre Dernière intervention 1 mars 2016 12
1 mars 2007 à 18:16
nn c pas le nom de l'article car si je change les variable de type "float" en "int" le prog marche tres bien et si je change seulement le type quantite en "int" le prog ne se plante plu dans "donner la quantite" mais dans "donner le prix".
0
mounir234 Messages postés 174 Date d'inscription mercredi 28 février 2007 Statut Membre Dernière intervention 1 mars 2016 12
1 mars 2007 à 15:30
nn je travaille avec le Turbo C++ IDE c le plu ancien je veut pas travailler sur les nouvells version parceque ca donne bcp d'aide et je voudrais etre indepondent du compilateur (pour l'instant au moin).
0