[c,c++] saisie d'entiers

saisie d'entiers [c,c++] - C++ - Programmation

Marsh Posté le 26-02-2003 à 20:02:01    

bonjour, je n'ai pas vraiment de connaissences profonde en c et c++. Mon prof m'a demandé de faire ca :
 
une fct de saisie pour des entier, de type  

int saisirentier(void);


 
et les contraintes :
 
- permettre de faire merche arriere dans la saisie
- un ou pas de signe : ++3 --> +3
- pas de zero non significatifs : 003 --> 3
- en echo, uniquement les chiffres ( avec ctype.h je croit)
- pas de paramatres en entrée (on s'en doute  :sarcastic: )
- valeur de retour : entier saisi
 
 
je voit pas trop comment faire, a part une boucle qui regarde tant que le char entrer n'est pas enter ( '/n'  :??: ) et qui additionne une variable int ( - 42 je croit).
 
voila mon bout de code :
 

Code :
  1. int saisirentier (void){
  2. char nbch=' ';
  3. int nbint;
  4. cout << "Veuillez enter le nombre " << endl;
  5. while (a != '/n'){
  6.  scanf("%c",&nbch);
  7.  nbint = nbch - 42;
  8. }
  9. return nbint;
  10. }


 
vous en pensez quoi ?
 
 
une bete question aussi, "esc" ca a un code special ?
 
 
merci  :jap:


Message édité par didier1809 le 26-02-2003 à 20:29:20

---------------
.
Reply

Marsh Posté le 26-02-2003 à 20:02:01   

Reply

Marsh Posté le 26-02-2003 à 20:12:26    

tu veux pas de cin  :??:  :non:  :pfff:  
 
tu fais  
 

Code :
  1. if (cin >> entry)
  2. {
  3.   // - ok y a de quoi bosser
  4.   // - tu vires les trucs qui t'interesse po
  5.   // genre des +++++ en trop
  6.   // - et apres tu convertis en int avec un stringstream
  7.   // pour ça fais des recherches sur le forum
  8.   // - n'oublies pas balancer une exception en cas de problème
  9. }

Reply

Marsh Posté le 26-02-2003 à 20:15:19    

++Taz a écrit :

tu veux pas de cin  :??:  :non:  :pfff:  
 
tu fais  
 

Code :
  1. if (cin >> entry)
  2. {
  3.   // - ok y a de quoi bosser
  4.   // - tu vires les trucs qui t'interesse po
  5.   // genre des +++++ en trop
  6.   // - et apres tu convertis en int avec un stringstream
  7.   // pour ça fais des recherches sur le forum
  8.   // - n'oublies pas balancer une exception en cas de problème
  9. }




 
merci  :jap:  pour le cin, j'y pensait plus :(  
 
je pige pas trop le if la... il va juste tester si l'entrée est pas nulle, c'est ca ?
 
et je vais fouiller le forum pour le reste, je reposterai si je trouve pas  :)


---------------
.
Reply

Marsh Posté le 26-02-2003 à 21:01:56    

j'ai ca mtn :
 

Code :
  1. char nbch;
  2. int nbint;
  3. cout << "Veuillez enter le nombre " << endl;
  4. while ( nbch != '\n' ){
  5.  cin >> nbch;
  6.  nbint = nbch - 48;
  7. }


 
mais je n'arrive pas a le faire quitter la boucle si on frappe "enter", et j'ai pas trouvé comment le faire quitter si "esc" est pressé dans mon main, mais je sais que le code hexa est 0x1B.
 
le prof veut ca : des qu'un caractere est entré, on ajoute sa valeur ( char -48) dans une variable, jusqu'a ce qu'on frappe enter, la, il ressort sa valeur
 
 
edit : pour echap, c'est bon, je suisvraiment naze moi  :pfff:  
 
mais le test pour arreter si on frappe "enter" je seche la


Message édité par didier1809 le 26-02-2003 à 21:16:23

---------------
.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed