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

  FORUM HardWare.fr
  Programmation

  [C/C++][Débutant] Bloc conditionnel If

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Précédente
Auteur Sujet :

[C/C++][Débutant] Bloc conditionnel If

n°70517
cowabunga
Keep on surfing !
Posté le 08-11-2001 à 00:25:34  profilanswer
 

Voila je viens de debuter le C++
voici le probleme que notre prof nous a demandé de traiter :
 
programme a créer
Créer un programme qui permet de savoir si le caractere que l on a entré est une voyelle ou une consonne.
 
Il faut utiliser le bloc conditionnel if/else
Mais mon soucis est que j ai imbriqué 1 bloc par voyelle, c fastidieux et pas tres jolie a mon avis, donc ma question est :
y a t il moyen de mettre dans l expression du if plusieurs valeurs pour tester le caractere tapé au clavier?  
du style (si a=='a' ou a=='e'......)
 
merci de m eclairer sur ce point  :)  
 
code source
 
#include <iostream.h>
#include <conio.h>
 
main()
{
char a;
 
clrscr();
 
cout<<"Veuillez taper un caratère : \n";
cin>>a;
 
if (a=='a';)
    {
     cout<<"Le caractère est une voyelle !";
    }
else
    {
     if (a=='e';)
         {
          cout<<"Le caractère est une voyelle !";
         }
      else
         {
          if (a=='i';)
              {
               cout<<"Le caractère est une voyelle !";
               }
           else
              {  
               if (a=='o';)
                   {
                    cout<<"Le caractère est une voyelle !";
                   }
                else
                   {
                    if (a=='u';)
                        {
                         cout<<"Le caractère est une voyelle !";
                        }
                     else
                        {
                         cout<<"Le caractère est une consonne !";
                        }
                   }
              }
         }
     };
 
getch();
 
return(0);
}

 

[edtdd]--Message édité par cowabunga--[/edtdd]

mood
Publicité
Posté le 08-11-2001 à 00:25:34  profilanswer
 

n°70519
koulip31
Posté le 08-11-2001 à 00:36:24  profilanswer
 

tu fait un
 
int main()
{
char a;  
 
clrscr();  
 
cout<<"Veuillez taper un caratère : \n";  
cin>>a;  
if((a == 'a';) || (a == 'e';) || (a == 'i';) || (a == 'o';) || (a == 'u';) || (a == 'y';))
 cout <<"voyelle";
else
 cout << "consonne";
 
getch();  
 
return(0);
}
 
programme finit

 

[edtdd]--Message édité par koulip31--[/edtdd]

n°70521
cowabunga
Keep on surfing !
Posté le 08-11-2001 à 00:37:25  profilanswer
 

merci beaucoup  :wahoo:
et puis merci pour le y que j avais oublie dans les voyelles :)

 

[edtdd]--Message édité par cowabunga--[/edtdd]

n°70522
Kwiky
Me souviens pu, j'étais bourré
Posté le 08-11-2001 à 00:46:21  profilanswer
 

koulip31 a écrit a écrit :

tu fait un
 
int main()
{
char a;  
 
clrscr();  
 
cout<<"Veuillez taper un caratère : \n";  
cin>>a;  
if((a == 'a';) || (a == 'e';) || (a == 'i';) || (a == 'o';) || (a == 'u';) || (a == 'y';))
 cout <<"voyelle";
else
 cout << "consonne";
 
getch();  
 
return(0);
}
 
programme finit  
 
 




 
 
 
Ouais mais un caractère  c pas forcément une lettre...
'2' c pas un consonne... et '&' non plus... :sol:

n°70525
koulip31
Posté le 08-11-2001 à 01:07:14  profilanswer
 

tu fait un
 
if ((a >= 'a';) && (a <= 'Z';))
 
aant et basta
voir tab de code ascii avant je suis plus sur si c'est lalphabet en min avant celui en maj ou inversement

n°70526
xmulder
un peu plus au nord...
Posté le 08-11-2001 à 01:09:04  profilanswer
 

kwiky a écrit a écrit :

 
 
Ouais mais un caractère  c pas forcément une lettre...
'2' c pas un consonne... et '&' non plus... :sol:  




 
très juste, du coup tu rajoute une condition:
 
if((a == 'a';) || (a == 'e';) || (a == 'i';) || (a == 'o';) || (a == 'u';) || (a == 'y';))  
cout <<"voyelle";  
else if( c > 'a' && c<='z';)
cout << "consonne";  
else  
cout << "autre caractère";
 
