Forum: Fel på kod?

Forum huvudsida -> Programmering -> Fel på kod?

Sidor: 1

Till botten

SaNz 21:16 - 7:e Januari 2006 | Post #1
Medlem
Inlägg: 77


Skicka PM
Jag gör några tester i c++ och gör några enkla satser... Men nu när jag provade detta:
  1.  
  2. #include <iostream>
  3.  
  4. int main()
  5. {
  6. using namespace std;
  7.  
  8. int godisar;
  9. cout << "Hur många godisar har du?" << endl;
  10. cin >> godisar;
  11. cout << "Okej, då tar jag några av dig!! ";
  12. godisar = godisar - 2;
  13. cout << "Nej, nu har jag bara " << godisar << " godisar!!" << endl;
  14. return 0;
  15. }

Som ni ser så ska man skriva in ett tal, men när jag gör
det och trycker på enter så stängs fönstret ner?!(Koden
kanske ser ganska konstig ut men den borde funka!(Eftersom jag gör den ur
boken C++ programmering!!!)!)
Snälla hjälp!! (Och fort!!)

Om man använder int, så ska man väl inte kunna skriva bokstäver? Eller har jag fel? För det kan jag...

-------------------------
Det är helheten som räknas... Så skit inte i hälften!

Senast redigerad 21:21 - 7:e Januari 2006


brainlessbob 23:07 - 7:e Januari 2006 | Post #2
Medlem
Inlägg: 69


Skicka PM
Koden verkar skum Smiley
Verkar inte reagera till endl.
Kanske något du har glömt?

Förövrigt så rekommenderar jag dig att inte använda using namespace std.
Samt så ska den vara efter #include delen men före allt annat för annars som koden visade så vet bara main att den finns och inga ev. funktioner.
Fast det kanske du inte gör i vanliga fall och här så kopierade du koden rakt av.

Fick det att fungera nu. Komplimerade bara koden efter jag flyttade upp using namespace std fast första endl kom inte.
Annars kan man använda cin.get(); istället det ger samma resultat.

-------------------------
Idioter kan göra underverk!

Senast redigerad 23:25 - 7:e Januari 2006


Independence 23:39 - 7:e Januari 2006 | Post #3
Administratör
Inlägg: 1800


Skicka PM
Varför skall han inte använda using namespace std; ?
Rekommomendationer i allmänhet brukar väl vara att inte använda det i kod som kommer användas i flera projekt eller skriva det i headerfiler och sånt.

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

Vi är riddarna som säger fiskbulle!





SaNz 11:23 - 8:e Januari 2006 | Post #4
Medlem
Inlägg: 77


Skicka PM
brainlessbob, man kan skriva using namespace std; inom int main() om man bara vill använda det i den funktionen. Om du skriver efter #include så blir det till alla funktioner, och detta är bara en eller hur? Så det spelar ingen roll!
Men jag kompilerade samma kod i Borland och det fungerade?! Så det måste vara en väldigt stor bugg i nyaste beta versionen av dev-c++? Men det fungerade i dev på min gamla dator... Så det är ganska mysko. Smiley

EDIT: Så jag tror att jag ska använda Borland hädanefter!

-------------------------
Det är helheten som räknas... Så skit inte i hälften!

Senast redigerad 11:34 - 8:e Januari 2006


Celeron 13:02 - 8:e Januari 2006 | Post #5
Medlem
Inlägg: 418


Skicka PM
Det är inget som helst fel på koden. Det är bara så det funkar att när programmet har utfört allt som det ska så stängs det ned. Därför behöver du använda en funktion som gör att programmet väntar och cin.get(); är en väldigt lämplig funktion till det. Men eftersom du har använt cin tidigare i programmet så ligger det kvar ett nyrads tecken i bufferten som gör att cin.get(); tror att du har tryckt ner enter. Då måste man lägga till cin.ignore(1,'\n'); innan cin.get(); för att ta bort nyradstecknet. Jag skulle säga att det är fel på Borland om fönstret är kvar med den koden för ibland så vill man inte att fönstret ska stanna uppe tills man tryckt på enter.

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



SaNz 17:37 - 8:e Januari 2006 | Post #6
Medlem
Inlägg: 77


Skicka PM
Tackar så mycket Celeron, det fungerade perfekt! Och med bara en liten extra sats, tack så mycket! Smiley
Hade lite problem med en funktion också... Men jag löste den ganska enkelt Smiley Jag hade skrivit #iostream <iostream> *HAHA* Så jag fíck till det!

-------------------------
Det är helheten som räknas... Så skit inte i hälften!

Senast redigerad 17:53 - 8:e Januari 2006


FunkyChicken 14:03 - 9:e Januari 2006 | Post #7
Nyhetsredaktör
Inlägg: 800


Skicka PM
För övrigt, det där med att skriva bokstäver till en integer fungerar alldeles utmärkt, men tecknen kommer inte att lagras som bokstäver i variabeln utan som motsvarande (numeriska) ascii-kod. Dvs 'A' tolkas som talet 65, osv.




Celeron 06:45 - 10:e Januari 2006 | Post #8
Medlem
Inlägg: 418


Skicka PM
FunkyChicken: Nej, men det vore bra om det var så! Programmet brukar krasha på något sätt om man skriver in en bokstav till en int.

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



FunkyChicken 19:14 - 10:e Januari 2006 | Post #9
Nyhetsredaktör
Inlägg: 800


Skicka PM
inte på min skola... annars brukar jag inte röra c++ så jag kan inte uttala mig om "normala" omständigheter... men jag är relativt övertygad om att jag gjort det i skolan som sagt. Visual C++ i någon version.




Sidor: 1

Forum huvudsida -> Programmering -> Fel på kod?
Atom feed

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