Aide en language C

mounir234 Messages postés 174 Date d'inscription   Statut Membre Dernière intervention   -  
mounir234 Messages postés 174 Date d'inscription   Statut Membre Dernière intervention   -
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   Statut Membre Dernière intervention   94
 
Salut,

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

Tiens moi au courant

(il y a un E à saisie !)
0
mounir234
 
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   Statut Membre Dernière intervention   94
 
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   Statut Membre Dernière intervention   22
 
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   Statut Membre Dernière intervention   12
 
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   Statut Membre Dernière intervention   22
 
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   Statut Membre Dernière intervention   94
 
Pareillement avec Visual C++ 6.0.
0
mounir234 Messages postés 174 Date d'inscription   Statut Membre Dernière intervention   12
 
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   Statut Membre Dernière intervention   94
 
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   Statut Membre Dernière intervention   12
 
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   Statut Membre Dernière intervention   12
 
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