et ne pas oublier q les codes ASCII des minuscules ne sont pas les meme q les majuscules...


---------------
1km = 1024m
n°70527
xmulder
un peu plus au nord...
Posté le 08-11-2001 à 01:10:34  profilanswer
 

koulip31 a écrit a écrit :

tu fait un
 
if ((a >= 'a';) && (a <= 'Z';))
 
aant et basta
voir tab de code ascii avant je suis plus sur si c'est lalphabet en min avant celui en maj ou inversement  




 
on a posté en meme temps,  :D .
mais t'as été plus rapide, respect. :jap:
 
d'abord les MAJ et ensuite les min

 

[edtdd]--Message édité par xmulder--[/edtdd]


---------------
1km = 1024m
n°70529
xmulder
un peu plus au nord...
Posté le 08-11-2001 à 01:15:20  profilanswer
 

xmulder a écrit a écrit :

 
 
très juste, du coup tu rajoute une condition:
 
if(a =='a' || a=='e' || a=='i' || a=='o' || a=='u' || a=='y' || a =='A' || a=='E' || a=='I' || a=='O' || a=='U' || a=='Y';)  
cout <<"voyelle";  
else if( a > 'a' && a <='z' || a > 'A' && a <='Z' )
cout << "consonne";  
else  
cout << "autre caractère";
 
et ne pas oublier q les codes ASCII des minuscules ne sont pas les meme q les majuscules...  



 

[edtdd]--Message édité par xmulder--[/edtdd]


---------------
1km = 1024m
n°70530
koulip31
Posté le 08-11-2001 à 01:17:19  profilanswer
 

sauf ke toi ta oublie le maj  :D  :D  
et moi tu rajoute cette ligne au debut du prog donc 1line de + toi 2  :sol:  :sol:  
 
i am the best :lol: sur un prog comme ca jai honte  :sweat:  :p

n°70531
xmulder
un peu plus au nord...
Posté le 08-11-2001 à 01:20:46  profilanswer
 

koulip31 a écrit a écrit :

sauf ke toi ta oublie le maj  :D  :D  
et moi tu rajoute cette ligne au debut du prog donc 1line de + toi 2  :sol:  :sol:  
 
i am the best :lol: sur un prog comme ca jai honte  :sweat:  :p  




 
permets moi de te corriger, prends ta table ASCII et regarde ce q'il y a entre 'Z' et 'a'... pas mal de chose.
donc ton a>'a' && a<='Z' est faux. :D  
 
j'ai édité mon message pour donner la soluce complete.
 
allez, sans rancune  :D  :sol:  :hello:  
 
et en tte modestie, je suis pas le moins bon...


---------------
1km = 1024m
mood
Publicité
Posté le 08-11-2001 à 01:20:46  profilanswer
 

n°70533
koulip31
Posté le 08-11-2001 à 01:24:13  profilanswer
 

Citation :

else if( a > 'a' && a <='z' || a > 'A' && a <='Z' )


hihi je te corrige  
 
if ((a >='a') && (a <='z') || (a >= 'A') && (a <='Z'))
 
bizar les = se mettent pas en gras je les ais soulignés

 

[edtdd]--Message édité par koulip31--[/edtdd]

n°70534
skylight
Made in France.
Posté le 08-11-2001 à 01:25:19  profilanswer
 

koulip31 a écrit a écrit :

Citation :

else if( a > 'a' && a <='z' || a > 'A' && a <='Z' )


hihi je te corrige  
 
if ((a >='a') && (a <='z') || (a >= 'A') && (a <='Z'))  
 
 




 
bonne reponse :D
 
vous y etes enfin arrivés
j'hallucine :D

n°70535
skylight
Made in France.
Posté le 08-11-2001 à 01:25:49  profilanswer
 

enfin il mank encore un truc :D

n°70536
koulip31
Posté le 08-11-2001 à 01:26:28  profilanswer
 

Skylight a écrit a écrit :

enfin il mank encore un truc :D  




2 paire de parenthese en fonction des prioritees
 
les lettres accentue si on est en france
le elset si on est en allemagne
les lettre tilde si on est enespagne

 

[edtdd]--Message édité par koulip31--[/edtdd]

n°70537
skylight
Made in France.
Posté le 08-11-2001 à 01:26:45  profilanswer
 

koulip31 a écrit a écrit :

Citation :

