Aller au contenu

Fonction if ne fonctionne pas (C++)


encoremoi21258

Messages recommandés

Membre, 32ans Posté(e)
encoremoi21258 Membre 335 messages
Baby Forumeur‚ 32ans‚
Posté(e)

Bonjour,

J'ai fais un programme avec une saisie de 2 nombres lorsque l'on écrit o ou O et tous les tests imaginables sur ces 2 nombres mais le problème c'est que j'ai fais un "if" afin de faire en sorte que si l'on tape n ou N au début, la saisie ne se fait pas et il s'affiche "Fin du test des nombres. A bientot." mais le problème c'est que même en écrivant n ou N au début, la saisie se fait quand même.

Pouvez vous m'aidez s'il vous plait ?

Voici le code :

#include <iostream>

#include <stdio.h>

#include <math.h>

using namespace std;

int main()

{

int iNbre1, iNbre2;

float fResultat;

char cReponse;

cout << "Souhaitez vous tester deux nombres ? Tapez O si oui et N si non." << endl;

cin >> cReponse;

if(cReponse=='O' || 'o')

{

cout << "Saisir le nombre 1 : " << endl;

cin >>iNbre1;

cout << "Saisir le nombre 2 : " << endl;

cin >> iNbre2;

fResultat=iNbre1/iNbre2;

cout << "Le resultat de la division est : " << fResultat << endl;

fResultat=iNbre1+iNbre2;

cout << "Le resultat de l'addition est : " << fResultat << endl;

fResultat=iNbre1*iNbre2;

cout << "Le resultat de la multiplication est : " << fResultat << endl;

if(iNbre1<iNbre2)

cout << "Le nombre 1 est le plus petit." << endl;

else

cout << "Le nombre 2 est le plus petit." << endl;

if(iNbre1>iNbre2)

cout << "Le nombre 1 est le plus grand." << endl;

else

cout << "Le nombre 2 est le plus grand." << endl;

if(iNbre1%2==0)

cout << "Le nombre 1 est pair." << endl;

else

cout << "Le nombre 1 est impair." << endl;

if(iNbre2%2==0)

cout << "Le nombre 2 est pair." << endl;

else

cout << "Le nombre 2 est impair." << endl;

if(iNbre1%iNbre2==0)

cout << "Le nombre 1 est un multiple du nombre 2." << endl;

else

cout << "Le nombre 1 n'est pas un multiple du nombre 2." << endl;

if(iNbre2%iNbre1==0)

cout << "Le nombre 2 est un multiple du nombre 1." << endl;

else

cout << "Le nombre 2 n'est pas un multiple du nombre 1." << endl;

int iTable;

for(iTable=1; iTable<=10; iTable++)

{

if(iNbre1%iTable==0)

cout << "Le nombre 1 est dans la table de " << iTable << endl;

}

int iTable2;

for(iTable2=1; iTable2<=10; iTable2++)

{

if(iNbre2%iTable2==0)

cout << "Le nombre 2 est dans la table de " << iTable2 << endl;

}

}

else

cout << "Fin du test des nombres. A bientot." << endl;

return 0;

}

Lien à poster
Partager sur d’autres sites

Annonces
Maintenant
Membre, Le Dieu Lapin, 36ans Posté(e)
Lapinkiller Membre 10 149 messages
36ans‚ Le Dieu Lapin,
Posté(e)

il ne me semble pas qu'on puisse faire ca en c++ : if(cReponse=='O' || 'o')

il faut plutôt faire if(cReponse == 'O' || cReponse == 'o')

et un conseil met tout le temps des accolades aux ifs, ca permet une lecture plus rapide de ton code, et ca permet de détecter plus rapidement les problèmes

Lien à poster
Partager sur d’autres sites

Membre, 32ans Posté(e)
encoremoi21258 Membre 335 messages
Baby Forumeur‚ 32ans‚
Posté(e)

Ah merci ça fonctionne :)

J'essayerais d'y penser pour la prochaine fois.

Bonne journée :bo:

Lien à poster
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×