Denna delen av 99 uppdateras inte längre utan har arkiverats inför framtiden som ett museum.
Här kan du läsa mer om varför.
Mac-nyheter hittar du på Macradion.com och forumet hittar du via Applebubblan.

Hjälp med C++

Tråden skapades och har fått 5 svar. Det senaste inlägget skrevs .
1
  • Medlem
  • Göteborg
  • 2007-09-21 14:02

Kan någon hjälpa mig med ett problem jag har inför ett skolarbete?

Jag har skrivit ett program som fungerar som det ska men det vill inte avslutas, det går bara runt och runt.

Så här ser koden ut:

#include <iostream>
#include <string>
int main()
{

using namespace std;

int goal, goal2;

cout << "Rubrikskaparen" << endl;
cout << "______________" << endl;
cout << "Skriv namn på hemmalaget: ";
string namn1;
cin >> namn1;
cout << "Hur många mål gjorde " << namn1 << ":";
cin >> goal;


cout << "Skriv in namn på bortalaget: ";
string namn2;
cin >> namn2;
cout << "Hur många mål gjorde " << namn2 << ":";
cin >> goal2;
do
{
if (goal < goal2)
cout << namn2 << " vann med " << goal2 << endl;
else if (goal2 < goal)
cout << namn1 << " vann med " << goal << endl;
else
cout << "Matchen blev oavgjord!!!" << endl;
} while (goal == goal2);
return 0;
}

Problemet verkar vara vid "while" och när det blir oavgjort.

//Tack på förhand Mattias

  • Medlem
  • International user
  • 2007-09-21 14:22

Det ser lite märkligt ut, en do - while slinga fungerar ju så att det som står innanför do{} kommer att exekveras så länge som villkoret i while() är sant.

Jag vet inte värför du vill ha det på det sättet, om programmet bara ska ta två lagnamn och två resultat och skriva ut en rubrik så är ju hela do -while onödig.

#include <iostream>
#include <string>
int main()
{

using namespace std;

int goal, goal2;

cout << "Rubrikskaparen" << endl;
cout << "______________" << endl;
cout << "Skriv namn på hemmalaget: ";
string namn1;
cin >> namn1;
cout << "Hur många mål gjorde " << namn1 << ":";
cin >> goal;

cout << "Skriv in namn på bortalaget: ";
string namn2;
cin >> namn2;
cout << "Hur många mål gjorde " << namn2 << ":";
cin >> goal2;

if (goal < goal2)
cout << namn2 << " vann med " << goal2 << endl;
else if (goal2 < goal)
cout << namn1 << " vann med " << goal << endl;
else
cout << "Matchen blev oavgjord!!!" << endl;

return 0;
}

  • Medlem
  • Göteborg
  • 2007-09-21 14:30

Nej det e ju sant, håller på att lär mig C++ just nu och det blir ju mycket bättre så här. Vet inte varför jag snurrade in på do - while, tyckte att det verkade smidigast. Men tack så mycket för hjälpen.

Mattias

  • Medlem
  • International user
  • 2007-09-21 14:32
Ursprungligen av Moff:

Nej det e ju sant, håller på att lär mig C++ just nu och det blir ju mycket bättre så här. Vet inte varför jag snurrade in på do - while, tyckte att det verkade smidigast. Men tack så mycket för hjälpen.

Mattias

No worries. Koda lugnt

  • Medlem
  • Halmstad
  • 2007-09-21 16:05

Tur att jag inte läser C++ längre, tycker själv att de var ett helvete.

  • Medlem
  • Mölndal
  • 2007-09-21 17:07

Ja, sicken tur för dig.

1
Bevaka tråden