Pb de sous programme

Signaler
Messages postés
8
Date d'inscription
dimanche 10 février 2008
Statut
Membre
Dernière intervention
2 septembre 2009
-
Messages postés
8
Date d'inscription
dimanche 10 février 2008
Statut
Membre
Dernière intervention
2 septembre 2009
-
bonjours a tous voila mon problème je voudrait que à la ligne 78 quand l'utilisateur appui sur la touche 'a' mon sous programme ce lance mais je n'arive pas à l'appeler vous pouvez m'aidez? (je veut enlevé les lignes 80 à 83 et les remplacer par l'appel)
#include <winbgim.h>
int resultat()
{
      int i;
      
      initwindow(790,570);
      setbkcolor(GREEN);
      cleardevice();
      setcolor(RED);
      settextstyle(10,0,12);
      outtextxy(160,175,"Bravo");
      setlinestyle(0, 0, 6);
      line(50, 100, 130, 190);
      delay(50);
      line(50, 250, 130, 190);
      delay(50);
      line(50, 250, 130, 300);
      delay(50);
      line(130, 300, 50, 400);
      delay(50);
      line(50, 400, 250, 330);
      delay(50);
      line(250, 330, 330, 400);
      delay(50);
      line(330, 400, 420, 330);
      delay(50);
      line(420, 330, 500, 400);
      delay(50);
      line(580, 330, 500, 400);
      delay(50);
      line(580, 330, 750, 400);
      delay(50);
      line(750, 400, 655, 300);
      delay(50);
      line(655, 300, 750, 250);
      delay(50);
      line(750, 250, 655, 170);
      delay(50);
      line(655, 170, 750, 100);
      delay(100);
      line(750, 100, 560, 170);
      delay(100);
      line(560, 170, 470, 100);
      delay(100);
      line(470, 100, 390, 170);
      delay(100);
      line(390, 170, 310, 100);
      delay(100);
      line(310, 100, 230, 170);
      delay(100);
      line(230, 170, 50, 100);
      for (i=0;i<=15;i++)
      {   setcolor(i);
          settextstyle(6, 0, 4);
          outtextxy(220, 430, "Vous gagnez 1 point");
          settextstyle(10,0,12);
          outtextxy(160,175,"Bravo");
          delay(100);
      }


}
main()
{
      char r;
      initwindow(790,570);
      setbkcolor(GREEN);
      cleardevice();
      setcolor(BLUE);
      settextstyle(6,0,1);
      outtextxy(25,275,"Bonjour et bienvenue dans mon nouveau jeu");
      outtextxy(25,305,"Pour répondre appuyer sur la touche correspondant à votre choix");
      outtextxy(75,365,"Question 1 :  combien font 3.5 + 3.5?");
      outtextxy(95,395,"a: 7");
      outtextxy(95,425,"b: 5");
      outtextxy(95,455,"c: 6");
      outtextxy(95,485,"d: milou");
      r=(char) getch();
      if (r == 'a')
      {
           cleardevice();
           setcolor(RED);
           settextstyle(6,0,6);
           outtextxy(90,230,"Bravo");
      }
      else if (r == 'b')
      {
           cleardevice();
           setcolor(RED);
           settextstyle(6,0,6);
           outtextxy(90,230,"nul");
      }
      else if (r == 'c')
      {
           cleardevice();
           setcolor(RED);
           settextstyle(6,0,6);
           outtextxy(90,230,"nul");
      }
      else if (r == 'd')
      {
           cleardevice();
           setcolor(RED);
           settextstyle(6,0,6);
           outtextxy(90,230,"nul");
      }
      delay(2000);
      cleardevice();
      setcolor(BLUE);
      settextstyle(6,0,1);
      outtextxy(75,365,"Question 2 :  comment dit-on une encre en anglais?");
      outtextxy(95,395,"a: an encore ");
      outtextxy(95,425,"b: a ancore");
      outtextxy(95,455,"c: an ancore");
      outtextxy(95,485,"d: a encore");
      r=(char) getch();
      if (r == 'a')
      {
           cleardevice();
           setcolor(RED);
           settextstyle(6,0,6);
           outtextxy(90,230,"perdu");
      }
      else if (r == 'b')
      {
           cleardevice();
           setcolor(RED);
           settextstyle(6,0,6);
           outtextxy(90,230,"faux");
      }
      else if (r == 'c')
      {
           cleardevice();
           setcolor(RED);
           settextstyle(6,0,6);
           outtextxy(90,230,"correct");
      }
      else if (r == 'd')
      {
           cleardevice();
           setcolor(RED);
           settextstyle(6,0,6);
           outtextxy(90,230,"c'est pas ça");
      }
     
     delay(5000);   
      closegraph();
      system("PAUSE");
}

6 réponses

Messages postés
482
Date d'inscription
vendredi 26 août 2005
Statut
Membre
Dernière intervention
5 décembre 2009
1
Bonjour,

Question 2 :
encre = ink
ancre = anchora b c = d = faux !

Jean-François
Messages postés
8
Date d'inscription
dimanche 10 février 2008
Statut
Membre
Dernière intervention
2 septembre 2009

merci pour cet oublie mais sinon personne n'a d'idée?
Messages postés
482
Date d'inscription
vendredi 26 août 2005
Statut
Membre
Dernière intervention
5 décembre 2009
1
Ca ne suffit pas ?

if (r == 'a')
{
   resultat(); // gagné
}
else if (r == 'b')
{
   ...
     
D'autre part resultat() est sensé retourné un entier ! il manque genre return 0; à la fin ou alors passer resultat() en void, ce qui serait plus logique ici.
Jean-François
Messages postés
8
Date d'inscription
dimanche 10 février 2008
Statut
Membre
Dernière intervention
2 septembre 2009

merci sa marche presque sauf que le problème est que j'obtient en appuyant sur 'a' une fenetre noire.
Messages postés
482
Date d'inscription
vendredi 26 août 2005
Statut
Membre
Dernière intervention
5 décembre 2009
1
Ne connaissant pas la librairie winbgim, je ne peux pas en dire plus sur son utilisation !

Jean-François
Messages postés
8
Date d'inscription
dimanche 10 février 2008
Statut
Membre
Dernière intervention
2 septembre 2009

Je te remercie jfrancois de t'être pencher sur mon problème. Dans le cas ou je ne puisse parvenir à faire de sous programme et bien tant pis je ferai du copier coller. Jespère que quelqu'un pourra m'aider avant ^^.