CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

aide pour le goto a c++

Zouave321
Zouave321
Niveau 6
14 décembre 2002 à 13:39:35

voila, j´ai pas reussis a trouver quelle était la syntaxe pour le goto, si vous pouviez donner 1 exemple ce serai cool : )

pour cet exemple par exemple :

  1. include <iostream.h>

#include <math.h>
void main()
{
cout <<"combien d´euro t´as ? "<<endl;

int euro;
cin>>euro;

cout <<"tu as"<<euro*6.55<<"francs"<<endl;

char fin;
cout <<"tapez touche pour faire un autre calcul";cin>>fin;
}

et la je voudrai que, en tapant une touche sa revienne au debut du prog...

yalala
yalala
Niveau 10
14 décembre 2002 à 13:46:26

Essayes voir ça :

  1. include <iostream.h>
  2. include <math.h>

void main()
{
cout <<"combien d´euro t´as ? "<<endl;

int euro;

debut :

cin>>euro;

cout <<"tu as"<<euro*6.55<<"francs"<<endl;

char fin;
cout <<"Un autre calcul ? o/n";cin>>fin;
if(fin=="o") goto debut;
else close();
}

Snetch
Snetch
Niveau 10
14 décembre 2002 à 13:46:54

PAS BEAU LE GOTO, pas de la bonne programmation

  1. include <iostream.h>
  2. include <math.h>

void main()
{

//AJOUT (1) SNETCH
//Boucle infinie, mais tu peux rajouter un booléen
//ce dernier te permettra de sortir de la boucle
while(true)
{
//fin ajout SNETCH
cout <<"combien d´euro t´as ? "<<endl;

int euro;
cin>>euro;

cout <<"tu as"<<euro*6.55<<"francs"<<endl;

char fin;
cout <<"tapez touche pour faire un autre calcul";cin>>fin;
//AJOUT (2) SNETCH
}
//fin ajout Snetch
}

Snetch
Snetch
Niveau 10
14 décembre 2002 à 13:49:47

Snetch Posté le 14 décembre 2002 à 13:46:54
PAS BEAU LE GOTO, pas de la bonne programmation

  1. include <iostream.h>
  2. include <math.h>

void main()
{

//AJOUT (1) SNETCH
//Boucle normale, mais tu peux rajouter un booléen
//ce dernier te permettra de sortir de la boucle
int bOnContinue = 1;
while(bOnContinue == 1)
{
//fin ajout SNETCH
cout <<"combien d´euro t´as ? "<<endl;

int euro;
cin>>euro;

cout <<"tu as"<<euro*6.55<<"francs"<<endl;

char fin;
cout <<"tapez touche pour faire un autre calcul";cin>>fin;
//AJOUT (2) SNETCH
cout<<"appuyer sur ´0´(zéro) pour continuer (sinon, un autre chiffre):"<<endl;
cin>>bOnContinue;
}
//fin ajout Snetch
}

acidparadouze
acidparadouze
Niveau 10
14 décembre 2002 à 13:50:10

Bah la tu peux faire une fonction qui fais le calcul et puis tu l´appelles. Goto c du basic ca non(dsl g jamais fait de basic : $)

Zouave321
Zouave321
Niveau 6
14 décembre 2002 à 14:01:45

ouéé merci beaucoup !

Manest2
Manest2
Niveau 9
14 décembre 2002 à 14:16:38

ARF MALHEUREUX! JAMAIS DE GOTO!

Zouave321
Zouave321
Niveau 6
14 décembre 2002 à 14:20:16

ah tiens c´est le moment de poser la question, pourquoi jamais de goto ? sa fait ralentir ou sa fait des bugs ?

Zouave321
Zouave321
Niveau 6
14 décembre 2002 à 14:25:02

ah tiens c´est le moment de poser la question, pourquoi jamais de goto ? sa fait ralentir ou sa fait des bugs ?

Manest2
Manest2
Niveau 9
14 décembre 2002 à 14:27:36

