Forum: Simpelt nybörjarfel

Forum huvudsida -> Programmering -> Simpelt nybörjarfel

Sidor: 1

Till botten

Lenno 00:07 - 22:a November 2007 | Post #1
Medlem
Inlägg: 4


Skicka PM
#include <iostream>

using std::cout;
using std::cin;

int main()
{
int ett_tal;

cout << "Skriv ditt favorit tal: ";
cin >> ett_tal;

if (ett_tal == 17)
{
cout << "Du valde 17, det minst slumpmässiga valda talet!\n";
}
else
{
cout << "Du valde ett alldeles vanligt tal.\n";
}
cout << "Ett fönster som stannar uppe!";
cin.get();
return 0;
}

När jag skrivit in mitt tal så stängs fönstret ner direkt, vad är fel? Kollade lite i faq-tråden men blev inte klokare av den.




Hetzz 00:34 - 22:a November 2007 | Post #2
Medlem
Inlägg: 516


Skicka PM
Ska det inte gå att lösa med dubbel cin.get(); ?

Jag tror inte det är relaterat till problemet, borde man inte köra void main() istället för int?

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





Python 08:49 - 22:a November 2007 | Post #3
Medlem
Inlägg: 157


Skicka PM
main() kan inte vara void enligt ANSI-standarden. Prova att lägga till en cin.get();

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



Cpp_skater 15:46 - 22:a November 2007 | Post #4
Medlem
Inlägg: 43


Skicka PM
att lägga till ett cin.ignore() före cin.get() funkar för mig




stampe 17:10 - 22:a November 2007 | Post #5
Medlem
Inlägg: 30


Skicka PM
det finns flera alternativ, jag brukar köra med att includera

#include <coniho.h>

och sen där jag vill ha pause skriver jag

getch();

sen kan du ju oxå självklart gö som många andra

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

eller:

cin.get();
cin.get();

Lycka te




Algon_Rithm 20:01 - 22:a November 2007 | Post #6
Medlem
Inlägg: 4


Skicka PM
Jag brukar lägga in en liten rad innan slutet..

system("PAUSE");

..och det brukar funka för migSmiley

Lycka till!


-------------------------
Ingen signatur!



tobbez 22:38 - 23:e November 2007 | Post #7
Medlem
Inlägg: 364


Skicka PM
,,ven om metoderna med getch() och system() fungerar, är ingen av dem rekommenderade att använda. getch()-metoden då den inte är en standardfunktion (tillhör inte standarden), och system("pause") då den inte är platformsoberoende.

Metoden med två cin.get() är inte heller den bästa, även om den fungerar.

Mig veterligen är den rätta metoden:

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


Ett tips är också att läsa trådar med titlar som "Tips innan du skapar nya trådar": http://www.blinkenlights.se/forum/topic7/page1/




Lenno 18:37 - 24:e November 2007 | Post #8
Medlem
Inlägg: 4


Skicka PM
Ok. Tack för alla bra svarSmiley




derfian 13:43 - 25:e November 2007 | Post #9
Medlem
Inlägg: 149


Skicka PM
Det Rätta Alternativet: starta ett terminalfönster/kommandoprompt, cd:a till katalogen där ditt program ligger och kör det (foo.exe, enter)




Sidor: 1

Forum huvudsida -> Programmering -> Simpelt nybörjarfel
Atom feed

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