else if( a > 'a' && a <='z' || a > 'A' && a <='Z' )


hihi je te corrige  
 
if (((a >='a') && (a <='z') )|| ((a >= 'A') && (a <='Z')))
 
bizar les = se mettent pas en gras je les ais soulignés  
 
 



 

[edtdd]--Message édité par Skylight--[/edtdd]

n°70538
skylight
Made in France.
Posté le 08-11-2001 à 01:28:38  profilanswer
 

enfin le a > 'a' c juste car le a est une voyelle dc pa bezoin de l'inclure ds la condition

n°70539
koulip31
Posté le 08-11-2001 à 01:30:21  profilanswer
 

le && nest pas prioritaire sur le || ? si oui tes parentheses ne servent a rien  :??:  
 
moi je place cette condition en 1er (avan la serie de ||) donc le A je le verifie aussi

 

[edtdd]--Message édité par koulip31--[/edtdd]

n°70542
skylight
Made in France.
Posté le 08-11-2001 à 01:32:00  profilanswer
 

koulip31 a écrit a écrit :

le && nest pas prioritaire sur le || ? si oui tes parentheses ne servent a rien  :??:  
 
moi je place cette condition en 1er (avan la serie de ||) donc le A je le verifie aussi  
 
 




oui mais bon pour un effet de clarté vo mieu les mettre enfin moi je les mets tjs, c'est + clair

n°70543
xmulder
un peu plus au nord...
Posté le 08-11-2001 à 01:32:03  profilanswer
 

koulip31 a écrit a écrit :

Citation :

else if( a > 'a' && a <='z' || a > 'A' && a <='Z' )


hihi je te corrige  
 
if ((a >='a') && (a <='z') || (a >= 'A') && (a <='Z'))
 
bizar les = se mettent pas en gras je les ais soulignés  
 
 




 
d'une part, les parenthèses en sont pas obligatoires car les opérateurs de comparaisons sont prioritaires sur les opérateurs logique
(d'abord les > et ensuite les &&)
 
d'autre part, on peut se contenter d'un a>'a'plutot q d'un a>='a' (mais pas pour le Z) car on ne veut pas d'une voyelle... :D  
 
donc g encore raison, comme d'hab.
 :sol:


---------------
1km = 1024m
n°70544
skylight
Made in France.
Posté le 08-11-2001 à 01:33:15  profilanswer
 

comment perfectionner son C en un post :D

n°70545
xmulder
un peu plus au nord...
Posté le 08-11-2001 à 01:34:54  profilanswer
 

http://www.multimania.com/muldux/images/prior.jpg

 

[edtdd]--Message édité par xmulder--[/edtdd]


---------------
1km = 1024m
n°70547
xmulder
un peu plus au nord...
Posté le 08-11-2001 à 01:36:22  profilanswer
 

xmulder a écrit a écrit :

 
c dans les vieux pots q'on fait les meilleures soupes  :lol:  
 




---------------
1km = 1024m
n°70548
koulip31
Posté le 08-11-2001 à 01:40:21  profilanswer
 

arff c'est zarb kar sans les parenthese il m'est deja arrive des trucs zarbs :/ comme koi :)  
 
voyelle ou consonne men fout car je met ca avant tout au debut en gros je teste mon interval avant de determiner si c'est une voyelle ou une consonne :) donc besoin autan du a que du z :)

n°70549
xmulder
un peu plus au nord...
Posté le 08-11-2001 à 01:42:59  profilanswer
 

koulip31 a écrit a écrit :

arff c'est zarb kar sans les parenthese il m'est deja arrive des trucs zarbs :/ comme koi :)  
 
voyelle ou consonne men fout car je met ca avant tout au debut en gros je teste mon interval avant de determiner si c'est une voyelle ou une consonne :) donc besoin autan du a que du z :)  




 
ql genre de truc bizarr?
tu utilises ql compilateur?


---------------
1km = 1024m
n°70551
koulip31
Posté le 08-11-2001 à 01:52:07  profilanswer
 

en ce momen VC++ et defois gcc
 
ben les condition ki se fesaient pas dans le bon ordre ou ki chiaent tout bonnement :/ deouis je fout des parentheses partout ca gonfle le code betement mais au moin ca me chie pas dans les ailes
 
sous gcc ca arrive + ou - souvent ce genre de truc vais essayer de te trouver un eexemple

n°70558
barbarella
Posté le 08-11-2001 à 08:35:35  profilanswer
 

ouais,
 
