Avatar billede rexon Nybegynder
12. august 2004 - 16:57 Der er 8 kommentarer og
1 løsning

Restart Program

Kender i en komando der restarter programmet..
Jeg har nemmelig kodet et program der giver tilfældige x*4 stykker... men efter at man gætter rigtigt eller forkert kunne det være nice hvis man bare fik nogle nye stykker..
Avatar billede arne_v Ekspert
12. august 2004 - 16:59 #1
Normalt laver man en løkke udenom ens kode som spørger om man vil
fortsætte.
Avatar billede rexon Nybegynder
12. august 2004 - 19:28 #2
ok .. kan du evt. vise eksemplet :P ?
Avatar billede rexon Nybegynder
12. august 2004 - 19:40 #3
ahh selfølgelig skulle jeg bare lave en while løkke :)
det virker fint (THX)
men jeg vil gerne lave programmet sådan at brugeren har mulighed for at afslutte ved at skrive noget bestemt når han har lyst?
Avatar billede bertelbrander Novice
12. august 2004 - 20:13 #4
Sådan virker C/C++ ikke (medmindre du kører Windows eller bruger multitasking).

Du er nødt til at test hver gang brugeren har chance for at skrive noget.
Avatar billede acid-head Nybegynder
12. august 2004 - 20:32 #5
Du kan bare lave en while-løkke sådan ca.:

bool afslut=false;
while(!afslut)
{
  ...
}

og så ændre afslut til true når programmet skal afslutte.. Om det så er et tastatur-tast eller hvad det nu skal være..
Avatar billede acid-head Nybegynder
12. august 2004 - 20:37 #6
Du kan jo lave det sådan at når man har gennemfør de x*4 tilfældige stykker, kan man vælge mellem j og n.. Vælges j skal den bare returnere og starte igen. Vælges n kan den ændre afslut=true; og derefter afslutte..?
Avatar billede rexon Nybegynder
12. august 2004 - 21:08 #7
Har forsøgt men ved ik hvor jeg skal placere det henne:
#include <iostream>
#include <time.h>
#include <cstdlib>

using namespace std;

int rigtigt;
int svar;
int dett;
int main()
{

while (30) {
system ("CLS");
srand(time (0) );
rigtigt = rand()%10;
dett = rand()%10;
cout << "Gaet X 2.0  -- du faar nu 30 stykker hvor du skal gaette X"<< endl;
cout << "X gange " << dett << " = " << rigtigt * dett << endl;
cin >> svar;

if ( svar == rigtigt)
{
cout << "Flot! Det er rigtigt" << endl;
system ("PAUSE");
}

else
{
cout << "Nej - det er forkert! :(" << endl << endl;
cout << "Det rigtigte svar var "  << rigtigt << endl;
system ("PAUSE");
}

}

return 0;
}
Avatar billede rexon Nybegynder
12. august 2004 - 21:12 #8
Der opstår også et problem når jeg får gangestykket:
X * 0 = 0
så hvis man skriver 0 ... kan den finde på at sige at det er forkert og sige at
X= 3 f.eks
-------------------------------------
En anden ting er at jeg godt kunne tænke mig at den sagde hvor mange gange man har svaret rigtigt og hvor mange forkert :)
---------------------------------------
JA ved godt at jeg bliver ved med at uddybe spørgsmålet og det måske var mest fair at i fik rigtige mange point alle sammen :) ... men vil altså være rigtig taknemlig til den der svarer :)
Avatar billede arne_v Ekspert
12. august 2004 - 22:30 #9
Noget illustrativt kode:

#include <iostream>
#include <ctime>
#include <cmath>
#include <cstdlib>

using namespace std;

int main()
{
  char cont;
  int correct = 0;
  int wrong = 0;
  do
  {
      srand(time(NULL));
      double a = rand() % 10;
      double b = rand() % 10;
      cout << a << " * X = " << b << endl;
      cout << "X = ";
      double x;
      cin >> x;
      if(fabs(x - b/a) < 0.0001)
      {
          cout << "Rigtigt" << endl;
          correct++;
      }
      else
      {
          cout << "Forkert - rigtigt er " << (b/a) << endl;
          wrong++;
      }
      cout << "Vil du prøve igen (Y/N) ? ";
      cin >> cont;
  } while((cont=='Y') || (cont=='y'));
  cout << correct << " rigtige og " << wrong << " forkerte" << endl;
  system("PAUSE");
  return 0;
}
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester