residenevil Skrevet 6. februar 2009 Del Skrevet 6. februar 2009 Du må kompilere et C++ program før du kan kjøre det.Men du trenger bare kompilere det én gang, så har du en .exe fil du kan bruke. ok. takk Lenke til kommentar
Requi Skrevet 20. september 2009 Del Skrevet 20. september 2009 (endret) Hva skjer? Vinduet lukker seg med en gang jeg har skrevet inn tallet og trykket enter. Altså koden fungerer, men vinduet lukker seg med en gang selv om jeg har skrevet inn cin.get(); og return 0;. Jeg bruker Visual C++ 2007. En ting jeg ikke helt vet er denne: #include "stadafx.h" #include "stdafx.h" // operating with variables #include <iostream> int main () { using namespace std; int randomnumber; cout << "Type in a number to generate a random one: "; cin >> randomnumber; cout << "Your new random number is "; randomnumber = randomnumber * 3.14; cout << randomnumber; // terminate the program: cin.get(); return 0; } En liten ting til er: hvordan kan jeg finne ut hva som er galt med koden min om jeg har skrevet noe feil i koden? Slik at jeg trykker på en knapp som markerer hva jeg mangler/har skrevet feil med en gul (eller annen farge) markeringstusj-lignende greie i Microsoft Visual C++? Edit: Jeg skrev cin.ignore(); under cout << randomnumber;, og da ordnet alt seg. Hvorfor må jeg ha med cin.ignore() for at vinduet ikke skal lukke seg? Jeg prøvde å skrive enda en cout << "blablabla"; bak randomnumber; uten cin.ignore(); men vinduet lukket seg da også. Hvorfor må jeg ha med cin.ignore(); inne i koden (har det noe å si hvor den befinner seg i koden?) slik at vinduet ikke lukker seg etter jeg har skrevet inn et "random number" ? Her er den nye koden (ryddet opp i også). #include "stdafx.h" #include <iostream> int main () { using namespace std; int randomnumber; cout << "Type in a number to generate a random one: " ; cin >> randomnumber; cout << endl; cout << "Your new random number is: "; randomnumber = randomnumber * 3.14 ; cout << randomnumber ; cin.ignore(); cout << ", " << endl; cout << "what do you want to do with it?" << endl; cin.get(); return 0; } Men jeg vil fortsatt vite det med hvordan man kan bruke Visual C++ til å finne feil for deg i kodevinduet, slik at man enkelt kan rette dette opp. Endret 20. september 2009 av Requi Lenke til kommentar
Giddion Skrevet 20. september 2009 Del Skrevet 20. september 2009 Litt usikker på hva du spør om. For å finne feil du får under kompilering er det ingen automatisk måte å finne ut hvor feilen ligger, men feilmeldingene du får under kompilering sier hvor kompilering stopper og det pleier gi gode hint om hvor feilen ligger. For å finne feil i et program som er kompilert må du bruke debug funksjonen i vs. Funksjonene man bruker for å debugger er nok til å fylle bøker, men for enkel feilsøking kan du jo merke en linje i koden så trykke F9 for så starte programmet. Når programmet har kommet til linjen du har merket vil det stopppe og du kan lese variabler og andre fiffie ting om statusen til programmet ditt. Lykke til Lenke til kommentar
GeirGrusom Skrevet 20. september 2009 Del Skrevet 20. september 2009 Den enkleste løsningen er å kjøre cin.get to ganger. int main(int argc, char** argv) { cin.get(); cin.get(); return 0; } Error list er skrudd av som default (av en eller annen grunn) Trykk på View->Other Windows->Error List Trykk på både Errors og Warnings (da dukker både errors og warnings opp) Det er ingen umiddelbar feilvisning i Visual C++ slik som i C# og Visual Basic, da C++ syntaks er en del mer komplisert å parse (eller kanskje bare C++ teamet er slappere på dette enn VB og C# teamene) Lenke til kommentar
LostOblivion Skrevet 21. september 2009 Del Skrevet 21. september 2009 Poenget her er jo at vinduet forsvinner når programmet ditt har eksekvert ferdig, så løsningen er å blokke programmet ditt når det er ferdig med det det skal gjøre, noe som gjøres lettest med å la det vente på en leseoperasjon. Lenke til kommentar
TheMaister Skrevet 4. juli 2010 Del Skrevet 4. juli 2010 I C: fflush(stdin); getchar(); Kanskje litt seint, men fflush på input-streamer er udefinert. Bør i såfall kjøre: int c; while((c = getchar()) != '\n' && c != EOF); getchar(); eller noe sånt. Lenke til kommentar
Thomas. Skrevet 6. desember 2010 Del Skrevet 6. desember 2010 Du kan bruke _getch() for å hindre at vinduet lukker seg også. Da må conio.h inkluderes. #include <iostream> #include "conio.h" using namespace std; int main() { // Printer ut Hei cout << "Hei"; // Hindrer at vinduet lukkes _getch(); } Lenke til kommentar
GeirGrusom Skrevet 6. desember 2010 Del Skrevet 6. desember 2010 conio.h er vel det en kaller deprekert. Den skal helst ikke brukes, ettersom den ikke er egentlig så veldig standard. Faktisk ikke i det hele tatt, og er spesifikk egentlig for MS-DOS. Det er ikke engang noe som er laget av Microsoft, og funksjonaliteten varierer fra kompilator til kompilator. Den er ikke vanlig på UNIX systemer. conio.h is a C header file used in old MS-DOS compilers to create text user interfaces. It is not described in The C Programming Language book, and it is not part of the C standard library, ISO C nor is it required by POSIX. Lenke til kommentar
khaiern Skrevet 3. februar 2013 Del Skrevet 3. februar 2013 Det aller lettest er jo å rett å slett høyreklikke på prosjektet->property->configuration properties->linker->system og der finner du Subsystem øverst, velg Console fra nedtrekksmenyen. En permanent løsning for hvert prosjekt. Å vente på tastetrykk eller bruke kode for å fryse vinduet er dårlig skikk og vane Lenke til kommentar
GeirGrusom Skrevet 6. februar 2013 Del Skrevet 6. februar 2013 Det aller lettest er jo å rett å slett høyreklikke på prosjektet->property->configuration properties->linker->system og der finner du Subsystem øverst, velg Console fra nedtrekksmenyen. En permanent løsning for hvert prosjekt. Å vente på tastetrykk eller bruke kode for å fryse vinduet er dårlig skikk og vane Og hva skal dette rette? Et console program i Visual Studio har nødvendigvis Console satt som subsystem fra før? Ihvertfall tidligere utgaver av Visual Studio ville ikke pause programmet etter det avsluttet med unntak av dersom du kjørte det uten å attache debuggeren (Shift+F5). Er dette endret i 2012? Lenke til kommentar
khaiern Skrevet 6. februar 2013 Del Skrevet 6. februar 2013 Og hva skal dette rette? Et console program i Visual Studio har nødvendigvis Console satt som subsystem fra før? Ihvertfall tidligere utgaver av Visual Studio ville ikke pause programmet etter det avsluttet med unntak av dersom du kjørte det uten å attache debuggeren (Shift+F5). Er dette endret i 2012? Er hvertfall slik i 2010 og 2012. Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå