Gå til innhold

Anbefalte innlegg

Hei

 

Jeg prøver å lære meg C++, men jeg har litt problemer med MSVC++.

 

Jeg lager et Win32 console prosjekt, regner med at det er riktig. Problemet er at når jeg tester programmet så lukker det seg før jeg får sett resultatet. Koden er som følger:

#include <iostream>

using namespace std;
int main()
{
int answer;

answer=1+1;
cout << answer << endl;

return 0;
}

 

Jeg kan selvfølgelig legge med en cin.get() på slutten, men jeg lurer på om det går ann å ordne dette på en annen måte.

 

Et annet "problem" er når jeg lager et nytt prosjekt, så må jeg fjerne masse filer og endre på noen saker for å få et "rent" prosjekt med bare en source fil. I et nytt prosjekt så kommer det med en headerfil eller to, som jeg ikke vil ha med, samt at jeg må skru av "Precompiledheaders" for å kompilere. Er det noen annen måte å lage et nytt prosjekt uten alt det "rotet"? =p

 

Finnes det noen enkle innføringer i VC++ .Net på nettet?

Lenke til kommentar
Videoannonse
Annonse

I den utaterte borland kompilatoren min er det bare å høyreklikke->target expert-> og så gjøre om et eller annet der. Det har ikke vært sånn på de andre kompilatorene jeg har testet...

Og det rotet, mener du sånn en .cpp-fil, en backup fil, en .obj fil og alt det der?

De skal da være med de?

Edit: Var litt "feilpost" på en måte(leste ikke posten godt nok...)

Edit2: Man kan også bruke system("pause") men det er i følge flere på forumet(ihvertfall en) et dårlig alternativ(regner med at det ikke var dette du var ute etter.

Endret av zirener
Lenke til kommentar

I VC++ 6 kan man velge å starte et konsoll-prosjekt uten noe "tull" (Heter "Empty console project" e.l.). Om det finnes noen tilsvarende i .NET vet jeg ikke.

 

Andre alternativer til cin.get():

- getch() i conio.h

- system("pause")

- ncurses getch()

- kjøre programmer fra konsollet

 

Ulemper: De tre første følger ikke standarden, er dermed "bad programming practise" og er ikke "portabelt". Den siste kan være litt kjedelig å måtte gjøre hele tida.

cin.get() er, av grunner diskutert tidligere ved flere anledninger, den beste måten. Du kan evt. lage en funksjon a la dette:

 

void wait_keypress()
{
    std::cout << "Hit enter key to continue.\n";
    std::cin.ignore();
    std::cin.get();
}

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...