webForumDet fria alternativet

villkor i if-sats

C/C++

2 svar · 519 visningar · startad av Lina

Medlem sedan jan. 2001332 inlägg
Frågan#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

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