Forum: Nybörjarhjälp.

Forum huvudsida -> Programmering -> Nybörjarhjälp.

Sidor: 1

Till botten

Fragmad 17:00 - 18:e April 2006 | Post #1
Medlem
Inlägg: 13


Skicka PM
Hej, jag har läst Blinkenlights nybörjarguide för c++.
Och så tänkte jag att jag skulle testa att skriva lite program för att friska upp minnet och värkligen lära mej allt.

Jag skrev min kod, men något är fel, jag har stirrat mej blind på koden och fattar fortfarande inte vad som är fel.
Skulle uppskattas om någon kollade igenom och kunde komma på ett fel. Smiley



#include<iostream>

using namespace std;

int main()

{
string janej;
int alder;

cout << "Vill du skriva in din ålder? (Svara med ja/nej)\n";
cin >> janej;

if (janej == "ja")
{
cout << "Varsågod och skriv in din ålder.\n";
cin >> alder;
}
else
{
return 0;
}

if (alder >= 16)
{
cout << "Du är äldre än mej.\n";
}
else
{
cout << "Du är yngre än mej.\n";
}

if (alder == 16)
{
cout << "Vi e lika gammla!\n";
}

system("pause");
}



Okej, nu funkar den och den klara koden ligger här över.
Tack för hjälp allesammans!

//Fragmad

-------------------------
There goes the neigborhood

Senast redigerad 00:15 - 19:e April 2006


Wazaa 17:34 - 18:e April 2006 | Post #2
Medlem
Inlägg: 3


Skicka PM
Ta bort semikolonet efter else if raden så funkar i alla fall den biten. Om du vill göra radbrytningar så använder man n och inte .n i konsol Smiley

-------------------------
"As a rule, I never touch anything more sophisticated and delicate than myself." - Manuel Calavera i Grim Fandango.

Senast redigerad 17:35 - 18:e April 2006


Independence 17:59 - 18:e April 2006 | Post #3
Administratör
Inlägg: 1800


Skicka PM
I slutet på raden med else if står det även = istället för ==.
Angående \n så är det nog bara forumet som spökar Smiley

-------------------------

Vi är riddarna som säger fiskbulle!





Fragmad 18:21 - 18:e April 2006 | Post #4
Medlem
Inlägg: 13


Skicka PM
Independence, jo såg att det stog = ist för == nu, tack. Men problemet står ännu kvar.

Dev säger: "expected primary-expression before "else"".

Vad betyder det?

Tack för svaren iaf.

-------------------------
There goes the neigborhood



Celeron 18:31 - 18:e April 2006 | Post #5
Medlem
Inlägg: 418


Skicka PM
Jag tror inte att du kan ha en if sats, en if sats till och en elsa sats till den, och sedan en else till den första if satsen. Det du egentligen vill göra är:
  1.  
  2. #include<iostream>
  3.  
  4. using namespace std;
  5.  
  6. int main()
  7. {
  8. char janej[31];
  9. int alder;
  10.  
  11. cout << "Vill du skriva in din ålder? (Svara med ja/nej)n";
  12. cin >> janej;
  13.  
  14. if (janej[0] == 'j' && janej[1] == 'a');
  15. {
  16. cout << "Varsågod och skriv in din ålder.n";
  17. cin >> alder;
  18.  
  19. if (alder <= 16)
  20. {
  21. cout << "Du är äldre än mej.n";
  22. }
  23. else
  24. {
  25. cout << "Du är yngre än mejn";
  26. }
  27. }
  28.  
  29. else if (janej[0] == 'n' && janej[1] == 'e' && janej[2] = 'j')
  30. {
  31. cout << "Okej, ha en bra dag.n";
  32. }
  33.  
  34. cin.get();
  35. return 0;


-------------------------
Det viktigaste är att ha roligt! Har ny hemsida: http://www.freewebs.com/cpperik/



Wazaa 18:37 - 18:e April 2006 | Post #6
Medlem
Inlägg: 3


Skicka PM
EDIT: Ehm, skit i min första bit, och lyssna på celeron istället. Men det efter kodrutan är fortfarande aktuellt Smiley
Ah, du kan inte göra 2 stycken else efter en if. Ifall den skulle kompileras så skulle den ändå bara köra den första eftersom else körs om inte det första är sant. Skriv alltså såhär:

if (janej[0] == 'n' && janej[1] == 'e' && janej[2] == 'j')
{
cout << "Okej, ha en bra dag.n";
}

Och så måste du lägga till
cin.ignore(255, '*n');
(* = backslash, vet inte riktigt hur man ska få till ett sådant här Smiley )
För annars hoppar den bara förbi cin.get()
Och så ska du byta håll på "<" i andra if satsen så att den skriver ut om man är yngre och inte tvärtom Smiley
När du gjort det borde det funka.

-------------------------
"As a rule, I never touch anything more sophisticated and delicate than myself." - Manuel Calavera i Grim Fandango.

Senast redigerad 18:41 - 18:e April 2006


HärJ 19:39 - 18:e April 2006 | Post #7
Moderator
Inlägg: 1198


Skicka PM
borde det inte vara ett } längst ner?

-------------------------
Tänk om jag vore en skalärprodukt!



Fragmad 19:58 - 18:e April 2006 | Post #8
Medlem
Inlägg: 13


Skicka PM
Okej, nu ska jag lägga upp en ny version av funktionerna.


{
string janej;
int alder;

cout << "Vill du skriva in din ålder? (Svara med ja/nej)\n";
cin >> janej;

if (janej == "ja");
{
cout << "Varsågod och skriv in din ålder.\n";
cin >> alder;
}
else
{
cout << "Okej, ha en bra dag.\n";
}

if (alder >= 16)
{
cout << "Du är äldre än mej.\n";
}
else
{
cout << "Du är yngre än mej.\n";
}


Men det är fortfarande problem, Dev-c++ påstår att det är fel med else raderna. Kan det vara problem med mitt dev?

-------------------------
There goes the neigborhood



Independence 21:01 - 18:e April 2006 | Post #9
Administratör
Inlägg: 1800


Skicka PM
Nu har du semikolon efter den första ifsatsen istället Smiley


if (janej == "ja");


Semikolonet på slutet på den raden ska bort. Det är aldrig semikolon på slutet av rader med if, else, while, for osv

-------------------------

Vi är riddarna som säger fiskbulle!



Senast redigerad 21:03 - 18:e April 2006


Nissebosselasse 21:17 - 18:e April 2006 | Post #10
Medlem
Inlägg: 490


Skicka PM
Jodå...

while (*p++ != '\0')
;



-------------------------
http://pushingcows.se
Gula Nallen



Celeron 06:27 - 19:e April 2006 | Post #11
Medlem
Inlägg: 418


Skicka PM
Jo, när man bara vill ha en slinga som väntar på något, men det är väl lite överkurs va? Smiley

-------------------------
Det viktigaste är att ha roligt! Har ny hemsida: http://www.freewebs.com/cpperik/



Nissebosselasse 08:53 - 19:e April 2006 | Post #12
Medlem
Inlägg: 490


Skicka PM
Nääääääääääää Smiley

-------------------------
http://pushingcows.se
Gula Nallen



Sidor: 1

Forum huvudsida -> Programmering -> Nybörjarhjälp.
Atom feed

Du får inte posta i den här tråden | Till toppen