💬
Logga in
Fuska.se

C++ Fråga

19 svar · startad

Nivå 6 · Fuskare
Trådstartare #1

Det är så att jag behöver anropa ett annat C++ program till mitt program. Alltså jag vill att när man trycker på en bestämd knapp så ska det andra programmet öppnas i programmet som redan är uppe. Hur ska jag göra det?

Nivå 6 · Fuskare
#2

Hur menar du med "öppnas i programmet som redan är uppe"?

 

För att anropa program borde du kunna köra "system("Ditt program");".

Nivå 6 · Fuskare
#3

beror ju lite på kompilatorn också, det finns ju alltid special-funktioner i olika kompilatorer, så att skriva vad du använder vore trevligt, då det blir lättare med vissa kompilatorer. Sen programmet du tänker öppna, beroende på var det ligger osv, system32 prog. är lätta att öppna..

Nivå 6 · Fuskare
#4

"special-funktioner i olika kompilatorer"? Det är väl inget man bör lära sig? Byter man kompilator kan man ju inte göra de sakerna längre. Man kan heller inte hjälpa andra med problem om de kör en annan kompilator. Finns nästan bara nackdelar med special-funktioner. Bättre att lära sig nåt som funkar och tillhör standardbiblioteken.

Nivå 6 · Fuskare
#5

ja självklart, men har man lite erfarenhet så går det ju mycket lättare och är mer tillfredsställande med lite klicka och dra á borland, men ja självklart är det bästa att lära sig koda ordentligt

Nivå 6 · Fuskare
Trådstartare #6
↗ till inlägget

Hur menar du med "öppnas i programmet som redan är uppe"?

 

För att anropa program borde du kunna köra "system("Ditt program");".

Tack så hemskt mycket :D. Nu funkar det.

 

Men jag har en annan fråga också :). Vilket komando ska man använda för att programmet ska avslutas på en viss knapp? För det avslutas ju inte om man bara trycker på enter när man använder loopar.

Nivå 8 · Veteranfuskare
#7

Kan du ladda upp koden tror du? Jag fattar inte vad du menar? Kör du programmet innuti en loop, eller?

Nivå 6 · Fuskare
Trådstartare #8

har inte fixat loopen ännu. Men det är så att i menyn i programmet så ska man kunna välja "exit" genom att trycka på "3". Så det jag vill veta är vad man ska skriva för att berätta för programmet att det ska stängas ned när man trycker på "3".

Nivå 8 · Veteranfuskare
#9

int siffra;
cin << siffra;
if siffra = 3
{
end;
}

 

Nått sånt... Det var länge sen jag höll på med Linux, så koden är nog felaktig.

Senast ändrad:

Nivå 9 · Veteranfuskare
#10
↗ till inlägget

har inte fixat loopen ännu. Men det är så att i menyn i programmet så ska man kunna välja "exit" genom att trycka på "3". Så det jag vill veta är vad man ska skriva för att berätta för programmet att det ska stängas ned när man trycker på "3".

 

pröva med nått sånthär:

char val;
bool loop1 = true;

while(loop1 == true)
{
cout << "menyblablabla";
if(val == '3')
{
    loop1 = false;
}
}

Senast ändrad:

Nivå 6 · Fuskare
Trådstartare #11

Det funkar någolunda bra. Men då måste man trycka på "3" och sen enter 2 gånger. Jag vill bara att man ska måsta trycka en gång på enter

Nivå 8 · Veteranfuskare
#12

Prova med end; istället för loop1 = false;, det kan funka, provar det så fort jag har hittat nån C++ kompilator för Linux...

 

Ändring: Såg att det inte kommer funka, ta system("Exit"); istället. Vet inte om detta kommer funka hheller, eftersom Linux inte kan köra dosfönster...

Senast ändrad:

Nivå 3 · Lärling
#13
#include <iostream>

using namespace std;

int main()
{

int val;

cout << "Tryck 1 för att öppna ett annat program: ";
cin >> val

if (val == 1)
{
system("dittprogram.exe")
}
else
{
Tryck 1 stog det ju!
}

return 0;
}

Senast ändrad:

25 Jul 2007
Nivå 6 · Fuskare
Trådstartare #14
↗ till inlägget

Prova med end; istället för loop1 = false;, det kan funka, provar det så fort jag har hittat nån C++ kompilator för Linux...

 

Ändring: Såg att det inte kommer funka, ta system("Exit"); istället. Vet inte om detta kommer funka hheller, eftersom Linux inte kan köra dosfönster...

Det funkar. Men, jag måste ändå trycka två gånger på enter efter jag tryckt 3.

Nivå 9 · Veteranfuskare
#15
↗ till inlägget
↗ till inlägget

Prova med end; istället för loop1 = false;, det kan funka, provar det så fort jag har hittat nån C++ kompilator för Linux...

 

Ändring: Såg att det inte kommer funka, ta system("Exit"); istället. Vet inte om detta kommer funka hheller, eftersom Linux inte kan köra dosfönster...

Det funkar. Men, jag måste ändå trycka två gånger på enter efter jag tryckt 3.

 

om du lagt till 2 stycken cin.get(); så ta bort den som kommer först. då ska det fungera.

Nivå 6 · Fuskare
Trådstartare #16

Tack så mycket! Nu funkar det :D

Nivå 6 · Fuskare
#17
↗ till inlägget

Prova med end; istället för loop1 = false;, det kan funka, provar det så fort jag har hittat nån C++ kompilator för Linux...

 

Ändring: Såg att det inte kommer funka, ta system("Exit"); istället. Vet inte om detta kommer funka hheller, eftersom Linux inte kan köra dosfönster...

Va? Linux utan kompilator har jag aldrig hört talas om. Det är väl standard i de flesta distar. Om du av någon anledning saknar den är det GCC (G++) du ska använda.

26 Jul 2007
Nivå 8 · Veteranfuskare
#18

Jo, men jag fattar inte g++! Var skriver man in koderna i g++, det värkar vara terminalbaserat? Och det går väl inte inte att göra dosprogram i g++? Jag har hört talas om DOSBox, men jag hittar ingen sån till Kubuntu!

Senast ändrad:

27 Jul 2007
Nivå 3 · Lärling
#19
↗ till inlägget

Jo, men jag fattar inte g++! Var skriver man in koderna i g++, det värkar vara terminalbaserat? Och det går väl inte inte att göra dosprogram i g++? Jag har hört talas om DOSBox, men jag hittar ingen sån till Kubuntu!

Nu är du långt före våran tid..

Nivå 6 · Fuskare
#20
↗ till inlägget

Jo, men jag fattar inte g++! Var skriver man in koderna i g++, det värkar vara terminalbaserat? Och det går väl inte inte att göra dosprogram i g++? Jag har hört talas om DOSBox, men jag hittar ingen sån till Kubuntu!

Du skriver "g++ dinfil.cpp". Finns självklart massa flags man kan lägga till. Men med enklare program som inte använder massa bibliotek och saker så räcker det där.

 

Du kan inte kompilera program som funkar i DOS i Linux. Precis samma som att du inte kan kompilera program för Linux i DOS/WIndows. Vad jag förstått så måste du kompilera på det system du tänkt köra programmet på. Finns kanske lösningar för att gå runt detta, men de är nog inte så bra.

Vill du vara med i diskussionen?

Bli medlem Logga in