Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1358 connectés 

  FORUM HardWare.fr
  Programmation
  C

  fonctionnement getchar en C

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

fonctionnement getchar en C

n°2109929
Arslan310
Posté le 05-11-2011 à 17:28:45  profilanswer
 

Bonjour à tous, j' ai un projet à faire et dans mon programme je dois demander à l' utilisateur d' entrer un caractère entre A, R, Q, D,V,P et F.
J' ai donc essayé comme on a fait en cour de déclarer au début du programme dans le void main():
 

Citation :

char codemaj;


 
puis au moment où l' on demander à l' utilisateur d' entrer le code, je fais:
 

Citation :

printf("entrez le code de maj" );
codemaj=getchar();
switch(codemaj)
{case 'A': printf("blabla" );
break;
case 'R':
printf("ouaiouai" );
break;
}


 
Mais je ne sais pas pourquoi mon programme s' arrête après mon "printf("entrez le code de maj" );" , quelle est le problème? merci pour votre aide :)
 
 


---------------
Feedback1:http://forum.hardware.fr/hfr/AchatsVentes/Feedback/feed-back-arslan310-sujet_486576_1.htm
mood
Publicité
Posté le 05-11-2011 à 17:28:45  profilanswer
 

n°2109934
breizhbugs
Posté le 05-11-2011 à 17:59:12  profilanswer
 

Qu'entends tu par  "mon programme s'arrête"? il plante?


---------------
Seul Google le sait...
n°2109936
Profil sup​primé
Posté le 05-11-2011 à 18:32:14  answer
 

Il attends un caractère, c'est ambigu !  :o

n°2109948
Arslan310
Posté le 05-11-2011 à 19:40:17  profilanswer
 

il plante oui mais avec un scanf("%s",...) ça marche donc je peux l' utiliser ?
Et je voulais aussi vous demander comment faire pour que le programme affiche un message d' erreur si on saisit un caractère différent de A R Q D V P F ??
il faut faire un if mais quoi mettre dedans ?


---------------
Feedback1:http://forum.hardware.fr/hfr/AchatsVentes/Feedback/feed-back-arslan310-sujet_486576_1.htm
n°2109960
ptitchep
Posté le 05-11-2011 à 20:59:08  profilanswer
 

Chez moi ça marche (R)
 
Pour le message d'erreur, il y a un cas par défaut dans un switch

Code :
  1. switch ()
  2. {
  3.   ...
  4.   default:
  5.      printf("Erreur\n" );
  6. }


 
 

Code :
  1. #include <stdio.h>
  2. int main()
  3. {
  4.   char codemaj;
  5.   printf("entrez le code de maj" );
  6.   codemaj=getchar();
  7.   switch(codemaj)
  8.   {
  9.   case 'A':
  10.     printf("blabla" );
  11.     break;
  12.   case 'R':
  13.     printf("ouaiouai" );
  14.     break;
  15.   default:
  16.     printf("Default\n" );
  17.   }
  18.   return 0;
  19. }


 
En passant, void main(), tu as appris ça en cours?


---------------
deluser --remove-home ptitchep
n°2109966
Arslan310
Posté le 05-11-2011 à 21:35:57  profilanswer
 

Ok merci je vais tester ça, void main() oui en cours pourquoi ?


---------------
Feedback1:http://forum.hardware.fr/hfr/AchatsVentes/Feedback/feed-back-arslan310-sujet_486576_1.htm
n°2109973
ptitchep
Posté le 05-11-2011 à 22:51:26  profilanswer
 

Un programme est censé retourner une valeur à la fin de son exécution. Cela permet d'utiliser son code de retour pour enchaîner des commandes par exemple. Ou pour l'utiliser dans un script genre

Code :
  1. if monProg; then
  2.    suite
  3. else
  4.    erreur
  5. fi
  6.  
  7. make && make modules_install
  8.  
  9. ...


 
En fait, je pensais que le prototype void main() avait disparu depuis un siècle ou deux.
 
http://en.wikipedia.org/wiki/Main_ [...] nd_C.2B.2B
 
Bien sûr, c'est juste une bonne habitude à prendre, ça marche aussi en void...
Si ce n'est pas indiscret, tu suis quelle formation?


Message édité par ptitchep le 05-11-2011 à 22:53:04

---------------
deluser --remove-home ptitchep
n°2110001
Arslan310
Posté le 06-11-2011 à 13:04:08  profilanswer
 

Je suis en DUT informatique à paris descartes


---------------
Feedback1:http://forum.hardware.fr/hfr/AchatsVentes/Feedback/feed-back-arslan310-sujet_486576_1.htm
n°2110066
Joel F
Real men use unique_ptr
Posté le 06-11-2011 à 22:05:09  profilanswer
 

va falloir voir a en changer :o


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  fonctionnement getchar en C

 

Sujets relatifs
colorer une carte geographique creé par openGL C++[ Divers / C ] Ecrire pour un afficheur LCD
[C] Modifier un tableau existant ... pour bouger un pion ![C# / .Net] Migration OS 32Bits vers OS 64Bits. Quid des Perfs?
[C#] FormView, edit/insert mode[C] programme cherche les racines des polynomes
[C] trouver la longueur de la plus longue suite decroissante en CC++, Compter des caractères ...
fonctionnement d'un group by 
Plus de sujets relatifs à : fonctionnement getchar en C


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR