Il y a actuellement 119 visiteurs
Jeudi 18 Avril 2024
accueilactualitésdossierscomparer les prixtélécharger gratuitement vos logicielsoffres d'emploiforum informatique
Connexion
Créer un compte

Débutante en C problème avec la boucle do - while

Besoin d'aide pour configurer un serveur ? Vous souhaitez obtenir des conseils pour référencer votre site ? Un petit souci pour accéder à votre FTP ? Des soucis de programmation en PHP / ASP / HTML / XHTML / XML / XSLT / CSS / ReactJS / AngularJS / VueJS / CGI / PERL / C / MySQL / PostgreSQL ??? Nous avons peut-être la solution dans ce forum ...

Débutante en C problème avec la boucle do - while

Message le 25 Oct 2014 17:39

Bonsoir :)
Je suis nouvelle sur le forum et je suis aussi débutante en programmation, notamment en langage C, je rencontre pas mal de soucis en ce moment et j'espérais que vous sauriez m'aider :oops:
Je travaille sous Dev C++, j'ai un exercice qui consiste à écrire un programme en C qui soit capable de dire si une année est bissextile ou pas, je voulais donner la possibilité à l'utilisateur d'entrer plus d'années à vérifier s'il le souhaitaient en utilisant la boucle do - while mais je rencontre un problème. Je vous mets le code de mon programme avant de vous expliquer:

Code: Tout sélectionner
#include <stdio.h>
#include <stdlib.h>

main()
{
      int A;
      char ch;
     
      do
      {
          printf("Donner une annee a verifier:\n");
          scanf("%d",&A);
     
          if(A % 4!=0)
               printf("%d n'est pas une annee bissextile.\n",A);
          else
               if ((A % 100==0)&&(A % 400!=0))
                    printf("%d n'est pas une annee bissextile.\n",A);
               else
                    printf("%d est une annee bissextile.\n",A);
                             
          printf("Voulez-vous verifier une autre annee? (O/N) \n");
          scanf("%c",&ch);
      }
     
      while (ch!='N');
         
                    system("pause");
}


En fait le problème est que il n'exécute pas l'instruction de lecture du caractère entré par l'utilisateur à la fin et rééxécute directement la première instruction il affiche: Voulez-vous verifier une autre annee? (O/N) ensuite il affiche directement Donner une annee à vérifier, et je ne comprends pas pourquoi :/
Aussi j'aimerai savoir comment peut-on parvenir à afficher les accents, qui ne sont visiblement pas pris en considération en C et sont remplacés par des symboles, j'évite de les utiliser mais s'il y a une solution j'aimerai bien savoir comment faire s'il vous plait.

Merci de votre aide :)
Avatar de l'utilisateur
POPPY ♥
Visiteur Confirmé
Visiteur Confirmé
 
Messages: 13
Inscription: 24 Sep 2014 18:25
 


Re: Débutante en C problème avec la boucle do - while

Message le 26 Oct 2014 10:47

Faut vider le buffer d'entrée.
Ceci fonctionne :
Code: Tout sélectionner
#include <stdio.h>
#include <stdlib.h>

    main()
    {
          int A;
          char ch;
         
          do
          {
              printf("Donner une annee a verifier:\n");
              scanf("%d",&A);
         
              if(A % 4!=0)
                   printf("%d n'est pas une annee bissextile.\n",A);
              else
                   if ((A % 100==0)&&(A % 400!=0))
                        printf("%d n'est pas une annee bissextile.\n",A);
                   else
                        printf("%d est une annee bissextile.\n",A);
                                 
              printf("Voulez-vous verifier une autre annee? (O/N) \n");
             do
              { 
                ch = getchar();
              } while (ch != '\n' && ch != EOF);
              scanf("%c",&ch);
          }
          while (ch!='N');
          system("pause");
}
Avatar de l'utilisateur
CaSa
PC-Infopraticien
PC-Infopraticien
 
Messages: 9040
Inscription: 13 Mai 2003 16:32
Localisation: Sisteron... et jamais loin d'une Debian
 

Re: Débutante en C problème avec la boucle do - while

Message le 02 Nov 2014 21:29

Merci beaucoup. Ça marche. Sinon une solution pour les accents?
Avatar de l'utilisateur
POPPY ♥
Visiteur Confirmé
Visiteur Confirmé
 
