begin process at 2010 02 10 01:50:36
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Divers

 > 

Débutant(e)

 > 

intruction zappee !


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

intruction zappee !

vendredi 19 janvier 2007 à 20:17:46 | intruction zappee !

chris5874

Bonjour,
j'ai commence un petit programme en C. Malheureusement etant debutant, j'ai du surement negliger un detail car une instruction qui est censee attendre une entree tapee au clavier est tout simplement zappee...
je precise que j'utilise gets pour capter une entree au clavier, ne sachant pas si l'entree comporte un espace ou non(donc non compatible avec scanf)
Je vous remercie d'avance pour toute l'aide que vous pourrez m'apporter.
ci dessous le code:

#include <stdio.h>
#include <time.h>

void ajout_produit(void)
{
    char cat_produit[50];
    char nom_produit[50];
    char code_barre[50];

    puts("menu ajout de produit\n");
    printf("veuillez entrer la categorie du produit:\n");
    sleep(1);
    gets(&cat_produit);
    puts("veuillez entrer le nom du produit");
    gets(&nom_produit);
    puts("veuillez scanner le code barre du produit");
    gets(&code_barre);
    puts("recapitulatif des informations");
    printf("categorie : ");
    puts(cat_produit);
    printf("nom du produit : ");
    puts(nom_produit);
    printf("code barre scanne : ");
    puts(code_barre);
    return;
}

void menu(void)
{
    int choix=0;
    puts("menu principal\n");
    puts("1.ajouter un produit");
    puts("2.effectuer une recherche d'un produit\n");
    puts("quelle action desirez vous effectuer?\n");
    scanf("%d",&choix);
    printf("vous avez choisi ");
    /*printf("%d",choix);*/
    if (choix==1)
    {
        printf("d'ajouter un produit\n");
        ajout_produit();
    }
    else
    {
        printf("de rechercher un produit...bon courage!\n");
    }
    return;
}


main(void)
{
    puts("debut du programme\n");
    puts("chargement du menu\n");
    menu();
    puts("fin du prog\n");
    return 0;
}
vendredi 19 janvier 2007 à 20:28:57 | Re : intruction zappee !

pepsidrinker

Dans tout ce qui touche au string de type CHAR, tu n'a pas a mettre l'opérateur d'addresse avant le nom du buffer.
et donc, pas de 'gets(&cat_produit);' mais bien 'gets(cat_produit);' seulement...


Pepsidrinker
vendredi 19 janvier 2007 à 20:57:15 | Re : intruction zappee !

chris5874

merci de ta reponse
en fait, grace a ton aide, j'ai reussi a supprimer des warning de compilation, par contre l'instruction gets est toujours malheureusement zappee... :'(



samedi 20 janvier 2007 à 21:11:02 | Re : intruction zappee !

pepsidrinker

Essais CIN. (et cin.ignore()).
char buffer1[255];
cin>>buffer1;



Pepsidrinker
dimanche 21 janvier 2007 à 08:34:51 | Re : intruction zappee !

chris5874

rebonjour,
j'ai tente de convertir ma source en c++ et utiliser cin, mais il semblerai que cin fasse exactement la meme chose que scanf (c'est a dire des qu'il y a un espace la fonction arrete d'enregistrer la saisie utilisateur
je te remercie pour ton aide.

dimanche 21 janvier 2007 à 16:12:20 | Re : intruction zappee !

pepsidrinker

CIN est une fonction (en fait c'est une variable, c'est l'opérateur >> la fonction) d'input, et donc, sans certaine fonction (donce celle de prendre une chaine avec les espace.)
Le fonction cin.getline() sert justement à  sa.

Voici comment l'utiliser:
char buff[255];
cin.getline(buff,254,'\n');

parametre 1 : ton buffer de type char
parametre 2 : le nombre de caractère a mettre dans le buffer
parametre 3: un charactère d'arrêt.  La fonction arrete de lire et on passe a l'autre instruction du code à la rencontre de se caractère.
'\n' est excellent dans ce cas, car c'est justement quand l'utilisateur tape ENTER que la fonction se termine.
Voila, tu a maintenant toute tes espace et de mon coté, rien ne squippe.
Pepsidrinker


Cette discussion est classée dans : code, printf, void, puts, produit


Répondre à ce message

Sujets en rapport avec ce message

Pb avec les printf [ par PierScher ] voici le code pour afficher un pendu :printf(" ++++++++++++++++++++++++\n");printf(" API Windows NT [ par Nebula ] Bonsoir !J'essaie de récupérer le propriétaire d'un fichier sur un volume NTFS, mais le système me retourne toujours un échec.... J'utilise le code su Pb peut etre de compilateur ?! Need Help please [ par Orezza ] Orezzasalut à tous, je ne comprends vraiment pas le Pb, le compilateur Visual C++ indique 0 erreur-0 warning, or kand j'execute mon prog des ke je ren Pb d'affichage avec des listes doublement chianées [ par Orezza ] Bonjour a tous,voila je dois faire un petit analyseur syntaxique, en ce moment j'en suis au prémice de mon code et j'ai dejà un Big problem d'affichag Probleme utilisation de fread [ par Trinita16 ] Bonjour, Voila le source d'un programme qui doit lire un fichier binaire. Mais je ne comprends pas l'executable systematiquement...Je pense qu'il y a pkoi c amarche pas !!!!!!!!!!! [ par zebrahead ] j'ai un souci pkoi ca marche paaa,ouinnn, aider moi sivoupléééé,thanks a tous les mecs qui touchent tellement qui sauront trouver la finte,#include#de besoin d'aide : liste chainée [ par SemBy ] salutjutilse une liste chainée pour pouvoir traité une structure.declaration de ma structure :struct etu{ char nom[25]; char prenom[25]; base de donne [ par bigNB ] bjr je doi realiser une connection a une base de donness.etan donne que j avais tres peu de temps j ai repris une source dun programmeurelle va correc Pb avec les classes [ par Rouliann ] Bonjour tout le monde!Alors comme je sais pas trop d'où vient le pb je vais afficher ma source et les erreurs qu'elle génère! lol//joueur.h#include <s Probleme Argument void* d'une fonction [ par Steph115 ] Bonjour,Pour info je travaille sous Linux en C++ j'ai une fonction definie comme ca : [Code]int ServeurSocket::emmetreSocket(void* trame, int taille){


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,530 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales