Il y a actuellement 371 visiteurs
Jeudi 27 Mars 2025
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: 9058
Inscription: 13 Mai 2003 16:32
Localisation: Sisteron, perle de Provence... 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: 9058
Inscription: 13 Mai 2003 16:32
Localisation: Sisteron, perle de Provence... 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 [réglé] Probleme carte ethernet
Bonjour a tous,Depuis hier je rencontre un problème avec ma carte ethernet. Mon PC m'informe que celui-ci n'est pas connecté a internet (icône de la barre des taches). Par contre j'ai internet par le biais de mon VPN. Avez vous une petite idée ? Par avance merci
Réponses: 35

Message probleme affichage ecran
salut tout le monde Je suis sur windows 11 depuis environ janvier 2025 : ma dernière Édition : Windows 11 Professionnel Version 24H2 (build du système d'exploitation 26100.3323 )Installé le ?01/?03/?2025Build du système d?exploitation 26100.3323Expérience Pack d?expérience de fonctionnalités Windo ...
Réponses: 10

Message Problème mise à jour windows 11
Salut à tous, j'ai un souci sur mon ordinateur hp tout en un, à l'époque de la sortie de Win11 j'vavais forcé le passage car mon ordinateur n'avait les prérecquis, tout a toujours bien fonctionner sans problème, sauf depuis peu, je ne peux plus faire de MAJ sur windows update, il y a écrit "Vou ...
Réponses: 8

Message Probleme Meta Facebook pour page pro
Bonjour à tous, est ce quelqu'un ici s'y connait en Meta facebook pour la gestion des pages pro et les liens instagram? Je m'explique en 2021 j'ai créer mon entreprise avec une page Facebook qui était rattaché à mon profil perso ou j'avais la gestion intégrale, puis en 2022 un profil instagram profe ...
Réponses: 2

Message problème jeu pc indiana jones et le cercle ancien
Bonjour,Pourriez-vous m'aider à résoudre l'erreur " english missing vulkan device extensions please update your graphics driver or gpu vk KHR ray querry" au moment de démarrer le jeu pc "Indiana Jones et le cercle ancien" sur un pc avec la configuration :Carte mère F898 Saber ...
Réponses: 9

Message Problème USB 3 sur mini PC (SSD M2 externe)
Bonjour a tous, j'ai un problème sur un mini PC fonctionnant sur un Intel N100. Il y a 2 port usb2 et 2 ports usb3. Mon problème ? Il semble que certains perifériques ne fonctionnent pas correctement (en l'occurence, les boitiers externes pour SSD M2).Si le SSD M2 est connecté sur un USB3 j'obtiens ...
Réponses: 5

Message probleme avec le logiciel nvidia
Bonjour,Oui DDU est très efficace , on s'en sert surtout quand on change de fabricant de carte graphique de AMD vers Nvidia par exemple. Il nettoie tout.Bonne journée.
Réponses: 13


Qui est en ligne

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


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