retourner ou avancer à une ligne ?

Statut
N'est pas ouverte pour d'autres réponses.

hoebi

Touriste
Bonjours tout le monde,

C'est encore moi :D ... Voilà, je suis occupé pour l'instant sur un petit programme perso en C/C++ et j'aimerais pouvoir faire deux choses :

- Après un mauvais mot de passe, empécher que la fenêtre dos ne ce referme, du coup retour à la question ;)

- Avoir un tableau dont une touche bien précise du clavier permettrais d'aller à un chapitre bien défini et de revenir au début du menu par la suite du style :

page principale :

Menu 1
Menu 2
Menu 3
Index
Menu 4

page suivante :

Retour à l'index
Pour ce qui est de la configuration du menu pas de prb, j'ai juste quelques problèmes pour aller à une partie du programme (en avant) ou retour à une ligne bien précise (en arrière) ...

Merci d'avance ;)
 

gogoprog

Oprahiste vaudou
Il nous faudrait un bout de ton code pour voir ce que tu veux faire,
sinon pour la gestion d'un menu c'est comme ca en general :

Code:
bool quit=false;
char choix;
while(!quit)
{
  DrawMenu();
  choix = GetChoix();
  if(choix=='a') DrawLeTrucQuandOnAppuieSurA();
  if(choix=='q') quit=true;
  /* ... */
}
C'est un exemple a completer, hein ;)
 
1er
OP
hoebi

hoebi

Touriste
Heu je me rappelle pas avoir vus le code draw dans mon cours C donc soit j'ai loupé un chapitre, soit mon cours est incomplet :oops: ... Je vais donc regarder dans mes pages pour comprendre ...

Par contre, je ne sais tj pas comment revenir à une partie bien précise du programme (à une ligne bien précise) ... Entre des () du style "return ();" ont met quoi ?

Mon code même si inutile vus qu'il est incomplet le voiçis :

// Début du programme

int main ()

{

// Mot de passe

int mp;
system ("cls");
textcolor (RED);
gotoxy (30,10);
printf ("MOT DE PASSE REQUIS :");
textcolor (YELLOW);
printf (" ");
scanf ("%d",&mp);
textcolor (RED);
if (mp!=7)
{
gotoxy (27,15);
printf ("!!! mot de passe incorrect !!!");
getch ();
return;
}
textcolor (GREEN);
gotoxy (32,15);
printf ("Mot de passe correct");
getch ();
system ("cls");

// Pseudo

textcolor (RED);
gotoxy (30,10);
char pseudo [8+1];
printf ("ENTREZ VOTRE PSEUDO :");
textcolor (YELLOW);
printf (" ");
scanf ("%s",&pseudo);
system ("cls");

// Page d'acceuil

textcolor (LIGHTBLUE);
gotoxy (5,0);
printf ("Bienvenu %s, sur ce petit programme ...",pseudo);
getch ();
}

// Fin du programme
Comme tu peux le voir j'ai pas grand chose mais dans ce cas à chaque fois qu'il tape un mauvais mot de passe il ferme ma fenêtre :?
 
Enlève le return peut-être? (je connais pas trop le c/c++ ^^)

sinon, tu mettrais pas ton test de mot de passe dans une boucle plutôt que dans un if? parce que là, tu ne peux faire qu'une erreur de mot de passe
 
1er
OP
hoebi

hoebi

Touriste
Si je retire le return il vas continuer quelque soit le résulta ... Pour la boucle je m'y prendrais comment ?
 

Jereck

Α & Ω
Staff
Code:
// Début du programme

int main ()

{
    
    // Mot de passe
    
    int mp;
    do{
        system ("cls");
        textcolor (RED);
        gotoxy (30,10);
        printf ("MOT DE PASSE REQUIS :");
        textcolor (YELLOW);
        printf (" ");
        scanf ("%d",&mp);
        textcolor (RED);
        if (mp!=7)
        {
              gotoxy (27,15);
              printf ("!!! mot de passe incorrect !!!");
              getch ();
         }
    }while (mp !=7);

    textcolor (GREEN);
    gotoxy (32,15);
    printf ("Mot de passe correct");
    getch ();
    system ("cls");
 
1er
OP
hoebi

hoebi

Touriste
Erf je l'avais oublié ce do/while :oops: ... Merci pour ton aide et surtout pour avoir perdu de ton temps à refaire mon code :? :wink:
 

gogoprog

Oprahiste vaudou
C'est comme j'avais mis ;)
Pour les draw et tout, ca n'existe pas, je les ai inventés.
Ca represente les fonctions a faire toi-meme...

bonne continuation!
 
Statut
N'est pas ouverte pour d'autres réponses.
Haut