Problème de débutant

martom -  
 loupius -
Bonjour,

Je commence des cours de programmation en C++ à l'unif. et j'ai un soucis, je ne comprend pas pourquoi mon programme ne marche pas (Ça fait 1h que je cherche... il doit être sous mes yeux vu la taille du programme !)

Je vous préviens, c'est mon premier labo, et donc mon premier programme...

Le but, c'est de demander à l'utilisateur de piocher deux boules dans l'urne, et selon son choix, d'en remettre une :

- Si il tire 2 vertes, remettre une noire
- Si il tire 2 noires, remettre une noire
- Si il tire 1 verte et 1 noire, remettre une verte

Donc, on est d'accord, dans le tirage 2 ou 3, le résultat est le même (le nombre de noire décrémente)
Dans l'autre cas, le nombre de verte diminue de 2 et le nombre de noire incrémente

Voici le programme :

EN GRAS = Là où ça pose problème
EN NORMAL = Aucun soucis
#include <iostream>
using namespace std;

int NN, NV, NT;

void main(){

	cout<<"Veuillez entrer le nombre de boule(s) verte(s) contenue(s) dans l'urne"<<endl;
	cout<<"Il y en a "; cin>>NV;
	
	cout<<"Veuillez entrer le nombre de boule(s) noire(s) contenue(s) dans l'urne"<<endl;
	cout<<"Il y en a "; cin>>NN;

	NT=NN+NV;

	cout<<"Il a "<<NT<<" boule(s) au total dans l'urne."<<endl;

	char choix;
	cout<<"Veuillez a present tirer 2 boules de votre choix :"<<endl<<endl
		<<"     - 2 boules vertes (TAPEZ vv)"<<endl<<"     - 2 boules noires (TAPEZ nn)"<<endl<<"     - 1 verte et 1 noire (TAPEZ vn)"<<endl<<endl;

	cin>>choix;

	if(choix=='vv') {
		NV=NV-2;
		NN++;
		}

		else{
			NN--;	
		}

	cout<<"Il reste "<<NN<<" boule(s) noire(s) et "<<NV<<" boule(s) verte(s)"<<endl;
}


Merci à tous...
A voir également:

4 réponses

[o.o]REplay Messages postés 385 Statut Membre 28
 
Bonjour,

Déjà, qu'est-ce qui ne marche pas dans ton programme?
Tu n'entre pas dans la boucle 'vv' parce que 'vv' n'est pas un char mais un string.
Tu lis les warnings des fois? :)

ensuite je suis ok avec ton algo, à priori ça fonctionnera.
0
[o.o]REplay Messages postés 385 Statut Membre 28
 
Si tu ne veux pas te casser la tête, fais un choix de type

1 - gna gna gna
2 - gna gna gna
3 - gna gna gna

cette fois choix sera un int.
C'est également plus propre de faire un switch dans ces cas là
switch(choix)
case 1: etc...
0
martom
 
Ok merci, je crois que dans la suite de l'algo je dois utiliser switch et tout... Ce soir j'y retravaille un peu (et donc d'autres questions peut-être pour vous :))...

Merci pour l'aide ;)
0
loupius
 
Euhhhhh, y'a un truc que j'pige pas:
- Si il tire 2 vertes, remettre une noire
Et, il la sort d'où la boule noire... de sa poche! Ah le vilain tricheur ;-)
0
loupius
 
Alors, cette boule noire, d'où sort-elle ?
Quelqu'un a-t-il un début de solution ?
Merci
0