c'est pas encore ça. vous êtes Anglais ? nan, bon ben é c'est une voyelle non ! me dites pas que c'est pas la peine de le prendre en compte, c'est avec des truc comme ça qu'on oublie les accent sur les noms propre. Au fait pour les majuscules aussi, je rappelle que pour les noms propres les accents sur majuscule sont a respecter. MALLARMÉ, AYMÉ, ... É est une voyelle.
 
p'tit coup main, dans windows appeler la table des caractères. il s'agit de tous les carac > 191.

 

[edtdd]--Message édité par Barbarella--[/edtdd]

n°70585
cowabunga
Keep on surfing !
Posté le 08-11-2001 à 10:02:08  profilanswer
 

:ouch:  c tres gentil d avoir grandement ameliore mon programme, mais j ai commence le C il y a quelques jours, mon prof va se poser des questions  ;) ,je vais garder la premiere version de Koulip31 car elle doit se rapprocher des souhaits du prof  
Mais aumoins j ai appris quelquechose, merci a tous  ;)

n°70590
barbarella
Posté le 08-11-2001 à 10:23:35  profilanswer
 

réponse incomplete,
 
mais bon raissonement. Je suppose que si tu prenais en compte les accents ton prof te prendrait pour un p'tit génie qui pense a tout ou ... a une grosse aide provenant de l'espace intersidérale :D
 
Mais si un jour tu as un prog pro a faire pense a ces accents. Il est inadmissble que l'informatique d'aujourd'hui ne les prenne en comtpe.

n°70596
youdontcar​e
Posté le 08-11-2001 à 10:32:55  profilanswer
 

et tant qu'on y est, ne pas oublier les cédilles ! ç et Ç, les ligatures æ, œ ...
 
:D

n°70598
barbarella
Posté le 08-11-2001 à 10:38:18  profilanswer
 

eh oui,
 
tous ces caratères sont situés au-dessus des ascii > 191. C'est très important pour le tri des base de données. Ca ne concerne pas seulement la France, mais toutes les langues qui utilisent des accents.

n°70604
koulip31
Posté le 08-11-2001 à 11:00:04  profilanswer
 

boarf les accent moi clavier qwerty pb regle

n°70609
barbarella
Posté le 08-11-2001 à 11:30:43  profilanswer
 

Cool,
 
la mentalité ...

n°70612
koulip31
Posté le 08-11-2001 à 11:42:17  profilanswer
 

hihi mais bon en informatique l'anglais est la referance donc les accent tu peux les jartter sans probleme  
 
essaye de compile des lettre accentuées tu vas bien te marrer :p
 
et si tu met les accents pkoi pas aussi le elset allemand et les letres tilde espagnoles ?  :pt1cable:  :pt1cable:  
 
serrieux tu code en anglais tu programme doit sortir de langlais ton programme traite de l'anglais les autres langues on s'en ...bip... ptet ke ca plais pas aux anglophobes ca mais bon en info c'est comme ca et pas autrement et les anglophobes a l'heure actuel non rien a foutre en informatique  :na:

 

[edtdd]--Message édité par koulip31--[/edtdd]

n°70631
xmulder
un peu plus au nord...
Posté le 08-11-2001 à 12:14:20  profilanswer
 

koulip31 a écrit a écrit :

hihi mais bon en informatique l'anglais est la referance donc les accent tu peux les jartter sans probleme  
 
essaye de compile des lettre accentuées tu vas bien te marrer :p
 
et si tu met les accents pkoi pas aussi le elset allemand et les letres tilde espagnoles ?  :pt1cable:  :pt1cable:  
 
serrieux tu code en anglais tu programme doit sortir de langlais ton programme traite de l'anglais les autres langues on s'en ...bip... ptet ke ca plais pas aux anglophobes ca mais bon en info c'est comme ca et pas autrement et les anglophobes a l'heure actuel non rien a foutre en informatique  :na:  
 
 




 
 :non:  
 
Meme si il faut bien admettre q l'anglais est incontournable dans le monde de l'info, il ne faut pas tomber dans la modialisation.  
Je fais mes etudes d'info en Finlande et je peux te dire q cote programmation ils develloppent pas mal de choses et c pas tt en anglais (ds des domaines comme JAVA Cpp, surtout chz Nokia, pareil de l'autre cote de la Baltique chz Ericson)
 
mais c vrai q gérer les accents est assez chiant car les codes ASCII dependent de la langue installée sur ta machine donc c pas tres portable, mais c un point à ne pas négliger...