C´est pas propre!
C´est pas de la belle programmation et si t´a un projet un peu gros tu risques beaucoup plus de faire des conneries qu´autre chose!
Regarde des sources C++, tu vera jamais l´ombre d´un goto alors cas EXCEPTIONNEL... (perso j´ai jamais vu)
Bref je sais que c´est ce que mes prof a l´IUT info ont appris en premier : )
goto = 0 au devoir : )
et puis on peu tous faire sans, donc pas la peine de faire un prog qui part dans tous les sens et qui devient illisible.

Zouave321
Zouave321
Niveau 6
14 décembre 2002 à 15:07:45

snif, j´ai l´impression d´etre un gros nb mais y a un truc que j´essaie de faire sans le goto mais j´y arrive pas, pour l´instant le programme c´est :

  1. include <iostream.h>

#include <math.h>
void main()

{
int boucle = 0;
while(boucle == 0)
{

cout <<"combien d´euro t´as ? "<<endl;

int euro;
cin>>euro;

cout <<"tu as"<<euro*6.55<<"francs"<<endl;

cout<<"tape ´0´ (zero) pour faire un autre calcul, autre chiffres pour quitter"<<endl;
cin>>boucle;
}

}

mais sa me parait impossible de remplacer le texte "tape ´0´ (zero) pour faire un autre calcul, autre chiffres pour quitter" par un truc plus simple mais où la réponse est attendu avec des lettres, du genre "un autre calcul ? o/n"

Zouave321
Zouave321
Niveau 6
14 décembre 2002 à 15:27:36

ah noon c´est bon j´ai trouvé lol, me disait que c´etait bizzare de pas pouvoire faire ça lol, pour ceux que sa interresse :

  1. include <iostream.h>

#include <math.h>
void main()

{

char boucle = ´o´;
while(boucle == ´o´)
{

cout <<"combien d´euro t´as ? "<<endl;

int euro;
cin>>euro;

cout <<"tu as"<<euro*6.55<<"francs"<<endl;

cout<<"autre calcul ? o/n"<<endl;
cin>>boucle;
}

}

acidparadouze
acidparadouze
Niveau 10
14 décembre 2002 à 15:40:11
  1. include <iostream.h>

void resultat()
{
int euro;
int francs;
int nombre1;

cout <<"combien deuro tas ? "<<endl;
cin>>euro;
francs = euro * 6;
cout <<"tu as "<< francs <<" francs"<<endl;

cout <<"Voulez vous refaire un clacul?(tapez 1 si oui ou 2 sinon)" <<endl;
cin >> nombre1;

if (nombre1==1)
{
resultat();
}
if (nombre1==2)
{
}
if (nombre1 ! = 1 && nombre1!=2)
{
}
}

void main()
{
int nombre;

cout <<"Voulez vous refaire un clacul?(tapez 1 si oui ou 2 sinon)" <<endl;
cin >> nombre;

if (nombre==1)
{
resultat();
}
if (nombre==2)
{
}
if (nombre!=1 && nombre!=2)
{
}
resultat();
}

acidparadouze
acidparadouze
Niveau 10
14 décembre 2002 à 15:40:51

en plus lourd avec des conditions if (pouvant d´ailleurs etre remplacees par des switch) ; )

Kelios
Kelios
Niveau 8
14 décembre 2002 à 15:43:29

Surtout JAMAIS DE GOTO!

Bon, vu que tout le monde l´a dit ; P

Quant à Zouave, moi je ferais un :

_cgets(char *buffer);
De conio.h

comment à marche est meilleur selon moi sur du DOS que le cin:

char buffer[257], *return_value;

return_value = _cgets(buffer);

_cgets retrera les lettres dans ton buffer jusqu´à ce que [enter] sera pressé, il accepte les backspaces, bref c´est génial.

