Premiär! Fyndchans i SweClockers Månadens Drop

litet problem med 'int' och 'char'

Permalänk

litet problem med 'int' och 'char'

Jag hittar inte felet/felen i min kod som Dev++ upptäcker kan någon av er på detta forum lösa mitt fel?
här kommer koden:

1: #include <iostream> 2: #include <iomanip> 3: 4: using namespace std; 5: 6: int main() 7:{ 8: 9: setlocale(LC_ALL, "swedish"); 10: int temp = 0; 11: if (answer 'q' || answer 'Q'); 12: { 13: char answer; 14: cout << "mata in temperatur: "; 15: cin >> temp; 16: cout << temp; 17: cin >> answer; 18: cout << "stop :P\n"; 19: return 0; 20: 21: } 22: 23: else if(temp < 17) 24: { 25: 26: cout << temp < 17"\n"; 27: 28: } 29: 30: else if(temp > 25) 31: { 32: 33: return if; 34: 35: } 35:}

& är kommer de errors som jag får:

C:\Users\elev\OneDrive\Documents\programmering\8_1\8_1.cpp In function 'int main()':
10 2 C:\Users\elev\OneDrive\Documents\programmering\8_1\8_1.cpp [Error] expected ';' before 'int'
11 6 C:\Users\elev\OneDrive\Documents\programmering\8_1\8_1.cpp [Error] 'answer' was not declared in this scope
11 13 C:\Users\elev\OneDrive\Documents\programmering\8_1\8_1.cpp [Error] expected ')' before 'q'
15 10 C:\Users\elev\OneDrive\Documents\programmering\8_1\8_1.cpp [Error] 'temp' was not declared in this scope
23 2 C:\Users\elev\OneDrive\Documents\programmering\8_1\8_1.cpp [Error] 'else' without a previous 'if'
23 10 C:\Users\elev\OneDrive\Documents\programmering\8_1\8_1.cpp [Error] 'temp' was not declared in this scope
33 10 C:\Users\elev\OneDrive\Documents\programmering\8_1\8_1.cpp [Error] expected primary-expression before 'if'
33 10 C:\Users\elev\OneDrive\Documents\programmering\8_1\8_1.cpp [Error] expected ';' before 'if'
33 12 C:\Users\elev\OneDrive\Documents\programmering\8_1\8_1.cpp [Error] expected '(' before ';'

Höger klicka på bilden & öppna i ny filk. om ni inte ser den.
token

la till [code][/code]
Permalänk
Medlem

Du saknar ett ; på rad 9, du kan se i felutskriften att den når int innan den läst ett förväntat ;

Permalänk

Japp såg det nu tack, men det dyker fortfarande upp errors.
Det är som om att programmet (Dev++) upptäcker error på
nästan varenda rad.

nya errors:

12 13 C:\Users\elev\OneDrive\Documents\programmering\8_1\8_1.cpp [Error] expected ')' before 'q'
24 2 C:\Users\elev\OneDrive\Documents\programmering\8_1\8_1.cpp [Error] 'else' without a previous 'if'
27 16 C:\Users\elev\OneDrive\Documents\programmering\8_1\8_1.cpp [Error] no match for 'operator<' (operand types are 'std::basic_ostream<char>' and 'int')

34 10 C:\Users\elev\OneDrive\Documents\programmering\8_1\8_1.cpp [Error] expected primary-expression before 'if'
34 10 C:\Users\elev\OneDrive\Documents\programmering\8_1\8_1.cpp [Error] expected ';' before 'if'
34 12 C:\Users\elev\OneDrive\Documents\programmering\8_1\8_1.cpp [Error] expected '(' before ';' token

nya error koder
Permalänk
Medlem

För att nämna några problem:

if (answer 'q' || answer 'Q'); <--- du har glömt ==

return if <--- if är ett reserverat ord, du kan inte skriva så utan måste returnera ett heltal (eftersom main() är definierat till att returnera int)

Sen tror jag inte swedish är en giltig locale, bör vara sv_SE.UTF-8 eller liknande.

Visa signatur

Citera mig för svar.
Arch Linux

Permalänk
Medlem

Oftast så orsakar ett fel ytterligare fel längre ned, så fixa första felet, kompilera om, upprepa.

Du har för övrigt ett ; efter if-satsen på rad 11. Det betyder att if-satsen avslutas där, så det som du tror står i kroppen av if-satsen står i själva verket i ett nytt scope istället. Så t.ex.

if(false); { cout << "test" << endl; }

kommer alltid att skriva ut test.

Edit: Just ja, lägg gärna koden inom [­code][­/code], så blir den lättare att läsa.

Permalänk

@Dimman: ok tack rätt ny till c++

Permalänk

@Dimman: Menar du typ såhär då? setlocale(LC_ALL, "sv_SE.UTF-8");