begin process at 2012 02 10 20:10:33
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Divers

 > 

Débutant(e)

 > 

C en Console, saisis à la volée et reconnaissance des caractères frappés (getch() ou tutre ??


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

C en Console, saisis à la volée et reconnaissance des caractères frappés (getch() ou tutre ??

lundi 22 juin 2009 à 17:07:37 | C en Console, saisis à la volée et reconnaissance des caractères frappés (getch() ou tutre ??

luckyalan

Bonjour je  rebebute en C EN CONSOLE après 20 ans d'arret. (avec le tuto de m@teo)
je n'arrive plus à faire les lignes de code permettant de saisir à la volée 50*20 et que le programme stocke 50 et 20 dans 2 variables et reconnaisse que * correspond à "mulptiplier"
pour l'instant je mets 50 dans une variable avec scanf, puis j'utilise getch() pour entrer le signe de l'opération, mais je voudrais que le programme permette à l'utilisateur de saisir au clavier sans se poser de question
(pour info ci-dessous mon bout de code qui marche mais ne correspond pas à ce que j'aimerai)
merci à tous

#include

<stdio.h>

#include

<stdlib.h>

#include

<string.h>

 

int

main(int argc, char *argv[])

{

int total=0, sousTotal=0, nb1=0, nb2=0, nb3=0;

char action=' ';

//CALCULETTE

printf(

"saisis le nb1 entre 1 et 100\n");

scanf(

" %ld",&total);

while

(action!=27)

{

printf(

"quelle operation ?\n");

action=getch();

// ca recupere la saisie d'une seule touche SANS faire ENTREE

printf (

" nombre initial = %ld, et l operation est %c \n",total, action);

switch (action)

{

case 42:// le symbole ASCII correspond à *

printf(

"TU VEUX MULTIPLIER PAR COMBIEN ? \n");

scanf(

" %ld",&nb2);

total = total*nb2;

printf (

" nouveau total = ancien total*nb2, donc total = %ld\n", total);

break;

case 43:// le symbole ASCII correspond à +

printf(

"TU VEUX AJOUTER COMBIEN ? \n");

scanf(

" %ld",&nb2);

total = total+nb2;

printf (

"nouveau total = ancien total+nb2, donc total = %ld\n", total);

break;

case 27:// le symbole ASCII correspond à ESC, c'est à dire ECHAP

printf (

"\n\n\n TU AS FAIT ECHAP Merci, au revoir\n\n\n");

break;

case 48:// le symbole ASCII 48 correspond au chiffre 0

printf (

"\n\n\n tu as saisi 0 pour que je remettre le compteur à zero,");

printf (

"\n OK, tu peux redemarrer une opération si tu veux\n\n"); total = 0;

break;

// Alex, à toi de continuer : - correspond à 45, / correspond à 47, etc...

}

}

system (

"PAUSE");

return

0; /* le prog renvoie 0 puis s'arrete*/

}


quand on veut on peut
lundi 22 juin 2009 à 17:26:47 | Re : C en Console, saisis à la volée et reconnaissance des caractères frappés (getch() ou tutre ??

debutant VB

Membre Club
Réponse acceptée !
Je n'ai pas tout compris pour ce que tu attendais ("je voudrais que le programme permette à l'utilisateur de saisir au clavier sans se poser de question" --> c'est à dire ?)
Le code suivant peut-il t'aider ?

#include <stdio.h>
#include <stdlib.h>

int Operation(char, int, int);

int main(void)
{
    char OpType; int Op1, Op2;
    printf("Operation : ");
    scanf("%ld", &Op1);
    scanf("%c", &OpType);
    scanf("%ld", &Op2);
    printf("\nResultat : %ld.\n", Operation(OpType, Op1, Op2));
    system("PAUSE");
    return 0;
}

int Operation(char OpType, int Op1, int Op2)
{
    switch (OpType)
    {
        case '*':
            return Op1 * Op2;
        case '+':
            return Op1 + Op2;
        // etc ...
        default:
            break;
    }
    return 0;
}

lundi 22 juin 2009 à 17:50:50 | Re : C en Console, saisis à la volée et reconnaissance des caractères frappés (getch() ou tutre ??

luckyalan

merci de m'avoir répondu.
cela ne correspond pas à ce que je recherche et que j'ai un peu de difficulté à exprimer, je réessaye :
je voudrais qu'on saisisse au clavier (sans arrêter) "50*20=" et que le programme reconnaisse le chaque caractère et transforme la saisie en 2 variables (op1 = 50, op2=20) et retourne 50*20=1000 (evidemmment c'est un exemple) ce que je veux c'est qu'à chaque frappe le prog analyse. avec getch() c'est possible, mais je ne sais pas comment lui faire enregistrer 5,0,*,2,0,= et transformer tout ca en 50*20=1000

quand on veut on peut
lundi 22 juin 2009 à 18:20:16 | Re : C en Console, saisis à la volée et reconnaissance des caractères frappés (getch() ou tutre ??

debutant VB

Membre Club
Réponse acceptée !
Je ne l'ai pas vraiment regardé, mais un code de ce genre : http://www.cppfrance.com/codes/EVALUATEUR-EXPRESSION_37828.aspx   fonctionnerait sans doute à partir d'un tableau de caractères créé grâce à getch() (fonction evaluer_expression(cTab)).
Sinon, je pense que tu pourras peut-être trouver ce qu'il te faut en recherchant quelque chose du genre "C++ évaluer expressions" (par exemple : http://www.cppfrance.com/codes/ALGORITHME-EVALUER-EXPRESSIONS-ARITHMETIQUES_47952.aspx), mais bon, je ne suis qu'un débutant en C++ (comme l'indique mon pseudo que je n'ai toujours pas pu changer ... ;)), donc je me trompe peut-être (j'essaye juste d'aider mais j'y arrive très rarement ^^).
NB: Il est important de valider le "Réponse acceptée !" une fois qu'on a répondu à ta question, mais ne le mets pas si je n'y ai pas répondu !
(ça incite les personnes à ne pas regarder le sujet - car soit-disant clos)
lundi 22 juin 2009 à 19:00:59 | Re : C en Console, saisis à la volée et reconnaissance des caractères frappés (getch() ou tutre ??

luckyalan

merci "debutant VB" et bien tu vois que tu peux rendre service, toi qui en doutais.
Le lien http://www.cppfrance.com/codes/ALGORITHME-EVALUER-EXPRESSIONS-ARITHMETIQUES_47952.aspx contient toutes les réponses à mes questions, et ne sachant pas "ce que je cherchais" je ne l'aurai jamis trouvé sans ton aide.
merci infiniment à toi ! ;o))
bon, va falloir que je bosse maintenant c'est trouvé, mais c'est pas gagné.
Amitiés
Alain

quand on veut on peut


Cette discussion est classée dans : printf, total, nb2, ld, correspond


Répondre à ce message

Sujets en rapport avec ce message

[C++] Fenetre Bloquer lors de la recuperation de packets sous WinPcap [ par chris5 ] Bonjour a tous, je suis débutant amateur en programmation c++ et j'ai actullement un probleme avec WinPcap : Je n'arrive pas a faire de lecture de pac prob de virgule pour disision [ par stefbuet ] oui je sais c tt c** mais j'ai un trou de mémoire, car j'ai arrété le C pendant un pti moment et donc je me souvien plus trop d'un truc :pour faire l' probleme avec les if et else [ par alexfr34 ] alexfr34 Bonjour, j'ai perdu le fil avec le chat je ne comprends pas trop le mode d'emploi quelqu'un Besoin d'aide pour ce programme [ par ibnoul ] Salut j'aimerai avoir de l'aide a propos de ce programme en c++ il me sigale des errreurs et je ne parvient pas a les corriger. On me demande creer un calcule pondéeé en c [ par alix46 ] Bonjour, je bloque sur un programme( en c) qui demande les notes obtenues dans un cours ( /20), le stocker dans un vecteur. dans un autres vecteurs l Heure d'été [ par BastienL21 ] Bonjour tout le monde, Etant en train de programmer un mini-OS (tournant sous Windows XP), je suis confronté à un problème qui ne doit pas être très VOID [ par langenoir7712 ] AIDER MOI SVP JE VEUX LE MEME PROGRAMME MAIS MTN AVEC UN VOID POUR NE PAS AVOIR TOUT CE BLABLA REPONDEZ MOI SVPMERCI D'AVANCE#include #include #includ [c] bug dans un code [ par novocain3 ] bonjour, Newbi en programmation, je me suis lancé dans la creation d'un code en [c] qui doit inscrir les valeur d'un tableau à 2 dimensions dans un ta Calculatrice Scientifique [ par Makia42 ] Bonjour tout le monde, Je travaille sur l'écriture d'une calculatrice simple fonctionnant de la manière suivante : - Je déclare PI comme une constan [Débutant ] Créer une calculatrice [ par rockerguitar ] Bonsoir à tous !Je suis nouveau dans le monde de la programmation. J'ai commencé il y a 3 jours. Mon projet est de créer un jeu musical sur la Nintend


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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,733 sec (4)

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