Forum: C++ Nybörjarguide

Forum huvudsida -> Kommentarer -> Paket -> C++ Nybörjarguide

Sidor: 1 2 3 4 5

Till botten

FunkyChicken 15:18 - 17:e Mars 2008 | Post #76
Nyhetsredaktör
Inlägg: 800


Skicka PM
Det blir så eftersom det ligger en ensam radbrytning (retur) kvar i inbufferten efter din cin. Ett vanligt sätt att lösa detta är att lägga följande rad innan din cin.get:

cin.ignore(255,'\n');

Detta tömmer bufferten på alla nyradstecken, eller i detta fall, upp till 255 stycken.

Om du undrar över någon funktion är det barqa att fråga!




spite_nike 15:23 - 17:e Mars 2008 | Post #77
Medlem
Inlägg: 3


Skicka PM
Ahh ok, då vart de mer logiskt heheSmiley Tack så mycket ^^

-------------------------
"Where in the Nine Hells did you ever get the notion I would fight fair?EUR
- Drizzt DoEUR(TM)Urden



piers 17:58 - 17:e Mars 2008 | Post #78
Medlem
Inlägg: 14


Skicka PM
Hej.. Jag har kommit igång lite med artiklen nu. Jag har bara lite problem jag är på kapitel inmatning. Man ska skriva in ett tal. Så skriver jag typ 2, sen ska man skriva in ett tal till, så skriver jag 3 så räknar programet ut att det blir 5. Men det stängs ner direkt när jag trycker på enter efter att jag skrivit 3, så jag hinner precis se att programmer skriver ut 5. Hur gör jag så att programet inte stängs ner där?

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





FunkyChicken 19:35 - 17:e Mars 2008 | Post #79
Nyhetsredaktör
Inlägg: 800


Skicka PM
Man lägger in en cin.get() sist i programmet, precis som spite_nike sa ovan. Detta står utförligt förklarat i den här tråden: http://www.blinkenlights.se/forum/topic7/page1/ där även svaret på sprite_nikes fråga finns.




piers 16:22 - 18:e Mars 2008 | Post #80
Medlem
Inlägg: 14


Skicka PM
Jag förstår inte riktigt var jag ska skriva det.
#
#include<iostream>
#

#
using std::cout;
#

#
int main()
#
{
#
int ett_tal;
#
ett_tal = 12;
#

#
cout << ett_tal;
#

#
return 0;
#
}

Var ska jag lägga till cin.get()?

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





Python 17:22 - 18:e Mars 2008 | Post #81
Medlem
Inlägg: 157


Skicka PM
  1. #
  2. #include<iostream>
  3. #
  4.  
  5. #
  6. using std::cout;
  7. #
  8.  
  9. #
  10. int main()
  11. #
  12. {
  13. #
  14. int ett_tal;
  15. #
  16. ett_tal = 12;
  17. #
  18.  
  19. #
  20. cout << ett_tal;
  21. #
  22.  
  23. #
  24. cin.get(); //<---- Här ska det vara
  25. return 0; //För här stängs programmet ner
  26. #
  27. }


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

Senast redigerad 17:24 - 18:e Mars 2008


piers 22:28 - 18:e Mars 2008 | Post #82
Medlem
Inlägg: 14


Skicka PM
Jag testade ned det men då fungerar det inte, den raden blir rödmarkerad när man testar. Vad beror det på?

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





Python 07:48 - 19:e Mars 2008 | Post #83
Medlem
Inlägg: 157


Skicka PM
Precis som cout så ligger cin i namespacen std.
Du måste alltså skriva
  1. using std::cin;



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

Senast redigerad 08:11 - 19:e Mars 2008


spite_nike 15:29 - 2:a April 2008 | Post #84
Medlem
Inlägg: 3


Skicka PM
,,r det bara jag, eller borde vi inte ha ett

using std::endl;

