Problème C++ instruction de branchement
Fermé
zemvox
Messages postés
4
Date d'inscription
dimanche 2 janvier 2005
Statut
Membre
Dernière intervention
5 juillet 2005
-
5 juil. 2005 à 14:07
mamiemando Messages postés 33453 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 6 janvier 2025 - 7 juil. 2005 à 01:59
mamiemando Messages postés 33453 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 6 janvier 2025 - 7 juil. 2005 à 01:59
A voir également:
- Problème C++ instruction de branchement
- Branchement chromecast - Guide
- Branchement rj45 ✓ - Forum Fibre Optique
- Branchement xdsl ftth - Forum Freebox
- Branchement prise jack 3 fils ✓ - Forum Audio
12 réponses
tafiscobar
Messages postés
1277
Date d'inscription
jeudi 7 décembre 2000
Statut
Contributeur
Dernière intervention
26 février 2009
177
5 juil. 2005 à 15:01
5 juil. 2005 à 15:01
salut, ta boucle "while (coup !=0)" tu le mets ds une boucle do { ... }while (recommencer=='o');
Sinon y'a aussi l'instruction goto, en gros tu mets une étiquette devant la boucle while coe ça (on suppose qe le nom de l'etiquette c'est L) : "L: while (..) { ... } ". Ensuite si tu veux retourner vers la boucle while, tu fais "goto L;". Mais attention, ce n'est pas propore d'utiliser des goto...
Sinon y'a aussi l'instruction goto, en gros tu mets une étiquette devant la boucle while coe ça (on suppose qe le nom de l'etiquette c'est L) : "L: while (..) { ... } ". Ensuite si tu veux retourner vers la boucle while, tu fais "goto L;". Mais attention, ce n'est pas propore d'utiliser des goto...
je te propose cette solution :
#include<iostream.h>
#define max 5
int jeu;
main()
{
int test =5;
while(test!=0)
{
printf("\n");
test=jeu(test);
}
}
int jeu(int coup)
{
int coup =5;
char c, choix ;
while (coup!=0)
{
coup=coup-1 ;
cin>>c ;
if (c=='k')
{
cout<<"gagne! vous l'avez trouvé en %d cout"<<max-coup;
return 0;
}
if (c>'k')
{
cout<<"En dessous. Encore %d essais"<<coup ;
}
if (c<'k')
{
cout<<"Au dessus. Encore %d essais"<<coup ;
}
cout<<"voulez vous réessayer ?" ;
cin>>choix ;
if (choix=='o')
{
return (coup);
}
else if(choix=='n')
{
return 0;
}
normalement ca devrait marcher
#include<iostream.h>
#define max 5
int jeu;
main()
{
int test =5;
while(test!=0)
{
printf("\n");
test=jeu(test);
}
}
int jeu(int coup)
{
int coup =5;
char c, choix ;
while (coup!=0)
{
coup=coup-1 ;
cin>>c ;
if (c=='k')
{
cout<<"gagne! vous l'avez trouvé en %d cout"<<max-coup;
return 0;
}
if (c>'k')
{
cout<<"En dessous. Encore %d essais"<<coup ;
}
if (c<'k')
{
cout<<"Au dessus. Encore %d essais"<<coup ;
}
cout<<"voulez vous réessayer ?" ;
cin>>choix ;
if (choix=='o')
{
return (coup);
}
else if(choix=='n')
{
return 0;
}
normalement ca devrait marcher
zut je me suis trompé c'est plutot :
#include<iostream.h>
#define max 5
int jeu(int coup);
main()
{
int test =5;
while(test!=0)
{
printf("\n");
test=jeu(test);
}
}
int jeu(int coup)
{
char c, choix ;
while (coup!=0)
{
coup=coup-1 ;
cin>>c ;
if (c=='k')
{
cout<<"gagne! vous l'avez trouvé en %d essais"<<max-coup;
return 0;
}
if (c>'k')
{
cout<<"En dessous. Encore %d essais"<<coup ;
}
if (c<'k')
{
cout<<"Au dessus. Encore %d essais"<<coup ;
}
cout<<"voulez vous réessayer ?" ;
cin>>choix ;
if (choix=='o')
{
return (coup);
}
else if(choix=='n')
{
printf("\n\nprogramme terminé.");
return 0;
}
apres tu peux faire une fonction qui génère aléatoirement une lettre à trouver, changer le nombre d'essais(y faut juste changer la valeur de test au début du main).
#include<iostream.h>
#define max 5
int jeu(int coup);
main()
{
int test =5;
while(test!=0)
{
printf("\n");
test=jeu(test);
}
}
int jeu(int coup)
{
char c, choix ;
while (coup!=0)
{
coup=coup-1 ;
cin>>c ;
if (c=='k')
{
cout<<"gagne! vous l'avez trouvé en %d essais"<<max-coup;
return 0;
}
if (c>'k')
{
cout<<"En dessous. Encore %d essais"<<coup ;
}
if (c<'k')
{
cout<<"Au dessus. Encore %d essais"<<coup ;
}
cout<<"voulez vous réessayer ?" ;
cin>>choix ;
if (choix=='o')
{
return (coup);
}
else if(choix=='n')
{
printf("\n\nprogramme terminé.");
return 0;
}
apres tu peux faire une fonction qui génère aléatoirement une lettre à trouver, changer le nombre d'essais(y faut juste changer la valeur de test au début du main).
zemvox
Messages postés
4
Date d'inscription
dimanche 2 janvier 2005
Statut
Membre
Dernière intervention
5 juillet 2005
5 juil. 2005 à 16:18
5 juil. 2005 à 16:18
Ton programme ne marche complètement, mais j'ai compris l'idée, en plus tu démarre avc un nombre de coup défini ... moi je lis le nombre de coup au départ, mais ta manière est intéressante aussi.
No-miS
Messages postés
274
Date d'inscription
jeudi 30 juin 2005
Statut
Membre
Dernière intervention
29 novembre 2006
37
5 juil. 2005 à 16:13
5 juil. 2005 à 16:13
Salut,
et apres tu peux essayer de programmer une bataille navale contre le pc, pour te faire plaisir avec les pointeurs. :D mais le probleme, c' est l' affichage qui risque d' etre assez moche dans la fenetre Dos.
Bye.
et apres tu peux essayer de programmer une bataille navale contre le pc, pour te faire plaisir avec les pointeurs. :D mais le probleme, c' est l' affichage qui risque d' etre assez moche dans la fenetre Dos.
Bye.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
zemvox
Messages postés
4
Date d'inscription
dimanche 2 janvier 2005
Statut
Membre
Dernière intervention
5 juillet 2005
5 juil. 2005 à 17:04
5 juil. 2005 à 17:04
Nan c bon, dans l'esprit de ce que je voulais faire au départ, j'ai réussi ça ...
#include <iostream.h>
void main()
{
int coup ;
char c, choix ;
debut:
cin>>coup ;
while (coup!=0)
{
coup=coup-1 ;
cin>>c ;
if (c=='k')
{
cout<<"gagne!" ;
goto fin ;
}
if (c>'k')
cout<<"En dessous" ;
if (c<'k')
cout<<"Au dessus" ;
}
cout<<"perdu!" ;
fin:
cout<<"Recommencer ?" ;
cin>>choix ;
if (choix=='o')
goto debut ;
if (choix=='n')
cout<<"Fin" ;
}
Merci à tous.
#include <iostream.h>
void main()
{
int coup ;
char c, choix ;
debut:
cin>>coup ;
while (coup!=0)
{
coup=coup-1 ;
cin>>c ;
if (c=='k')
{
cout<<"gagne!" ;
goto fin ;
}
if (c>'k')
cout<<"En dessous" ;
if (c<'k')
cout<<"Au dessus" ;
}
cout<<"perdu!" ;
fin:
cout<<"Recommencer ?" ;
cin>>choix ;
if (choix=='o')
goto debut ;
if (choix=='n')
cout<<"Fin" ;
}
Merci à tous.
moui c'est plus simple c'est sur,on dirait de l'assembleur avec les etiquettes...m'enfin si ca marche c'est le principal...
mamiemando
Messages postés
33453
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
6 janvier 2025
7 812
5 juil. 2005 à 21:03
5 juil. 2005 à 21:03
Si tu veux faire du c++ contemporain, remplace
par :
@+
#include <iostream.h>
par :
#include <iostream> using namespace std;
@+
mamiemando
Messages postés
33453
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
6 janvier 2025
7 812
5 juil. 2005 à 21:15
5 juil. 2005 à 21:15
Ca dit quoi de beau ?
No-miS
Messages postés
274
Date d'inscription
jeudi 30 juin 2005
Statut
Membre
Dernière intervention
29 novembre 2006
37
6 juil. 2005 à 09:36
6 juil. 2005 à 09:36
Salut
Perso les espaces de nommage j'ai pas approfondi, ça sert à quoi ?
merci, a plus.
Perso les espaces de nommage j'ai pas approfondi, ça sert à quoi ?
merci, a plus.
mamiemando
Messages postés
33453
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
6 janvier 2025
7 812
7 juil. 2005 à 01:59
7 juil. 2005 à 01:59
Euh le using namespace permet de sous entendre les std::.
Tu peux définir tes namespaces presos (namespace plop{ ...};) voire les imbriquer afin de hierarchiser tes classes. L'interêt de bien préciser le namespace (std::cout ...), c'est d'éviter les conflits si pour deux namespaces différents, il y a une même classe/membre/structure.
Tu peux définir tes namespaces presos (namespace plop{ ...};) voire les imbriquer afin de hierarchiser tes classes. L'interêt de bien préciser le namespace (std::cout ...), c'est d'éviter les conflits si pour deux namespaces différents, il y a une même classe/membre/structure.
5 juil. 2005 à 16:20
#include <iostream.h>
void main()
{
int coup ;
char c, choix ;
cin>>coup ;
do
{
while (coup!=0)
{
coup=coup-1 ;
cin>>c ;
if (c=='k')
cout<<"gagne!" ;
if (c>'k')
cout<<"En dessous" ;
if (c<'k')
cout<<"Au dessus" ;
}
cout<<"Recommencer ?" ;
cin>>choix ;
}
while (choix=='o') ;
}
Problème ... ça fait n'importe quoi :-/
j'ai tenté un programme avec ll'instruction goto mais elle ne reprend pas le programme à l'étiquette devant while alors je vais laisser tomber les goto pour le moment : s