Forum huvudsida -> Programmering -> Hjälp
Sidor: 1
RevHead | 17:24 - 25:e Februari 2008 | Post #1 | |
Medlem Inlägg: 2 Skicka PM |
Hejsan Först vill jag bara tacka de eller den som gjort denna sidan. Guiderna är mycket bra genomförda och lättförklarade. Tack! Har kommit till ''Variabler-guiden'' och har fått ett litet problem. I första guiden ''Gör ditt första program'' stog det såhär: Om programmet avslutas innan du hinner se det så kan du lägga till följande rad precis innan "return 0": cin.get(); Detta funkade i första guiden när jag gjorde ''Hello World'' I variabler guiden gjorde jag det som stog och det funkade utmärkt ( gick att kompilera och köra.) Sen tänkte jag att jag ville se det som händer i DOS-rutan (den svarta) och la till såhär: #include<iostream> using std::cout; int main() { int ett_tal; ett_tal = 12; cout << ett_tal; cin.get(); return 0; } Då gick det inte kompilera när jag la till cin.get(); före return 0; Någon som ser om jag gjort nåt fel? Senast redigerad 17:31 - 25:e Februari 2008 |
Nissebosselasse | 20:08 - 25:e Februari 2008 | Post #2 | |
Medlem Inlägg: 490 Skicka PM |
cin ligger i namnrymden std (precis som cout), och behöver skrivas med ett fullt kvalificerat namn (d.v.s., både med namnrymden och dess namn) om inte ett s.k. using-direktiv används. Det har du i koden här ovanför för just cout:
Detta säger till kompilatorn att när den träffar på cout, så ska den leta i std-namnrymden efter denna. Men cin har inget sådant direktiv, vilket leder till att kompilatorn inte förstår vad du menar. För att lösa det här kan du göra på två sätt. Antingen använder du det fullt kvalificerade namnet när du ska använda cin:
...eller så lägger du in ett using-direktiv till (precis innan eller efter det första för cout):
Här kan du läsa mer om namnrymder och using-direktivet i C++: http://www.parashift.com/c++-faq-lite/coding-standards.html#faq-27.5 (En del skulle kanske säga att ett tredje alternativ vore att öppna upp hela namnrymden std, genom att lägga in:
...överst, men det står mer om det i länken jag bifogade.) ------------------------- http://pushingcows.se Gula Nallen |
RevHead | 21:15 - 25:e Februari 2008 | Post #3 | |
Medlem Inlägg: 2 Skicka PM |
Jaså det var felet! Nu funkar det utmärkt tack för hjälpen |
Gnomen | 22:20 - 6:e April 2008 | Post #4 | |
Medlem Inlägg: 2 Skicka PM |
Jag har samma problem fast på punkt 05 inmatning. Så här ser min kod ut. Allt förutom just cin.get() kommandot fungerar som det ska. #include<iostream> using std::cout; using std::cin; int main() { int ett_tal; int ett_tal_till; int summa; cout << "Skriv in ett tal\n"; cin >> ett_tal; cout << "Skriv in ett tal till\n"; cin >> ett_tal_till; summa = ett_tal + ett_tal_till; cout << "det blir \n"; cout << summa; cin.get(); return 0; } Som ni ser har jag med using std::cin; och cin.get(); men programmet väntar ändå inte på att jag ska trycka enter. Vad har jag gjort för fel? |
Hetzz | 11:12 - 7:e April 2008 | Post #5 | |
Medlem Inlägg: 516 Skicka PM |
testa att köra cin.get() två gånger i rad. Eller testa att använda: cin.ignore(255,'\n'); cin.get(); -------------------------
|
Gnomen | 11:28 - 7:e April 2008 | Post #6 | |
Medlem Inlägg: 2 Skicka PM |
testade att köra det två ggr och det funkade, tack för hjälpen |
Sidor: 1
Forum huvudsida -> Programmering -> Hjälp
Du får inte posta i den här tråden | Till toppen
Datum
2024-05-02 13:06
Vecka: 18
Besökare
Inloggade: 0
Gäster: 605
Medlemmar
Medlemmar: 53576
Forum
Senaste inlägget: HAHA MÄNNISKAN LEVER ÄN (13:45 - 18:e Januari 2019, av Hetzz)
Wiki
Senaste ändringen:
3D (rev: 1, tid: 09:40 - 13:e November 2015)
Chatt
#blinkenlights @ Libera.Chat
Gratis shellkonton för IRC, webbsidor mm.