Messages: 13
Inscription: 24 Sep 2014 18:25
 

Re: Débutante en C problème avec la boucle do - while

Message le 03 Nov 2014 08:31

J'essaye sous Linux, console avec Putty paramétré correctement, et j'ai des accents.

Le problème ne vient pas forcément de C, c'est plutôt ton environnement qui peut être en cause.

Qu'est-ce que tu utilises ? Ms-dos ? Linux/Unix ?
Avatar de l'utilisateur
CaSa
PC-Infopraticien
PC-Infopraticien
 
Messages: 9040
Inscription: 13 Mai 2003 16:32
Localisation: Sisteron... et jamais loin d'une Debian
 

Re: Débutante en C problème avec la boucle do - while

Message le 03 Nov 2014 10:30

Salut,

Dev C++ est un IDE à fuir, il n'a pas été mis à jour depuis des années. J'aurais plutôt tendance à te suggérer Code::Blocks, ou Netbeans.
Avatar de l'utilisateur
H3bus
Moderateur
Moderateur
 
Messages: 12195
Inscription: 08 Avr 2008 15:13
Localisation: /home/h3bus
 

Re: Débutante en C problème avec la boucle do - while

Message le 29 Nov 2014 21:03

D'accord merci, je les téléchargerai et testerai de ce pas :)
Avatar de l'utilisateur
POPPY ♥
Visiteur Confirmé
Visiteur Confirmé
 
Messages: 13
Inscription: 24 Sep 2014 18:25
 



Sujets similaires

Message probleme USB
Bonjour a tous,Je ne sais ou poster mon problème d'USB je le post donc ici . Mon souci vient du fait que lorsque je branche mon intercom SENA SRL 3 sur les USB mon PC sous W10 j'ai l'impression que celui-ci se connecte deux fois car j'entends bien le son de la connexion se faire deux fois et j'ent ...
Réponses: 3

Message Problème avec la KB5034441
Bonjour,Certains ont du rencontrer ce problème avec cette mise à jour qui a bien du mal à passer.Je viens de recevoir ce correctif proposé par Microsoft :ICI.Je vous le dit de suite personnellement si j'étais dans le même cas que vous j'attendrai une réelle mise à jour mise en place par Microsoft.Je ...
Réponses: 12

Message encore un probleme mise à jour windows KB5001716
Salut à vous cela commence, j'avoue, à devenir pénible, j'en suis désolé, mais ce soir au 5 mars 2024 est apparu un nouveau problème sur Windows update la mise à jour KB5001716 ne veut pas s'installer, j'ai eu beau redémarrer mon pc pour voir si cela pouvait fonctionner rien à faire cette mise à jou ...
Réponses: 28

Message [Réglé] problème de barre inexistante sur pc portable asus
Bonjour,Depuis hier, en allumant mon pc portable asus modèle F 402 S, il bloque sur le bureau, je n'ai plus la barre de tâches donc les icônes à côté de l'heure comme avant et la souris fait un rond et impossible de cliquer et d'ouvrir des fichiers ou d'aller sur internet c'est bizarre, est-ce une ...
Réponses: 9

Message probleme avec le nouvel Outlook !
Bonjour,à la maison, nous nous partageons 7 adresses : outlook.fr, orange.fr, live.fr, libello.com, hotmail.com et 2 gmail.com.Tout était parfait jusqu'au moment où le nouvel OUTLOOK s'est imposé.Là, un seul compte a survécu, @outlook.fr, impossible d'afficher les 6 autres !Quand on ouvre la message ...
Réponses: 5

Message Konrow City 4 - Probleme de place...
Bonjour à toutes et tousJe sais que mon tél est un bas de gamme mais je n'ai pas besoin de plus..., si ce n'est un peu de place...https://konrow.com/products/city4 avec Android? 11 (édition GO)...Mon souci est que sur le mien, la carte interne est presque pleine alors que je n'ai "presque" ...
Réponses: 2

Message Problème de son quand je joue (windows ok)
Merci mais cela ne donne rien...Je vais peut-être reformater windows car ce "bug" est arrivé du jour au lendemain...
Réponses: 15


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 invités


.: Nous contacter :: Flux RSS :: Données personnelles :.
cron