---------------
1km = 1024m
n°70632
xmulder
un peu plus au nord...
Posté le 08-11-2001 à 12:15:03  profilanswer
 

et je parle pas des asiatiques  :D


---------------
1km = 1024m
n°70677
koulip31
Posté le 08-11-2001 à 14:51:31  profilanswer
 

ils on un clavier latin he ouais  :o (pas de chti ideogramme sur le clavier mais bien de lettres)  
mais bon jaimmerais bien ovir des source asiatiques ca doit etre cocasse ou en anglais pas le choix

n°70683
barbarella
Posté le 08-11-2001 à 15:06:47  profilanswer
 

et alors tu crois que ça justifie de ne pas prendre en comtpe  
les accents ...
 
Ca me parait tellement evident de devoir prendre en compte les accents pour les langues qui les utilises que je ne vois pas trop le sens de tes remarques koulip. Pas d'accent pour les anglais oui, mais tu souhaiterais généraliser à tout le monde ? (on parle des données que manipule un programme, pas des commandes de prog)

 

[edtdd]--Message édité par Barbarella--[/edtdd]

n°70689
koulip31
Posté le 08-11-2001 à 15:17:34  profilanswer
 

Barbarella a écrit a écrit :

et alors tu crois que ça justifie de ne pas prendre en comtpe  
les accents ...
 
Ca me parait tellement evident de devoir prendre en compte les accents pour les langues qui les utilises que je ne vois pas trop le sens de tes remarques koupil. Pas d'accent pour les anglais oui, mais tu souhaiterais généraliser à tout le monde ? (on parle des données que manipule un programme, pas des commandes de prog)  




 
ben certe pour ce ke manipule les prog mais bon kan on te demande un prog generale tu le develope pour traiter de l'info angalise non?  
 
je bosse actuellement dans un SSII francaises toute la doc est en anglais je doit developper un outis de test interne kin ne sortiras pas du labo a cote de mon bureau donc resterras en france ici bien on ma demande explicitement de tout mettre en anglais donc dans le cadre scolaire ou en entreprise mainpuler des donne francaises rete une utopie a part si c'est une chtite entreprise  ;)  
 
mais bon dans le cadre scolaire si tu gere pas les accent rien a battre les profs  :ange:  :ange:  
 
remarque que dans tout les book de prog les chaines traites sont anglaise exemple le HELLO WORLD donc   :sweat:  :sweat:  ede refuser cela au nom de la difference  :o

n°70702
barbarella
Posté le 08-11-2001 à 15:32:21  profilanswer
 

ok,
 
je comprends ta position, en ce sens que j'ai deja eu l'occasion de rencontrer des collègues qui penses un peu comme toi. Toutefois permets moi de te dire que la différenciation culturel/respect des langues est une richesse intellectuelle.
 
Le nivellement par l'homogénisation, est un appauvrissement intellectuel. C'est une des raisons qui font que bcp de personnes ne suivent pas (et ne le feront pas) la démarche que tu adoptes.
 
Sur le terme d'utopie pour l'utilisation dans les boites, je te renvois au terme de 'je m'en foustisme' de certaines boites, vu que la mise en place de cette prise en compte est facilement intégrable. Le plus long c'est encore le temps qu'il faut pour l'écrire dans le cahier des charges :D
 
Mais bon ...

 

[edtdd]--Message édité par Barbarella--[/edtdd]

n°70715
point
Posté le 08-11-2001 à 15:47:20  profilanswer
 

moi je dirais:
 
bool c_une_voyelle=false;
switch(char moncara){
case 'A':
case 'E':
case 'I':
case 'O':
case 'U':
case 'Y':
 c_une_voyelle = true;
break;
}
 
 
en pensant biensûr à passer en majuscule le caractère à tester...

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Précédente

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

  [C/C++][Débutant] Bloc conditionnel If

 

Sujets relatifs
[VB + Access ] debutant avec ADO ... " un objet est requis"[VC++6]Debutant cherche tutorial
[PHP+MySQL] Debutant .......Ressource id#2Java - problemes pour un debutant
[ question de debutant ] petit compteur[PHP] deux questions débiles pour un débutant
php .... et débutant[PHP/mySQL](debutant) Pb enregistrement dans db a partir de form. !
Débutant recherche aide (delphi)Javascript : Question de débutant
Plus de sujets relatifs à : [C/C++][Débutant] Bloc conditionnel If


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