villkor i if-sats

C/C++

2 svar · 538 visningar · startad av Lina

Medlem sedan jan. 2001332 inlägg
Trådstart#1

Jahapp... Då var det dags för mig att lära mig c++ också...

Jag håller på att göra ett program som skall göra olika saker utifrån vad användaren skriver in...
Mycket enkelt... Eller hur?

Problemet jag har är att jag med hjälp av en if-sats vill kunna kontrollera användarens inmatning...
Men jag får det inte att funka...

Så här långt har jag kommit:

if (val1=="look")
		cout << "Vitt rum, en låst dörr, en släckt lampa, en kofot" << endl;
else if (val1=="go f")
	if (dorr1==oppen)
		rum=rum+1;
	else
		cout << "Det går inte, dörren är låst" << endl;
else if (val1=="go b")
	cout << "Du är i första rummet" << endl;
else if (val1=="use kofot")
{
	dorr1=oppen;
	cout << "Du går lös på dörren med kofoten och snart är du igenom!" << endl;
}

cin.get();

Det är bara det att if-satsen inte fungerar....

Variabeln val1 är av typen char och har längden 15... Den tilldelas med koden:

cin.get (val1,15)

Snälla nån hjälp!

Medlem sedan okt. 20013 217 inlägg
#2

Om du ska jämföra char* med varandra så görs detta mes functionen strcmp() eller strncmp() om man vill jämföra en sträng med viss längd.

if (val1=="look")

En jämförelse av två pekare kommer att göras och detta kommer aldrig att vara sant så if-satsen blir if(false) pga att val1=="look" blir false.

// BeatBox

Medlem sedan jan. 2001332 inlägg
#3

Jaha....

Då tror jag att jag kan komma vidare...

Tack så mycket Beatbox :birp

252 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
121 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)