Forum: != i else funkar ej för mig

Forum huvudsida -> Programmering -> != i else funkar ej för mig

Sidor: 1

Till botten

gillisrofl 01:25 - 15:e Juni 2010 | Post #1
Medlem
Inlägg: 4


Skicka PM
Ja så... jag har gjort så att om man skriver samma tal två gånger så ska det komma ett meddelande att man har skrivit samma tal två gånger. Jag vill dock göra ett undantag om båda talen är 7 eller 13 så att ett specielt meddelande kommer för dessa. Men istället så får jag båda texterna på dessa tal.
Har jag gjort fel någonstans?
Se rad 32 - 43 och texten jag skrivit nedanför koden.


  1. #include<iostream>
  2.  
  3. using std::cout;
  4. using std::cin;
  5.  
  6. int main()
  7. {
  8. int a;
  9. int b;
  10. int c;
  11. int tur;
  12. int otur;
  13. int tal;
  14. tur = -7;
  15. otur = -13;
  16. tal = c;
  17. //int ett_tal;
  18. //int ett_tal_till;
  19. //int summa;
  20.  
  21. cout << "Skriv in ett tal : ";
  22. cin >> a;
  23. //cin >> ett_tal;
  24. if (a == 7)
  25. {
  26. cout << " Lucky number 7 ey? ;D ";
  27. }
  28. if (a == 13)
  29. {
  30. cout << " Äsch oturs numret? :S ";
  31. }
  32.  
  33. cout << " Skriv in ett tal till : ";
  34. cin >> b;
  35. //cin >> ett_tal_till;
  36. if (b - a - a == tur)
  37. {
  38. cout << " Tror inte de går att dubble turen duh ;D ";
  39. }
  40. if (b - a - a == otur)
  41. {
  42. cout << " Inget övermod på de där talet hoppas jag :P? ";
  43. }
  44. else if (b - a - a != tur) && (b - a - a != otur)
  45. // Detta är det olösta fallet -.- se forums på blinkenlights.se
  46. // Ändrade också lite här med "&& (b - a - a != otur)". Ta bort för test först!
  47. {
  48. cout << " Samma tal igen :x? boooring ";
  49. }
  50.  
  51.  
  52. c = a + b;
  53. //summa = ett_tal + ett_tal_till;
  54.  
  55. cout << " Det blir: " << c;
  56. cout << " Dags och räkna upp till 100 med ditt tal! Tryck bara på enter du!n ";
  57.  
  58. //cout << c;
  59. //cout << summa;
  60. cout << " ";
  61.  
  62. //cin.get();
  63. //cin.get();
  64. //getchar();
  65. system("PAUSE");
  66. //Varför funkar detta bara med system pause för Q_Q?!?!?
  67.  
  68. // btw i en kommentar betyder att man gör en ny rad!
  69. return 0;
  70.  
  71.  
  72. }


Det är på rad 32 - 43 som är själva problemet. Jag skrev dit " != " så att om talet inte är tur (dvs -7) så ska följande text på rad 42 komma. Men så är inte fallet. Skriver jag t.e.x både a och b som 6 så får jag bara den texten, men om jag skriver a som 7 och b som 7 så får jag både texten på rad 34 och 42Smiley.
Funkar inte " != "? Det är visual studio 2008 jag använder. Gärna om någon kan säga vad som e fel, och gärna vad som är bättre! Sen skulle jag vara ännu gladare om ni skulle kunna ge mig en full lista på alla är-lika-med grejor som är mer än bara "==, >=, <=" o.s.v.



P.S! Jag har också en liten sidofråga om detta:

  1. #include<iostream>
  2.  
  3. using std::cout;
  4. using std::cin;
  5.  
  6. int main()
  7. {
  8. int ett_tal;
  9. int ett_tal_till;
  10.  
  11. cout << "Skriv in ett tal: ";
  12. cin >> ett_tal;
  13. cout << "Skriv in ett tal till: ";
  14. cin >> ett_tal_till;
  15.  
  16. if ((ett_tal == 7 || ett_tal == 9) && (ett_tal_till == 11 || ett_tal_till == 13))
  17. {
  18. cout << "Lösenordet är godkänt!";
  19. }
  20. else
  21. {
  22. cout << "Fel lösenord!";
  23. }
  24.  
  25. return 0;
  26. }


Hur gör jag så att man börjar från början om man skriver in fel lösenord? Inte kunnat klura ut det tyvär :p.

Tack!

~ Gillis


Senast redigerad 02:03 - 15:e Juni 2010


Kerp 08:43 - 15:e Juni 2010 | Post #2
Medlem
Inlägg: 2


Skicka PM
Du har missat ganska så många grundläggande saker i din första kod. Dessa är kompileringsfelen jag fick när jag försökte kompilera din kod, försök lösa dom själv så långt det går. Om du inte får det att funka alls kan du posta igen så hjälper jag dig.


  1. 1>main.cpp(44): error C2143: syntax error : missing ';' before '&&'
  2. 1>main.cpp(44): warning C4390: ';' : empty controlled statement found; is this the intent?
  3. 1>main.cpp(47): error C2143: syntax error : missing ';' before '{'
  4. 1>main.cpp(56): warning C4129: ' ' : unrecognized character escape sequence
  5. 1>


Jag hade också denna varningen senare när jag hade fixat kompileringsfelen.

  1. 1>main.cpp(16): warning C4700: uninitialized local variable 'c' used


Du kanske tänker att det bara är en varning så den är inte så viktigt, men just den varningen kan faktiskt få ditt program att crasha.




gillisrofl 17:12 - 15:e Juni 2010 | Post #3
Medlem
Inlägg: 4


Skicka PM
Okej tack! Ska försöka klura ut det där senare ikväll! Skriver tillbaka om jag fortfarande är fast Smiley




Sidor: 1

Forum huvudsida -> Programmering -> != i else funkar ej för mig
Atom feed

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