Fungerar i codeblocks, men inte i microsoft visual c++

Permalänk
Medlem

Fungerar i codeblocks, men inte i microsoft visual c++

Hej alla!
Nybörjaren har en fråga igen...
Denna kod

#include <iostream> using namespace std; void tidomv(int tid, int& tim, int& min, int& sek); int main() { int tid; cout << "Mata in antal sekunder: "; cin >> tid; int tim, min, sek; tidomv(tid, tim, min, sek); cout << "resultatet blir: " << tid << " s= " << tim << ":" << min << ":" << sek << "\n"; ("pause"); return 0; } void tidomv(int tid, int& tim, int& min, int& sek) { /* int i; tim = tid/3600; i = tid%3600; min = i/60; sek = i%60; */ tim=tid/3600; min=tid/60 - tim*60; sek=tid%60; }

fungerar utmärkt i codeblocks, men när jag kör den i microsoft Visual c++ 2010 så går det inte..
Jag prövade att ta bort precompiled header. Då går den att köra, men när jag har knappat in sekunder så står det tryck ner valfri tangent, och när man gör det så avslutas programmet...
Jag har försökt med system pause men jag hittar ej lösningen.

Kan någon hjälpa mig med hur sjutton jag ska göra så att det skall fungera i visual c++?

Stort tack på förhand!

Permalänk
Hedersmedlem

Till att börja med menar du förmodligen

system("pause");

istället för det något krypiska

("pause")

och för det andra verkar programmet fungera som det skall. Dock är det ju ett kommandoradsprogram, så det bör fungera som sådana brukar (dvs. genom att avsluta när det är färdigt). Kör det som det är tänkt genom att köra det från ett terminalfönster.
Om du under utvecklingen vill att programmet skall stanna på något särskilt ställe (till exempel precis innan det avslutas) placerar du lämpligen en brytpunkt där (till exempel genom att flytta markören dit och trycka på F9).

Permalänk
Medlem

Någon som har några mera förslag?

Permalänk
Hedersmedlem
Skrivet av adde_84:

Någon som har några mera förslag?

Behöver du fler?

Permalänk
Medlem

Tack så mycket men jag får det inte att fungera....
Så, någon som kan hjälpa mig?
Jag kan inte komma på lösningen

Permalänk
Hedersmedlem

Vad är felet då?

Permalänk
Medlem

Har du codeblocks? och Visual c++?
Om du har det så vore det jättesnällt om du kunde se själv hur jag menar.
Det är samma problem som från början, jag vill att det ska se likadant ut i c++ som det gör i codeblocks.
Med vänligaste hälsningar

Permalänk
Medlem

Jag kan ju tillägga att jag är värdelös på programmering... =(

Permalänk
Hedersmedlem
Skrivet av adde_84:

Har du codeblocks? och Visual c++?
Om du har det så vore det jättesnällt om du kunde se själv hur jag menar.
Det är samma problem som från början, jag vill att det ska se likadant ut i c++ som det gör i codeblocks.
Med vänligaste hälsningar

Som jag sade i #2 fungerar det som det bör. Kör från kommandoraden, byt till system("pause") eller lägg till en brytpunkt för att se resultatet.

Permalänk
Medlem

Jo, jag vet att du sade det i inlägg 2 men går det att ändra på något sätt så att det inte stänger ner sig? Jag försökte först med F9 knappen, sedan med system pause.
Skulle du kunna berätta hur och vart jag ska lägga in sakerna?
Jag är som sagt helt ny på detta, har knappt suttit vid en dator överhuvudtaget innan.
Jag läser upp lite gymnasie kurser och jag och min studievägledare och jag tyckte att det skulle vara spännande med en data kurs men ja, det går inte alls bra... Så Jag vore jättetacksam om du kunde hjälpa mig

Permalänk
Medlem

En annan fråga, jag förstår inte hur du menar när du säger att jag ska köra det ifrån kommandoraden....

Permalänk
Medlem

Du kan testa med ctrl+f5 för att köra programmet utan att debugga. Då ska de stanna och vänta på valfri tangent innan programmet avslutas.
Jag antar att det är det du vill?

Permalänk
Medlem
Skrivet av hakeee:

Du kan testa med ctrl+f5 för att köra programmet utan att debugga. Då ska de stanna och vänta på valfri tangent innan programmet avslutas.
Jag antar att det är det du vill?

Tack!
Det är exakt det som jag vill!
Men, nu måste jag vara krånglig här, eftersom att det är en skoluppgift, hur kan jag få precis samma resultat ( om det är möjligt ) genom att bara köra programmet, det vill säga utan att debugga, genom att bara trycka på gröna pilen?
Tack så jättemycket än en gång!

Permalänk
Hedersmedlem
Skrivet av adde_84:

Jo, jag vet att du sade det i inlägg 2 men går det att ändra på något sätt så att det inte stänger ner sig? Jag försökte först med F9 knappen, sedan med system pause.
Skulle du kunna berätta hur och vart jag ska lägga in sakerna?

Om du till exempel ställer dig vid på/framför "return 0" och trycker på F9 (eller klickar i marginalen) bör det dyka upp en röd cirkel i marginalen. När du sedan kör programmet stannar det där tills du trycker på F5/F10/F11 eller liknande, så då hinner man se vad som står i fönstret.
Om du vill använda pause-metoden skall du alltså byta ut ("pause"); som du redan har i koden mot system("pause");.

Skrivet av adde_84:

En annan fråga, jag förstår inte hur du menar när du säger att jag ska köra det ifrån kommandoraden....

Högerklicka på projektnamnet i "Solution explorer" och välj "Open folder in file explorer". Gå upp en nivå (alt + pil upp) och högerklicka samtidigt som du håller ned skift på mappen "Debug" (eller "Release", om du kör i Release-läge). Välj "Open command window here".
Om du sedan skriver

dir *.exe

och trycker på enter listas de körbara filerna i mappen. Förmodligen heter ditt program till exempel ConsoleApplication1.exe, så du startar det genom att helt enkelt skriva

ConsoleApplication1

och trycka på enter.

Permalänk
Medlem
Skrivet av Elgot:

Om du till exempel ställer dig vid på/framför "return 0" och trycker på F9 (eller klickar i marginalen) bör det dyka upp en röd cirkel i marginalen. När du sedan kör programmet stannar det där tills du trycker på F5/F10/F11 eller liknande, så då hinner man se vad som står i fönstret.
Om du vill använda pause-metoden skall du alltså byta ut ("pause"); som du redan har i koden mot system("pause");.

Högerklicka på projektnamnet i "Solution explorer" och välj "Open folder in file explorer". Gå upp en nivå (alt + pil upp) och högerklicka samtidigt som du håller ned skift på mappen "Debug" (eller "Release", om du kör i Release-läge). Välj "Open command window here".
Om du sedan skriver

dir *.exe

och trycker på enter listas de körbara filerna i mappen. Förmodligen heter ditt program till exempel ConsoleApplication1.exe, så du startar det genom att helt enkelt skriva

ConsoleApplication1

och trycka på enter.

Tack så himla jättemycket för hjälpen!
Nu fungerar det som det ska, och jag är jättetacksam!
Ha en trevlig kväll.