Il y a actuellement 91 visiteurs
Mardi 27 Juillet 2021
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");
}
Libérez-vous : http://www.debian.org
Nobody knows what sysadmin does... until he stops doing it
Avatar de l'utilisateur
CaSa
PC-Infopraticien
PC-Infopraticien
 
Messages: 8978
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 ?
Libérez-vous : http://www.debian.org
Nobody knows what sysadmin does... until he stops doing it
Avatar de l'utilisateur
CaSa
PC-Infopraticien
PC-Infopraticien
 
Messages: 8978
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.
En cas de problème constaté sur un sujet, contactez un modérateur par MP. N'intervenez pas vous-même. Merci bien.
Aucune aide ni support ne sera fourni par MP.
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 ecran en veile et ordi qui tourne
jai un probleme avec mon ordi de bureau tout tourne normalement lecran marche bien et quelque jours apres en le ralument lecran reste en veil et lordi tourne bien en le demontent jai toucher un peut la carte graphique jai ralumer lordie et la sa a marcher mais quelques jours apres rebelote ecrant en ...
Réponses: 5

Message probleme age of empires 3 sur steam
Salut tout le monde depuis quelque temps lorsque je joue sur Steam avec age of empire 3 définitive édition pendant le jeu aléatoirement le jeu plante comme si ma carte graphique était soit défaillante, soit le processeur car le jeu est souvent assez lent voici le type de message que j'ai avant que t ...
Réponses: 4

Message Problème d’affichage 2e écran et tablette graphique
Bonjour à tous,Le problème est le suivant, j?ai besoin de travailler sur 2 écrans et sur une tablette graphique, le câble de mon 2e écran est en HDMI et ma tablette également. Ne possédant qu?une connectique en HDMI sur ma tour j?ai donc acheté un adaptateur HDMI pour double HDMI histoire de faire f ...
Réponses: 0

Message Lenovo yoga problème écran tactile fausses pressions
Bonjour à tous!Je possède un lenovo yoga qui a commencé à bugger depuis quelques mois... L'écran détecte des pressions de partout alors que j'y touche pas comme dans cette vidéo: https://www.youtube.com/watch?v=NKnI4hhyUqg Même si je redémarre le pc, ça recommence, le pc n'est pas en surchauffe (ça ...
Réponses: 11

Message Problème avec cette dernière mise à jour
J'essaie d'installer cette nouvelle mise à jour Windows critique depuis quelques jours maintenant et je continue à rencontrer le même problème, étant donné que cela ne le fait pas.Je vais donc installer les mises à jour et j'obtiens : Mise à jour des fonctionnalités vers Windows 10, version 20H2 Ins ...
Réponses: 3

Message Problème de micro
Bonjour à tous,Dernièrement, le micro de m webcam sur zoom ne fonctionnait pas. D'ou pourrit venir le problème?Avec les derniers Windows je ne sais même plus ou aller pour tester le micro de ma webcam. Je me souviens qu'à l'époque de skype ou msn je pouvais aller dans le menu Windonws qqprt pour fai ...
Réponses: 2

Message Pc portable samsung R730/ CM démarre/VGA ok/LCD probleme
Bonjour, Voila j'expose mon problème, J'ai un vieux PC portable samsung NP-R730 que j'ai voulu remettre en état. le problème s'est l'affichage de l'écran principale, je m'explique, la carte mère démarre sans problème et fonctionne parfaitement branché sur VGA sur un écran externe, en revanche rien o ...
Réponses: 3


Qui est en ligne

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


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