Facture en C
Fermé
O.A2
-
11 janv. 2008 à 01:53
juanpablo Messages postés 142 Date d'inscription mercredi 30 mai 2007 Statut Membre Dernière intervention 16 juin 2008 - 12 janv. 2008 à 15:02
juanpablo Messages postés 142 Date d'inscription mercredi 30 mai 2007 Statut Membre Dernière intervention 16 juin 2008 - 12 janv. 2008 à 15:02
A voir également:
- Facture en C
- Facture fnac ✓ - Forum Consommation & Internet
- Logiciel devis facture - Télécharger - Comptabilité & Facturation
- Retrouver une facture a la Fnac, possible ? - Forum Réseaux sociaux
- Duplicata de factur obligatoir pendant 5 ans? - Forum Vos droits sur internet
- Facture ryanair ✓ - Forum Consommation & Internet
7 réponses
tatou_38
Messages postés
1928
Date d'inscription
vendredi 21 avril 2006
Statut
Membre
Dernière intervention
5 août 2015
121
11 janv. 2008 à 18:38
11 janv. 2008 à 18:38
Il y a plein de monde pour t'aider, mais je pense que peu ont le courage de plonger dans ton code qui est d'une longueur certaine.
Essaye déjà de cibler où se trouve le problème pour que les membres du forum aillent plus facilement vers la zone en question !
Essaye de décrire les sympltôme que tu as observé
Précise ton soucis et tu auras probablement plus de réponses (en tous cas au moins la mienne !)
Essaye déjà de cibler où se trouve le problème pour que les membres du forum aillent plus facilement vers la zone en question !
Essaye de décrire les sympltôme que tu as observé
Précise ton soucis et tu auras probablement plus de réponses (en tous cas au moins la mienne !)
Re :
Oui le problème c'est dans les deux fonctions de modification et de suppression ils n y a aucun problème de syntaxe, mais ils ne marche pas avec le programme...
pouvez-vous m'aider svp...
c'est deux fonction la :
--------------------------
fonction suppréssion :
--------------------------
void Suppression_Article()
{
char dellibartic[32];
int j;
trouve=0;
fflush(stdin);
printf("\n--------------------------------SUPPRESSION D´UNE Article------------------------------\n");
printf("Entrer le nom d´Article à supprimer \n");
gets(dellibartic);
fflush(stdin);
for(i=0;i<compteur;i++)
{
if (strcmp(art[i].libart,dellibartic)==0)
{
printf("Article a supprimer ? : \n");
printf(" : %d \n",art[i].codeart);
printf(" : %s \n",art[i].libart);
printf(" : %f \n",art[i].puart);
printf("Voulez vous supprimer cet article ? 1 OUI 2 NON\n");
scanf("%d",&choix);
if (choix==1)
{
printf("OK Article SUPPRIME : %s \n",art[i].libart);
trouve++;
for (j=i;j<compteur;j++)
{
art[j].codeart=art[j+1].codeart;
strcpy(art[j].libart,art[j+1].libart);
art[j].puart=art[j+1].puart;
}
}
}
}
if (trouve==0)
printf("Aucun Article supprime\n");
compteur-=trouve;
key=getch();
menu1();
}
****************************************************************************************
---------------------------
fonction modification :
---------------------------
void Modification_Article()
{
char modiflibartic[32];
trouve=0;
fflush(stdin);
printf("\n------------------------------MODIFICATION D´UNE Article--------------------------------\n");
printf("Entrer le nom d´article a modifier \n");
gets(modiflibartic);
fflush(stdin);
for(i=0;i<compteur;i++)
{
if (strcmp(art[i].libart,modiflibartic)==0)
{
printf("Enregistrement a modifier ? : \n",i);
printf(" : %d \n",art[i].codeart);
printf(" : %s \n",art[i].libart);
printf(" : %f \n",art[i].puart);
printf("Voulez vous modifier cet enregistrement ? 1 OUI 2 NON\n");
scanf("%d",&choix);
if (choix==1)
{
trouve++;
fflush(stdin);
printf("Entrer le code d´article\n");
scanf("%d",&art[i].codeart);
fflush(stdin);
printf("Entrer le libelle d´article\n");
gets(art[i].libart);
fflush(stdin);
printf("Entrer le prix unitaire d´article \n");
scanf("%d",&art[i].puart);
fflush(stdin);
}
}
}
if (trouve==0) printf("Aucun Article modifie \n");
key=getch();
menu1();
}
Oui le problème c'est dans les deux fonctions de modification et de suppression ils n y a aucun problème de syntaxe, mais ils ne marche pas avec le programme...
pouvez-vous m'aider svp...
c'est deux fonction la :
--------------------------
fonction suppréssion :
--------------------------
void Suppression_Article()
{
char dellibartic[32];
int j;
trouve=0;
fflush(stdin);
printf("\n--------------------------------SUPPRESSION D´UNE Article------------------------------\n");
printf("Entrer le nom d´Article à supprimer \n");
gets(dellibartic);
fflush(stdin);
for(i=0;i<compteur;i++)
{
if (strcmp(art[i].libart,dellibartic)==0)
{
printf("Article a supprimer ? : \n");
printf(" : %d \n",art[i].codeart);
printf(" : %s \n",art[i].libart);
printf(" : %f \n",art[i].puart);
printf("Voulez vous supprimer cet article ? 1 OUI 2 NON\n");
scanf("%d",&choix);
if (choix==1)
{
printf("OK Article SUPPRIME : %s \n",art[i].libart);
trouve++;
for (j=i;j<compteur;j++)
{
art[j].codeart=art[j+1].codeart;
strcpy(art[j].libart,art[j+1].libart);
art[j].puart=art[j+1].puart;
}
}
}
}
if (trouve==0)
printf("Aucun Article supprime\n");
compteur-=trouve;
key=getch();
menu1();
}
****************************************************************************************
---------------------------
fonction modification :
---------------------------
void Modification_Article()
{
char modiflibartic[32];
trouve=0;
fflush(stdin);
printf("\n------------------------------MODIFICATION D´UNE Article--------------------------------\n");
printf("Entrer le nom d´article a modifier \n");
gets(modiflibartic);
fflush(stdin);
for(i=0;i<compteur;i++)
{
if (strcmp(art[i].libart,modiflibartic)==0)
{
printf("Enregistrement a modifier ? : \n",i);
printf(" : %d \n",art[i].codeart);
printf(" : %s \n",art[i].libart);
printf(" : %f \n",art[i].puart);
printf("Voulez vous modifier cet enregistrement ? 1 OUI 2 NON\n");
scanf("%d",&choix);
if (choix==1)
{
trouve++;
fflush(stdin);
printf("Entrer le code d´article\n");
scanf("%d",&art[i].codeart);
fflush(stdin);
printf("Entrer le libelle d´article\n");
gets(art[i].libart);
fflush(stdin);
printf("Entrer le prix unitaire d´article \n");
scanf("%d",&art[i].puart);
fflush(stdin);
}
}
}
if (trouve==0) printf("Aucun Article modifie \n");
key=getch();
menu1();
}
tatou_38
Messages postés
1928
Date d'inscription
vendredi 21 avril 2006
Statut
Membre
Dernière intervention
5 août 2015
121
11 janv. 2008 à 22:06
11 janv. 2008 à 22:06
Lignes 3 et 4 :
#include <conio.h> // blanc entre include et <..> !
#define N 20 // pas de = dans une definition de macro. Attention, tou les N vont être remplaçés par 20 !!!!!
// d'où necessité de choix d'un nom de macro plus unique !!!
Tu ne sors de la boucle for(i=0;i<compteur;i++) {.......} que lorsque tous les éléments sont effacés un à un avec saisie de chaque.
Il faudrait en sortir à après une suppression ou quand on veut cesser de supprimer des enregistrements !
#include <conio.h> // blanc entre include et <..> !
#define N 20 // pas de = dans une definition de macro. Attention, tou les N vont être remplaçés par 20 !!!!!
// d'où necessité de choix d'un nom de macro plus unique !!!
Tu ne sors de la boucle for(i=0;i<compteur;i++) {.......} que lorsque tous les éléments sont effacés un à un avec saisie de chaque.
Il faudrait en sortir à après une suppression ou quand on veut cesser de supprimer des enregistrements !
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
juanpablo
Messages postés
142
Date d'inscription
mercredi 30 mai 2007
Statut
Membre
Dernière intervention
16 juin 2008
10
11 janv. 2008 à 23:20
11 janv. 2008 à 23:20
bonsoir
dans suppression la variable compteur n'est pas mise à jour si trouvé
plus loin
if (trouve==0)
compteur-=trouve; ????
dans suppression la variable compteur n'est pas mise à jour si trouvé
plus loin
if (trouve==0)
compteur-=trouve; ????
Re:
le programme ne marche pas encore :(
je ne sais pas quoi faire
compteur-=trouve; c'est pour retourner à la vrai valeur du conteur (elle est de +1) <=> compteur=compteur-trourve
le programme ne marche pas encore :(
je ne sais pas quoi faire
compteur-=trouve; c'est pour retourner à la vrai valeur du conteur (elle est de +1) <=> compteur=compteur-trourve
juanpablo
Messages postés
142
Date d'inscription
mercredi 30 mai 2007
Statut
Membre
Dernière intervention
16 juin 2008
10
12 janv. 2008 à 15:02
12 janv. 2008 à 15:02
salut
permets moi d'insister
dans suppression compteur n'est pas incrementé donc on voit toujours le meme nbre de fiches
compteur=compteur-trourve ne fait rien dans la condition if (trouve==0) donc pourquoi cette ligne?
permets moi d'insister
dans suppression compteur n'est pas incrementé donc on voit toujours le meme nbre de fiches
compteur=compteur-trourve ne fait rien dans la condition if (trouve==0) donc pourquoi cette ligne?
tatou_38
Messages postés
1928
Date d'inscription
vendredi 21 avril 2006
Statut
Membre
Dernière intervention
5 août 2015
121
12 janv. 2008 à 10:45
12 janv. 2008 à 10:45
As-tu pensé à utiliser un debugger ?
C'est la solution la meilleure et la plus efficace pour cerner ton problème !
Ainsi tu peux exécuter ton programme pas-à-pas et observer ce qui se passe réellement !
C'est la solution la meilleure et la plus efficace pour cerner ton problème !
Ainsi tu peux exécuter ton programme pas-à-pas et observer ce qui se passe réellement !