Hejsan Hej! dessutom så missar du skillanden mellan att jämföra två varaibler och tilldela en variabelNybörjarhjälp
Får inte programmet nedan att fungera.
Eftersom jag är nybörjare så kanske programmet inte är den bästa
programmeringen ni har sett, men är tacksam för om ni kan se vad som är fel.
FEL = Får ett oavgjort resultat hela tiden.
Mvh Urban
// Sax, Påse eller Sten
#include <iostream>
#include "iodos.h"
using namespace std;
int main()
{
// Inmatning av namn
dos_console();
char namn[30];
cout << "Skriv in ditt namn: ";
cin.getline(namn,30);
// spelarval
spelarval:
int val, valSax, valSten, valPose;
cout << endl << "Välj 1=sax, 2=påse, 3=sten: ";
cin >> val;
if ( val == 1)
{
val == valSax;
cout << namn << " valde sax";
}
else if ( val == 2)
{
val == valPose;
cout << namn << " valde påse";
}
else if ( val == 3)
{
val == valSten;
cout << namn << " valde sten";
}
else
{
cout << "Fel tal, försök igen" << endl;
goto spelarval;
}
// slumpval av datorn
srand ( time(0));
int dator = rand()%3 +1, sax , pose, sten;
if (dator == 1)
{
dator == sax;
cout << " - Datorn valde sax";
}
else if (dator == 2)
{
dator == pose;
cout << " - Datorn valde påse";
}
else
{
cout << " - Datorn valde sten";
}
// Slutresultat
if (((val==valSax && dator==pose) || (val==valPose && dator==sten) || (val==valSten && dator==sax)))
{
cout << "\nJag vann";
}
else if (((val==valSax && dator==sten) || (val==valSten && dator==pose) || (val==valPose && dator==sax)))
{
cout << "\nDatorn vann";
}
else
{
cout << "\nOavgjort";
}
return 0;
}Sv: Nybörjarhjälp
Du tilldelar aldrig valSax, valSten, valPose några värden.
Alltså kommer dina if satser utvärderas till "falska".
//HåkanSv:Nybörjarhjälp
exempel jämförelse:
if (val ==2 ) /* oservera TVÅ stycken lika med tecken " == " */
{
...
}
exempel tilldelning
if (val ==2 )
{
datår = påse; /* oservera ETT lika med tecken " = " */
}