Mais cepandant, y´a juste deux trucs de spécial:
buffer[0] contiendra la taille maxi du buffer.
Il doit être initialisé au tout début
buffer[1] contiendra la taille réelle du buffer.
Les lettres comenseront à buffer[2], mais le return du _cgets est l´adresse du buffer sans les deux cochonneries avant, si bien que return_value devient en gros ton vrai truc dans lequel tu entre ta réponse.

en gros, voici ton nouveau code:

  1. include <iostream.h>
  2. include <math.h>
  3. include <stdio.h>
  4. include <conio.h>
  5. include <string.h>

void main()
{
char buffer[16+1+2], *return_value;
/* 16 : ne nombre de char
+1 : le char NULL
+2 : les deux buffer[0], buffer[1]

  • /

buffer[0]= sizeof(buffer)-2; //Init buffer[0]

while(strcmp(return_value, "o")==1)
{

cout <<"combien d´euro t´as ? "<<endl;

int euro;
cin>>euro;

cout <<"tu as"<<euro*6.55<<"francs"<<endl;

cout<<"Voulez vous quitter? o = oui/n = non"<<endl;
return_value = _cgets(buffer);
}

}

Ca devrait aller comme tu le veux, mais bon, comme toujours, il y aurait peut-être un peu d´erreurs

Kelios
---------

LcData
LcData
Niveau 6
14 décembre 2002 à 20:03:07

je parie qu il a fait du basic avant lui ! !!

ted33
ted33
Niveau 5
14 décembre 2002 à 23:55:52

ouai avec le goto, on peut quand même faire des trucs assez chiadé et tarabisquoté ; j´ai pas d´exemples a vous montrer, mais c´est le genre de trucs assez chiant à faire sans ces bon vieux goto.
La fiabilité de Linux(Le noyau, donc Linux tout cour) n´est plus à demontrer et pourtant certains fichiers sont gavé de goto.Mon pote Kernighan disait toujours : goto ok Mais goto toujours en avant et pas plus de 10 lignes il disait plein d´autre trucs assez interessant aussi; j´essairai de retrouver ces examples de goto bien foutu.

LcData
LcData
Niveau 6
15 décembre 2002 à 05:33:33

Ritchie aussi disait des trucs pas mal : )

Passage
Passage
Niveau 10
16 décembre 2002 à 10:08:58

Jamais de goto ? ????

Bon je l´ai aussi appris a l´ecole.
gna gna gna, pas casser la programmation structuré etc . ..

Bon alors, betement je me suis mis a adopter la loi pas de goto . ...

Pis je suis tombé sur des sources ou l´utilité du goto etait interressante. Je m´explique :
1 goto = Maxi 4 octect . ....
Bon alors certains avec leur grosse machine annoncent que c´est pas la place qui manque etc.

Pis l´a ou je l´ai vu c´etait plutot agreable.
Je vous donne la structure :

Fonction()
{
if( ! Initialise1( &1 ))
{
goto Clean_Fonction;
}
if( ! Initialise2( &2 ))
{
goto CleanFonction
}

return 1; // ou TRUE

CleanFonction:
Libere(Module1);
Libere(Module2);
return FALSE;
}

Perso, j´aime bien cette structure de programme ( enfin bon )

Voila, je ne l´impose pas, mais je vous demande d´y reflechir au calme. Tentez de vous faire vos regles a vous et pas de suivre celle dicté par d´autres ( j´en ai fait l´experience, on fini tres bete et tres "robot" sans regarder de l´autre coté ede la montagne)

Sarafan
Sarafan
Niveau 10
17 décembre 2002 à 08:26:44

Moi je le verrai bien comme ça ton code :

bool Fonction()
{
bool resultat = TRUE;
if( ! Initialise1( &1 ) )
{
Clean_Fonction();
resultat = FALSE;
}
else if( ! Initialise2( &2 ) )
{
CleanFonction();
resultat = FALSE;
}

return resultat;
}

void CleanFonction();
{
Libere(Module1);
Libere(Module2);
}

Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment