Avatar billede -els-echelon Nybegynder
06. maj 2004 - 21:17 Der er 11 kommentarer og
1 løsning

et loop, der "begynder forfra"

hvordan laver jeg et loop så jeg, når programmet egentligt er slut, har mulighed for at begynde (helt) forfra i programmet, med et spørgsmål der ligner noget i stil med dette:

cout << "forfra?(y/n): " << endl;
cin >> yesNo;

(eller skal det laves på en helt anden måde?)
Avatar billede arne_v Ekspert
06. maj 2004 - 21:19 #1
Måske:

do {
  ...
  cout << "forfra?(y/n): " << endl;
  cin >> yesNo;
} while(yesNo=='y' || yesNo=='Y');
Avatar billede jpk Nybegynder
06. maj 2004 - 21:21 #2
Lave en do-while uden om hele functionaliteten:


int main()
{
  do
  {
    // Funktionalitet

    char yesNo;
    cout << "forfra?(y/n): " << endl;
    cin >> yesNo;
  }
  while(yesNo == 'y')

  return 0;
}
Avatar billede -els-echelon Nybegynder
06. maj 2004 - 21:31 #3
hmm - jeg kan ikke få det til at virke :(
Avatar billede arne_v Ekspert
06. maj 2004 - 21:37 #4
Hvad skulle der ske og hvad sker der ?
Avatar billede -els-echelon Nybegynder
06. maj 2004 - 21:40 #5
hvis du mener det jeg tror du mener (det er programmet fra sidste gang ;) ), så skal man have mulighed for at begynde helt forfra i programmet, hvis man for eksempel har 2 firkanter man skal bruge arealet på, istedet for at skulle starte programmet igen.

det der sker er ikke noget - den melder en compile-error uanset hvad jeg gør af while-loopet!
Avatar billede arne_v Ekspert
06. maj 2004 - 21:44 #6
#include <iostream>
#include <cstdlib>

using namespace std;

void Areal();
void Omkreds();

int main(int argc, char *argv[])
{
  char yesNo;
  do {
      int valg;
      cout << "1 for areal." << endl;
      cout << "2 for omkreds." << endl;
      cout << endl;
      cout << "Indtast tal:" << endl;
      cout << endl;
      cin >> valg;
      system("CLS");
      if (valg == 1)
        Areal();
      else
        Omkreds();
      system("PAUSE");
      cout << "forfra?(y/n): " << endl;
      cin >> yesNo;
  } while(yesNo=='y' || yesNo=='Y');
  return 0;
}


void Firkant();
void Cirkel();

void Areal()
{
    int valg2;
    cout << "1 for firkant." << endl;
    cout << "2 for cirkel." << endl;
    cout << endl;
    cout << "Indtast et tal: " << endl;
    cout << endl;
    cin >> valg2;
    system("CLS");
    if (valg2 == 2)
      Cirkel();
    else
      Firkant();
}
 
void Firkant()
{
      int L;
      int B;
      int SquareAreal;
      cout << "indtast laengde: " << endl;
      cin >> L;
      cout << "Indtast bredde: " << endl;
      cin >> B;
      SquareAreal = L*B;
      cout << "Firkantens areal er: " << SquareAreal << " cm2" << endl;
}
 
void Cirkel()
{
        int R;
        float Pi=3.141592652;
        float CirkelAreal;
        cout << "indtast cirklens radius: " << endl;
        cin >> R;
        CirkelAreal = (R*R)*Pi;
        cout << "Cirklens areal er: " << CirkelAreal << " cm2" << endl;
}
   
void Firkant2();
void Cirkel2();

void Omkreds()
{
    int valg3;
    cout << "1 for firkant." << endl;
    cout << "2 for cirkel." << endl;
    cout << "" << endl;
    cout << "Indtast et tal: " << endl;
    cout << "" << endl;
    cin >> valg3;
    system("CLS");
    if (valg3 == 1)
      Firkant2();
    else
      Cirkel2();
}
 
void Firkant2()
{
      int L;
      int B;
      int SquareOmkreds;
      cout << "indtast laengde: " << endl;
      cin >> L;
      cout << "Indtast bredde: " << endl;
      cin >> B;
      SquareOmkreds = (L*2)+(B*2);
      cout << "Firkantens omkreds er: " << SquareOmkreds << " cm" << endl;
}
 
void Cirkel2()
{
        int R;
        float CirkelOmkreds;
        float Pi=3.141592654;
        cout << "indtast cirklens radius: " << endl;
        cin >> R;
        CirkelOmkreds = (2*Pi)*R;
        cout << "Cirklens omkreds er: " << CirkelOmkreds << " cm" << endl;
}
Avatar billede arne_v Ekspert
06. maj 2004 - 21:45 #7
compiler og kører

(det var det program ikke ?)
Avatar billede -els-echelon Nybegynder
06. maj 2004 - 21:57 #8
aye nice det virker sq! :D (sjovt nok ;))
tak for hjælpen... for 3. gang.
jeg går ikke ud fra du vil ha' point denne gang?
for så får jpk dem bare, da han kom med samme forslag :)
Avatar billede arne_v Ekspert
06. maj 2004 - 21:59 #9
jeg samler på point

:-)
Avatar billede -els-echelon Nybegynder
06. maj 2004 - 22:00 #10
hovsa - troed du var en anden egentlig ;) - du får dem da bare så :D
Avatar billede arne_v Ekspert
06. maj 2004 - 22:08 #11
Jeg tror at du tænker på Bertel Brander - han samler ikke på point.
Avatar billede -els-echelon Nybegynder
06. maj 2004 - 22:12 #12
jep det var ham - har nemlig haft lidt problemer her på det seneste, med langsom pc/net og ikke-planlagte genstartninger - men ingen sasser :S
- han hjalp mig nemlig med at andet problem i samme program :)
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