i del 15? Om det bara är en liten miss undrar ja varför ingen annan har märkt det tidigare eller har de bara inte ändrats än? xD

För mig funkade de inte iaf om ja inte la till detSmiley

-------------------------
"Where in the Nine Hells did you ever get the notion I would fight fair?EUR
- Drizzt DoEUR(TM)Urden

Senast redigerad 20:04 - 2:a April 2008


piers 14:15 - 11:a Juni 2008 | Post #85
Medlem
Inlägg: 14


Skicka PM
Har en fråga ang. slumptal.

Jag förstår inte hur jag ska göra så att detta blir ett tal mellan 20 och 10:

int mot_tal = (mot_slumptal % 20) + 10;
cout << mot_tal;

Det borde väl vara rätt, men jag fick 28 och sånt ett flertal gånger.


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





ozamosi 14:22 - 11:a Juni 2008 | Post #86
Administratör
Inlägg: 1129


Skicka PM
Modulo-funktionen (%) gör så att man får resten vid en division av vänsterledet på högerledet - i praktiken gör det att vi får ett tal mellan 0 och (högerledet-1). (mot_slumptal % 20) ger alltså ett tal mellan 0 och 19. Lägger du till 10 till det talet hamnar det följaktligen mellan 10 och 39

-------------------------
Ljusblå



piers 12:50 - 12:a Juni 2008 | Post #87
Medlem
Inlägg: 14


Skicka PM
Okej, tack. Men hur ska jag skriva i så fall?

Mvh Jesper

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





Tesuki 17:00 - 12:a Juni 2008 | Post #88
Medlem
Inlägg: 122


Skicka PM
eftersom modulo är tal mellan 0 till 19 så vill du. vilket är 20tal. men du vill köra mellab 0-9 (10tal)
så kör du "mot_slumptal % 10" så får du talen 0-9
och sedan vill du lägga till 10 på detta så har du 10-19.

altså:

int antal_tal = 10; int start_tal = 10;
int mot_tal = (mot_slumptal % antal_tal) + start_tal;
cout << mot_tal;






piers 15:15 - 16:e Juni 2008 | Post #89
Medlem
Inlägg: 14


Skicka PM
Tack...

Sen har jag en fråga till: För tillfället använder jag Dev c++, men jag funderar på att byta till Visual C++ 2008 Express Edition.

Det jag undrar är om koderna fungerar likadant i de båda programmen?

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



Senast redigerad 15:15 - 16:e Juni 2008


FunkyChicken 18:01 - 16:e Juni 2008 | Post #90
Nyhetsredaktör
Inlägg: 800


Skicka PM
Ja




adri 22:17 - 9:e Oktober 2008 | Post #91
Medlem
Inlägg: 3


Skicka PM
Vid delen om slump tal, ska det inte vara semikolon vid:

iSlumptal = rand() % 6 + 1

Det funkar om jag sätter dit det men inte annars. ,,r detta ett fel i guiden eller någonstans av mig?




suiperwaffle 17:04 - 19:e April 2009 | Post #92
Medlem
Inlägg: 4


Skicka PM
cout << "Skriv in ett tal: ";

den raden funkar inte.Smiley
vet inte vad som e fel.




FunkyChicken 00:49 - 20:e April 2009 | Post #93
Nyhetsredaktör
Inlägg: 800


Skicka PM
Det är inte fel.




NetNinja 12:25 - 21:a April 2009 | Post #94
Medlem
Inlägg: 116


Skicka PM
Om det inte är den raden kan det vara raden ovanför. Skriv lite mer kod och vilka errors du får osv

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





BlåMes 14:38 - 9:e Maj 2009 | Post #95
Medlem
Inlägg: 3


Skicka PM
Tjena! Tänkte lära mig lite och jag kommer till steg 5 då man ska skriva in en siffra och den skriver ut den igen. Men så fort jag skrivit in en siffra och trycker enter så stänger allting ner.
Samma sak när den ska plusa ihop två tal så stänger den ner när den ska visa resultatet.

