IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

Gestion de stock


Sujet :

C

  1. #1
    Futur Membre du Club
    Inscrit en
    Décembre 2007
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 3
    Par défaut Gestion de stock
    bravo pour un debutant en tout cas c est bien.mais pourez vous m aider pour
    un programme de gestion stock voici le code que j ai fais mais ça ne marche pas
    je ne sais pas pourquoi svp aide moi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    #include<stdio.h>
    #include<conio.h>
    #define n 1
    void main()
    {
    int i,qt[n],prix[n],relicat,montcl, s,qtc,ver,choix;
    char pdt[n], code[n], codecl,rep;
    clrscr();
    printf("                              M E N U \a\a\n");
    printf("                     ------------------------\n\n");
    printf("\t\t 1-SAISIE DE TOUS LES PRODUITS DE L EPICERIE,LEURS QUANTITŠS ET LEURS PRIX\n");
    printf("\t\t 2-LA VENTE DES PRODUITS\n");
    printf("\t\t 3-LE PRIX TOTAL DE PRODUIT ET LE RELIQUAT A RETOURNER\n");
    printf("\t\t 4- POUR QUITTER LE PROGRAMME\n\n\n");
    printf("                         A VOUS DE CHOISIR\n");
    printf("                    .........................\n\n\n");
    printf("saisir choix\n");
    scanf("%d",&choix);
    while(choix<5)
    {
    if (choix==1)
    {
    printf("-SAISIE DE TOUS LES PRODUITS DE L EPICERIE,LEURS QUANTITŠS ET LEURS PRIX\n");
    for ( i=0; i<=n; i=i+1)
    {
    printf("saisir le produit ala position %d\n",i);
    scanf("%s",&pdt);
    printf("saisir la quantitŠ a la position %d\n",i);
    scanf("%d",&qt[i]);
    printf("saisir le prix a la position %d\n",i);
    scanf("%d",&prix[i]);
    printf("saisir le code du produit\n");
    scanf("%s",&code[i]);
    }
    }
    if(choix==2)
    {
    printf("LA VENTE DES PRODUITS\n");
    printf("\n");
    s=0;
    printf("donner le code du produit\n");
    scanf("%s",&codecl);
    printf("saisir la quantitŠ commandŠe\n");
    scanf("%d",&qtc);
    printf(" appuyer o pour continuer\n");
    scanf("%s",&rep);
    while(rep=='o')
    {
    printf("donner le code du produit\n");
    scanf("%s",&codecl);
    printf("saisir la quantitŠ commandŠe\n");
    scanf("%d",&qtc);
    ver=0;
    for ( i=0; i<=n; i=i+1)
    {
    if(codecl==code[i] && qtc<=qt[i])
    {
    s=s+(prix[i]*qtc);
    ver=1;
    }
    }
    if(ver==0)
    {
    printf("produit non referencŠ ou superieure au stock\n");
    }
    else
    {
    printf("appuyer sur o pour continuer\n");
    scanf("%s",&rep);
    }
    }
    }
    if(choix==3)
    {
    printf("LE PRIX TOTAL DE PRODUIT ET LE RELIQUAT A RETOURNER\n");
    printf("\n");
    printf("afficher la somme est %d\n",s);
    printf("SAISIR le montant que le client … donner\n");
    scanf("%d",&montcl);
    relicat=montcl-s;
    printf("le relicat est %d\n",relicat);
    }
    else
    {
    printf("\t\t\BONNE JOURNEE\n\n");
    }
    }
    getch();
    }

  2. #2
    Expert confirmé
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Par défaut
    Pouvez-vous préciser où se situe votre problème.
    En attendant, il y a une erreur ici :

  3. #3
    Membre éclairé
    Inscrit en
    Janvier 2007
    Messages
    293
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 293
    Par défaut
    le code suivant est faux si tu cherche à saisir plusieurs produits, mais bon ton n vaut 1 donc ça veut dire que tu cherches à saisir un seul produit (mais alors pourquoi une boucle)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
    char pdt[n];
     
    printf("saisir le produit ala position %d\n",i);
    scanf("%s",&pdt);
    premièrement lorsque tu passes à scanf une chaine de caractère (%s) tu ne met pas & car le nom d'une chaine de caractère contient déjà l'adresse (en fait le nom d'une chaine de caractère est un pointeur sur la chaine - mais bon tu dois pas être arrivé aux pointeurs).

    ce qui se passe dans ton programme c'est que tu cherches à copier une chaine de caractère toujours dans la même chaine pdt. ce qui fait qu'a chaque fois que tu rentres dans la boucle de saisie tu écrases le nom du produit précédent par le suivant.

    Il faut que tu déclare une matrice pdt[n][50]

    et faire un scanf ("%s", pdt[i]);

    à ce moment tes noms seront stockés dans la matrice comme suit

    |c|o|c|a|\0|
    |d|a|n|o|n|e|\0|
    |l|a|i|t|\0|

    il y a d'autres erreurs mais celle ci est la plus grosse

  4. #4
    Candidat au Club
    Inscrit en
    Mai 2006
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 3
    Par défaut
    Bonsoir
    tu a besoin de revoir ton code, essaye d'appliquer un switch, et de voir comment on lit une chaîne de caractère et vérifie bien l emplacement de ton while.

  5. #5
    Futur Membre du Club
    Inscrit en
    Décembre 2007
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 3
    Par défaut
    Citation Envoyé par exhortae Voir le message
    le code suivant est faux si tu cherche à saisir plusieurs produits, mais bon ton n vaut 1 donc ça veut dire que tu cherches à saisir un seul produit (mais alors pourquoi une boucle)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
    char pdt[n];
     
    printf("saisir le produit ala position %d\n",i);
    scanf("%s",&pdt);
    premièrement lorsque tu passes à scanf une chaine de caractère (%s) tu ne met pas & car le nom d'une chaine de caractère contient déjà l'adresse (en fait le nom d'une chaine de caractère est un pointeur sur la chaine - mais bon tu dois pas être arrivé aux pointeurs).

    ce qui se passe dans ton programme c'est que tu cherches à copier une chaine de caractère toujours dans la même chaine pdt. ce qui fait qu'a chaque fois que tu rentres dans la boucle de saisie tu écrases le nom du produit précédent par le suivant.

    Il faut que tu déclare une matrice pdt[n][50]

    et faire un scanf ("%s", pdt[i]);

    à ce moment tes noms seront stockés dans la matrice comme suit

    |c|o|c|a|\0|
    |d|a|n|o|n|e|\0|
    |l|a|i|t|\0|

    il y a d'autres erreurs mais celle ci est la plus grosse
    merçi de votre aide.
    mais j ai mis n=1
    parce que j utillise un tableau de produit et dans ce cas j aurais 2 produits puisque en c le tableau commence par 0;
    mon probleme c que je ne peux pas utiluser les caractere avec %c sans ne marche pas ;et au niveau de la vente apres la saisie des produits de la quantites des prix il refuse de prendre le premiere produits il prend en compt seulement le second produit.meme pour la somme.je vous envoie le nouveau code .je vous remerci davance.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    #include<stdio.h>
    #include<conio.h>
    #define n 1
    void main()
    {
    int i,qt[n],prix[n],relicat,montcl, s,qtc,ver;
    char pdt[n], code[n], codecl,rep,choix;
    clrscr();
    do
    {
    printf("                              M E N U \a\a\n");
    printf("                     ------------------------\n\n");
    printf("\t\t 1-SAISIE DE TOUS LES PRODUITS DE L EPICERIE,LEURS QUANTITŠS ET LEURS PRIX\n");
    printf("\t\t 2-LA VENTE DES PRODUITS\n");
    printf("\t\t 3-LE PRIX TOTAL DE PRODUIT ET LE RELIQUAT A RETOURNER\n");
    printf("\t\t 4- POUR QUITTER LE PROGRAMME\n\n\n");
    printf("                         A VOUS DE CHOISIR\n");
    printf("                    .........................\n\n\n");
    printf("saisir choix\n");
    choix=(char)getchar();
    flushall();
    switch(choix)
    {
     
    case'1':printf("-SAISIE DE TOUS LES PRODUITS DE L EPICERIE,LEURS QUANTITŠS ET LEURS PRIX\n");
    for ( i=0; i<=n; i=i+1)
    {
    printf("saisir le produit ala position %d\n",i);
    scanf("%s",&pdt);
    printf("saisir la quantitŠ a la position %d\n",i);
    scanf("%d",&qt[i]);
    printf("saisir le prix a la position %d\n",i);
    scanf("%d",&prix[i]);
    printf("saisir le code du produit\n");
    scanf("%s",&code[i]);
    }
    break;
    case '2':printf("LA VENTE DES PRODUITS\n");
    printf("\n");
    s=0;
    printf("donner le code du produit\n");
    scanf("%s",&codecl);
    printf("saisir la quantitŠ commandŠe\n");
    scanf("%d",&qtc);
    printf(" appuyer o pour continuer\n");
    scanf("%s",&rep);
    while(rep=='o')
    {
    printf("donner le code du produit\n");
    scanf("%s",&codecl);
    printf("saisir la quantitŠ commandŠe\n");
    scanf("%d",&qtc);
    ver=0;
    for ( i=0; i<=n; i=i+1)
    {
    if(codecl==code[i] && qtc<=qt[i])
    {
    s=s+(prix[i]*qtc);
    ver=1;
    }
    }
    if(ver==0)
    {
    printf("produit non referencŠ ou superieure au stock\n");
    }
    else
    {
    printf("appuyer sur o pour continuer\n");
    scanf("%s",&rep);
    }
    }
    break;
    case '3':printf("LE PRIX TOTAL DE PRODUIT ET LE R ELIQUAT A RETOURNER\n");
    printf("\n");
    printf("afficher la somme est %d\n",s);
    printf("SAISIR le montant que le client … donner\n");
    scanf("%d",&montcl);
    relicat=montcl-s;
    printf("le relicat est %d\n",relicat);
    break;
    default:
    printf("Saisie incorrecte\n");
    break;
    }
    }
    while(choix!=5);
    getch();
    }

Discussions similaires

  1. Gestion de stock : Formule en section Détail
    Par JeremieT dans le forum IHM
    Réponses: 4
    Dernier message: 16/12/2005, 17h02
  2. Gestion de stock CMUP après chaque entrée
    Par priest69 dans le forum Access
    Réponses: 9
    Dernier message: 13/12/2005, 10h03
  3. Gestion de stock - Prix Moyen Pondéré
    Par hugo69 dans le forum Access
    Réponses: 33
    Dernier message: 28/10/2005, 17h03
  4. Analyses du progiciel de gestion de stock COSWIN CS 5.2
    Par africanroseonlyone dans le forum Autres Logiciels
    Réponses: 1
    Dernier message: 13/10/2005, 15h01
  5. gestion des stocks
    Par gekondo dans le forum Access
    Réponses: 1
    Dernier message: 30/09/2005, 11h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo