cs_fizou1989
Messages postés17Date d'inscriptionsamedi 7 novembre 2009StatutMembreDernière intervention 9 janvier 2011
-
1 avril 2010 à 20:47
deadhand
Messages postés152Date d'inscriptiondimanche 15 octobre 2006StatutMembreDernière intervention27 août 2010
-
29 avril 2010 à 09:54
bonjour;
j ai besoin d 'aide je suis entrain de realiser un mini projet GMAO gestion de maintenance assistee par ordinateur ,
j ai realiser un programme mais il ne marche pas apres compilation ,il consiste a signaler une panne survenu ,apres verifie si la piece existe dans le stock il la remplace sinon il se dirrige vers l'achat .
I need your help ,merci.
#include<conio.h>
#include<stdio.h>
void panne (char[] ,int, char[]);
int verifie(int);
typedef struct
{
char type[100];
char marque[100];
int num;
}stock;
main()
{ stock t[100];
char type[100];
char marque[100];
int numero;
int y;
int l;
int n;
int i;
int boolenne=0;
int prix;
printf("entrer le nombre de pieces qui existent dans le stock");
scanf("%d",&n);
for(i=0;i<n;i++)
{
printf("entrer la marque de la piece %d\n",i);
scanf("%s",t[i].marque);
printf("entrer le type de la piece %d\n",i);
scanf("%s",t[i].type);
printf("entrer le numero de la piece %d_n",i);
scanf("%d",t[i].num);
}
scanf("%d",&boolenne);
if(boolenne==1)
{
printf("il y a une piece en panne ");
panne (type,numero,marque);
y=verifie(numero);
if(y==1)
{
replace(type,numero,marque);
}
else
{
achat(type,numero,marque,prix);
printf("le prix d'achat %d",prix);
scanf("%d",&prix);
}
printf("entrer le numero de la piece en panne %d",numero);
scanf("%d",&numero);
printf("entrer le type de la piece en panne %s",type);
scanf("%s",type);
printf("entrer la marque de la piece en panne %s",marque);
scanf("%s",marque);
}
int verifie(int numero)
{ stock t[100];
int y;
char panne[100];
int matricule;
int i=0;
int n;
printf("entrer le nombre de pieces dans le stock ");
scanf("%d",&n);
for(i=0;i<=n;i++)
{
if(numero == t[i].num)
{
printf("existe dans le stock");
break;
y=1;
}
else
{
printf("la piece n'existe pas");
y=0;
}
}
return(y);
}
void replace(char type[],int numero,char marque[])
{
int i;
int n;
stock t[100];
char categorie[100];
printf("entrer la categorie de la piece en panne???\n");
scanf("%s",categorie);
printf("entrer le numero de la piece en panne ???\n");
scanf("%d",&numero);
printf("entrer le nombre de piece ");
scanf("%d",&n);
for(i=0;i<=n;i++)
{
if(numero == t[i].num)
{ type=t[i].type;
marque=t[i].marque;
printf("le nouveau type est %s", t[i].type);
printf("la nouvelle marque est %s",t[i].marque);
break;
}
else
{
printf(" on peut pa remplacer la piece");
}
}
}
void achat( char type[],int numero,char marque[],int prix)
{
printf("achat de la piece de type %s de marque %s de numero %d de prix %d\n");
scanf("%s %s %d %d",type,marque,numero);
}
y=0;
for(i=0;i<=n;i++)
{
if(numero == t[i].num)
{
printf("existe dans le stock");
y=1;
break;
}
}
if (y==0)
printf("la piece n'existe pas");
Idem pour cette boucle !
for(i=0;i<=n;i++)
{
if(numero == t[i].num)
{ type=t[i].type;
marque=t[i].marque;
printf("le nouveau type est %s", t[i].type);
printf("la nouvelle marque est %s",t[i].marque);
break;
}
else
{
printf(" on peut pa remplacer la piece");
}
}
C'est pas très clair ce que tu as essayé de faire ici:
achat(type,numero,marque,prix);
printf("le prix d'achat %d",prix);
scanf("%d",&prix);
prix n'est pas initialisé et tu demandes de l'afficher dans la fonction achat puis tu demandes de rentrer sa valeur (après une série d'autre) dans la même fonction pour l'afficher encore une fois après la fonction et tu redemandes un prix après. C'est confus ton truc.
Répare déjà ces erreurs et ca ira surement un peu mieux.
cs_fizou1989
Messages postés17Date d'inscriptionsamedi 7 novembre 2009StatutMembreDernière intervention 9 janvier 2011 5 avril 2010 à 01:19
le meme probleme
bn il me damnde combien de piece existent dans le stock kant j'entre le nombre apres il me demande le type l a marque le numero apres il arrete il signale ke le programme ne marche plus
deadhand
Messages postés152Date d'inscriptiondimanche 15 octobre 2006StatutMembreDernière intervention27 août 20103 5 avril 2010 à 12:10
Ah ben dis donc !!! Ca y va les erreurs de syntaxe !!!! ^^
printf("entrer le numero de la piece %d_n",i);
Tu as mis '_n' au lieu de '\n' !!!!
Après je vois pas trop pourquoi ca plante. Tu pourrais corriger les erreurs que je t'ai signalé , réessayer et si ca plante, ré-afficher le nouveau code avec la coloration syntaxique (comme je l'ai fait)
typedef struct
{
char type[100];
char marque[100];
int num;
}stock;
main()
{ stock t[100];
char type[100];
char marque[100];
int numero;
int y;
int l;
int n;
int i;
int boolenne=0;
int prix;
printf("entrer le nombre de pieces qui existent dans le stock");
scanf("%d",&n);
for(i=0;i<n;i++)
{
printf("entrer la marque de la piece %d\n",i);
scanf("%s",t[i].marque);
printf("entrer le type de la piece %d\n",i);
scanf("%s",t[i].type);
printf("entrer le numero de la piece %d_n",i);
scanf("%d",t[i].num);
}
scanf("%d",&boolenne);
if(boolenne==1)
{
printf("il y a une piece en panne ");
panne (type,numero,marque);
y=verifie(numero);
if(y==1)
{
replace(type,numero,marque);
}
else
{
achat(type,numero,marque,prix);
printf("le prix d'achat %d",prix);
scanf("%d",&prix);
}
printf("entrer le numero de la piece en panne %d",numero);
scanf("%d",&numero);
printf("entrer le type de la piece en panne %s",type);
scanf("%s",type);
printf("entrer la marque de la piece en panne %s",marque);
scanf("%s",marque);
}
int verifie(int numero)
{ stock t[100];
int y;
char panne[100];
int matricule;
int i=0;
int n;
printf("entrer le nombre de pieces dans le stock ");
scanf("%d",&n);
for(i=0;i<=n;i++)
{
if(numero == t[i].num)
{
printf("existe dans le stock");
break;
y=1;
}
else
{
printf("la piece n'existe pas");
y=0;
}
return(y);
}
void replace(char type[],int numero,char marque[])
{
int i;
int n;
stock t[100];
char categorie[100];
printf("entrer la categorie de la piece en panne???\n");
scanf("%s",categorie);
printf("entrer le numero de la piece en panne ???\n");
scanf("%d",&numero);
printf("entrer le nombre de piece ");
scanf("%d",&n);
y=0;
for(i=0;i<=n;i++)
{
if(numero == t[i].num)
{
printf("existe dans le stock");
y=1;
break;
}
}
if (y==0)
printf("la piece n'existe pas");
deadhand
Messages postés152Date d'inscriptiondimanche 15 octobre 2006StatutMembreDernière intervention27 août 20103 29 avril 2010 à 09:54
Honnetement et sans vouloir être méchant, ton programme est complétement illogique. Tu devrais le refaire en pensant bien à ce que tu veux pour chaque fonction car tu demandes par exemple le numero de la piece numero tant, tu veux une valeur sans l'initialiser. On dirait que tu as mal compris l'énoncé de ton problème.