Använder Dev-C++.
Tacksam för svar!

EDIT: Hitta nu en lösning!
Kunde använda mig utav system("PAUSE");Smiley


Senast redigerad 15:09 - 9:e Maj 2009


BlåMes 15:10 - 9:e Maj 2009 | Post #96
Medlem
Inlägg: 3


Skicka PM
Tjena! Tänkte lära mig lite och jag kommer till steg 5 då man ska skriva in en siffra och den skriver ut den igen. Men så fort jag skrivit in en siffra och trycker enter så stänger allting ner.
Samma sak när den ska plusa ihop två tal så stänger den ner när den ska visa resultatet.

Använder Dev-C++.
Tacksam för svar!




martin310 19:30 - 9:e Maj 2009 | Post #97
Medlem
Inlägg: 132


Skicka PM
Använd cin.get();

Tips: Kolla här: http://www.blinkenlights.se/forum/topic7/page1/ innan du postar!

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

Hjälp jorden med Granola, det är gratis och funkar på både Windows och Linux, och försämrar inte datorns prestandad!





BlåMes 16:17 - 10:e Maj 2009 | Post #98
Medlem
Inlägg: 3


Skicka PM
    Citat av martin310:
Använd cin.get();

Tips: Kolla här: http://www.blinkenlights.se/forum/topic7/page1/ innan du postar!


Prövade med cin.get();

Funkade ändå inte. Men det är löst nu så.




seblos 17:48 - 14:e Februari 2010 | Post #99
Medlem
Inlägg: 4


Skicka PM
På kapitel 5 "inmatning" så kan jag få fram summan av ett_tal + ett_tal_till om variablerna är bestämda t. ex ett_tal = 1 ett_tal_till = 2 då står det 3.
Men när jag skriver så att jag ska skriva variablernas värde vägrar datorn ge summan Smiley Hoppas på hjälp trots gammal tråd. tack på förhand.


Senast redigerad 20:21 - 14:e Februari 2010


svampenn 11:39 - 15:e Februari 2010 | Post #100
Medlem
Inlägg: 17


Skicka PM
Hej Seblos.

Det skulle underlätta om du postade din kod så att man kan se om du har gjort någonting fel.

Jag har ingen kompilator framför mig, men nedan kod kan du använda som referens, den bör fungera.

  1. #include<iostream>
  2.  
  3. /*
  4. Du kan lägga till
  5. using namespace std;
  6. eller
  7. using std::cout;
  8. using std::cin;
  9. om du vill slippa skriva std:: innan varje cout, cin osv.
  10. */
  11.  
  12. int main()
  13. {
  14.  
  15. // Börja med att deklarera ett_tal, ett_tal_till och summa, samt tilldela dem värdet 0
  16. int ett_tal = 0;
  17. int ett_tal_till = 0;
  18. int summa = 0;
  19.  
  20. // Be användaren mata in ett tal (ett_tal)
  21. std::cout << "Skriv in ett tal: ";
  22. std::cin >> ett_tal;
  23.  
  24. // Be användaren mata in ett tal till (ett_tal_till)
  25. std::cout << std::endl << std::endl;
  26. std::cout << "Skriv in ett tal till: ";
  27. std::cin >> ett_tal_till;
  28.  
  29. // Tilldela summa det som användaren matade in i ett_tal och ett_tal_till
  30. summa = (ett_tal + ett_tal_till);
  31.  
  32. // Skriv ut resultatet
  33. std::cout << std::endl << std::endl;
  34. std::cout << "Summan av " << ett_tal << " och " << ett_tal_till << " ar " << summa;
  35.  
  36. return 0;
  37. }





Sidor: 1 2 3 4 5

Forum huvudsida -> Kommentarer -> Paket -> C++ Nybörjarguide
Atom feed

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