Permalänk
Medlem

C++ Loop fungerar ej?

Såhär är min kod. Programmet ska bara bekräfta ifall två inmatningar är lika sedan startas om. jag kan lösa problemet med en do while loop med bara ett tecken, alltså y/n eller något. Men jag vill kunna lämna flera tecken som alternativ. Typ "ja" "nej" och då tyckte jag att inlcude string var bäst, men det funkar ju inte. Var länge sen man programmera, typ tredje uppgiften jag gör på ett halvår så orsaken är väl öppenbar.

#include "stdafx.h" #include <iostream> #include "conio.h" #include <string> using namespace std; int _tmain(int argc, _TCHAR* argv[]) { char ran[] = {'a'}; char dan[] = {'a'}; string option; //jag blåmarkerar det viktiga do { cout << "inmatning 1: "; cin >> ran; cout << endl << "inmatning 2: "; cin >> dan; if(strcmp(ran, dan) == 0) { cout << "Samma sak matades in" << endl; } cout << "exit? j/n" << endl; cin >> option; } while ((option != "j") || (option != "ja")); return 0; }

Får inga errors men programmet loopar oavsett vad man fyller in i option, vad är fel?

Permalänk
Medlem

Din while-sats är fel: Medan option inte är j ELLER option inte är ja, så ska den loopa.

Om option är just "j" så är den inte "ja", alltså loopas det. Du vill ha &&

sånt här är rörigt, det kan hjälpa att bygga ett case-scenario:

om option == "ja" blir ditt exempel
while ((true) || (false));
om option == "j" blir det istället
while ((false) || (true));
om option == "tomat":
while ((true) || (true));

I samtliga exempel blir utgången true, alltså loopar den.

Visa signatur

Kom-pa-TI-bilitet

Permalänk
Hedersmedlem

Titta efter hur långa dina strängar ran och dan är, och kolla efter vad du kan råka mata in i dem.

Varför i hela fridens namn INTE genomgående använda samma strängtyp?

Visa signatur

Religion och vidskepelse är smittsamma psykiska sjukdomar, den biologiska motsvarigheten till datorvirus.
"-Pappa, pappa, idag firade vi födelsedag och hela dagis fick gå på McDonalds. - Vems födelsedag då? - En farbror som hette Lenin."

Permalänk
Medlem

Förvirring... Ska titta närmare på det nu... Jag är rätt grön på C++, håller mest på med webdesign så va snäll

Har löst allt nu, tack för hjälpen! Det uppskattas!