Du må være registrert og logget inn for å kunne legge ut innlegg på freak.no
X
LOGG INN
... eller du kan registrere deg nå
Dette nettstedet er avhengig av annonseinntekter for å holde driften og videre utvikling igang. Vi liker ikke reklame heller, men alternativene er ikke mange. Vær snill å vurder å slå av annonseblokkering, eller å abonnere på en reklamefri utgave av nettstedet.
  27 1685
Hei, jeg har begynt veldig smått med c++ og har fått til å kompilere og lage enkle program... men saken er det att når jeg lagrer programmet på en minnepenn å skal kjøre det opp på en annen pc så funker det ikke helt.
F.eks dette programmet:

Kode

//---------------------------------------------------
//
// adder.cpp
//
// Program for å addere to heltall
//
#include <iostream>
using namespace std;
int main()
{
  int tall1;
  int tall2;
  int sum;
  
  cout << "Skriv to heltall med mellomrom mellom: ";
  cin >> tall1 >> tall2;
  sum = tall1 + tall2;
  cout << "Summen blir: " << sum << endl;

  return 0;
} // main
jeg har tatt med adder.exe, adder.obj og adder.tds på minnepennen men alikevel lukker det seg når man trykker enter etter å ha tastet inn tall1 og tall2.

noen som har en løsning?


Men så har jeg ett spørsmål til.
vanligvis så er jo program et vindu med fancy knapper osv. ( det er ihvertfall det jeg hadde sett for meg)
Da lurer jeg på åssen er det man får det sånn uten at det bare kjører i cmd.

( er ikke så flink til å formulere meg så spør hvis dere ikke skjønner spørsmålene)

Takk for alle svar.
GUI - Graphical User Interface. (http://www.google.no/search?q=gui+c%...ient=firefox-a)

Lukker kommandovinduet seg? Det er ikke rart siden programmet er ferdigkjørt. Hvis du åpner kommandovinduet først, og deretter kjører programmet, vil dette fortsatt være åpent etter endt kjøring.
ahh... selvfølgelig, skjønner

men lurer fortsatt litt på det andre spørsmålet
Ja, det heter GUI. Se første treff på linken jeg ga deg.
okei, sry men trodde det var noe feil med linken siden det kom opp error osv.. takker for svar.
KP
Hm, ser det nå. Men GUI er i ale fall ordet du søker etter. "GUI C++". Burde få mye relevant ut ifra det søket. Hvis du har en bok foran deg om C++, er det garantert et kapittel dedikert til grafisk grensesnitt.
men alikevel lukker det seg når man trykker enter etter å ha tastet inn tall1 og tall2.
Vis hele sitatet...
Sånn da ser du hva koden gjør

Kode

system("pause");
  return 0;
} // main
ok takk snippsat

Men nå har jeg kommet enda litt videre og skjønt enda litt mere, men har ikke helt kontroll på alle ordene.

det er disse ordene som skaper forvirring siden jeg vet ikke helt hva jeg bør lære meg..
har foreløpig tenkt til å lage spill. SDI, SDL, MFC, LUA osv.

Kan noen enkelt forklare meg forskjellen på disse?
kanskje en enkell innføring i hva GUI er og siden det ikke står så mye på norsk på nettet.
helst ikke bare post linker til wikipedia om ordene og sånn. Jeg setter pris på at dere tar dere tid til å hjelpe meg.


og bare ett spørsmål til

hvorfor får jeg error når jeg compiler denne koden?

Kode

#include <windows.h>

int WINAPI WinMain(HINSTANCE hThisInstance,
				   HINSTANCE hPrevInstance,
				   LPSTR lpszArguments,
				   int iCmdShow)
{
			MessageBox(NULL, "Jeg har sluttet å jobbe for deg !", "Greit ?",
							MB_OK | MB_ICONINFORMATION);
			return 0;
}
Om du er interessert i GUI, og du har litt bakgrunn og kunnskaper i C++, så kan det være likegreit å hoppe over til C#.

Edit: C# er objektbasert, så om du ikke kan objekter, les deg til dette i C++ først.
Sist endret av prenix; 12. februar 2009 kl. 22:42.
ok, men kunne fortsatt tenkt meg en forklaring på ordene, tror ikke jeg kommer til å hoppe over til c# med det første med tanke på at jeg har gått inn for c++.
C# kan kodes i C++ :-) Dette er en konfigurasjon du kan velge ved opprettelse av et C#-prosjekt.
med fruktkjøtt.
Tias's Avatar
Crew
Sitat av prenix Vis innlegg
C# kan kodes i C++ :-) Dette er en konfigurasjon du kan velge ved opprettelse av et C#-prosjekt.
Vis hele sitatet...
Hæ? C# er et språk, C++ er et annet.
Sitat av Tias Vis innlegg
Hæ? C# er et språk, C++ er et annet.
Vis hele sitatet...
Uhm, så at formuleringen ble litt feil.

Du kan velge 'Windows Application' ved å lage et C++-prosjekt i Visual Studio, som blir liknendes prosjektet i C#, altså med en windows-form.
Sitat av d3ath-jr Vis innlegg
hvorfor får jeg error når jeg compiler denne koden?

Kode

#include <windows.h>

int WINAPI WinMain(HINSTANCE hThisInstance,
				   HINSTANCE hPrevInstance,
				   LPSTR lpszArguments,
				   int iCmdShow)
{
			MessageBox(NULL, "Jeg har sluttet å jobbe for deg !", "Greit ?",
							MB_OK | MB_ICONINFORMATION);
			return 0;
}
Vis hele sitatet...
Du ga ikke spesielt mye informasjon, men tipper årsaken er at du prøver passe const char[] istedenfor LPCWSTR. Dette er fordi Unicode-baserte applikasjoner bruker såkalte wide strings.
Kjør heller et kall på MessageBoxA(), evt. bruk macroen TEXT(). Du kan også skifte character set om du måtte ønske det.
Sist endret av John B; 12. februar 2009 kl. 23:25.
Eventuelt at han faktisk ikke har linket til noen bibliotek når han skal kompilere koden.
Hvis du fortsatt ikke har funnet ut hvordan du får .exe-fila til å kjøre på andre pcer enn din egen: (kan ikke se at noen over har svar på det spørsmålet)
Her forklares det hvordan det gjøres
Sist endret av Unreal143; 13. februar 2009 kl. 00:41.
hehe, kan godt hende det. men jeg fikk til å kjøre på andre pcer
jeg fant ut åssen man kompilere den koden jeg skrev og. men jeg lurer fortsatt på de orda da
Har begynt med c++, jeg og, men skjønner meg ikke på greia med return 0 - jeg bruker det ikke (sålangt), og får ingen feil uten!
Sist endret av cromoglic; 19. februar 2009 kl. 13:50.
Man bruker ofte return verdien på slutten av programmet for å signalisere til OSet på hvilken måte applikasjonet avsluttet, og framstår vel gjerne under ANSI.
Sist endret av m0b; 19. februar 2009 kl. 13:51.
Sitat av |d13m0b Vis innlegg
Man bruker ofte return verdien på slutten av programmet for å signalisere til OSet på hvilken måte applikasjonet avsluttet, og framstår vel gjerne under ANSI.
Vis hele sitatet...
Og all annen returnverdi enn 0 angir vel at programmet avsluttet med en feil. Hvis jeg ikke husker feil?
Sitat av EmanOn Vis innlegg
Og all annen returnverdi enn 0 angir vel at programmet avsluttet med en feil. Hvis jeg ikke husker feil?
Vis hele sitatet...
Du husker 0;
Hei, bare fortsetter med mine spørsmål i denne tråden jeg.

Noen som vet hvorfor jeg får error?

Kode

#include <windows.h>

int main()
{
    FreeConsole();
             BlockInput(true);
             Sleep(5000);
             BlockInput(false);
             
}

Det står blant annet:

`BlockInput' undeclared(first use of this function)
(Each undeclared identifier is reported only once for each function it appears in.)

og jeg får error på "sleep" også.
Jeg har prøvd flere compilere uten resultat, får den samme erroren.
Har vista.


d3ath-jr
Inkluder winable.h for BlockInput.
takk, jeg fikk compilet men det funker ikke... jeg kan bevege på musa, og skrive

Men hvorfor må jeg inkludere winable.h egentlig? det funket fint for fyren på youtube :P
er det et eller annet nytt som har kommet?
Sist endret av d3ath-jr; 22. februar 2009 kl. 21:06.
1. Hvorfor har ikke main noen return verdi?

2. Hva er det du prøver å oppnå med programmet?

3. Det hjelper ikke å si at "Jeg får error på sleep". Vi må vite hva som står for å hjelpe

4. Du må include winable.h fordi det er der de funksjonene du bruker ligger.

5. Du burde starte med noe enklere om du nettop har begynt, imo.
vet, det funka på xp'en min... fikk fiksa errror og allt. Jeg holder på med mye enklere ting men hadde bare lyst til å se resultatet av noe litt mer avansert ved å "copy and paste".
Du må lese mer grunnleggende c++ programmering. Filene du inkluderer i begynnelsen av programmet inneholder en rekke funksjoner du kan velge å benytte deg av. Dvs, funksjoner som blockinput er egentlig ikke c++-kode, men en funksjon som en annen person har kodet med c++ kode.

F.eks din "int main()" er et (dårlig) eksempel på en funksjon. Om programmet ditt hadde fungert, kunne du veldig lett lagret denne main funksjonen i en egen fil og skrevet #include dinfil.h og dermed kalt på funksjonen main("valgt inn-parameter") i et annet program. Grunnen til at det er en dårlig ide i dette tilfellet er bl.a fordi funksjonen som heter main per definisjon skal være hovedfunksjonen i programmet ditt, og derfor kan du ikke kalle på en funksjon som heter main i hovedfunksjonen i et annet program (som da også heter main). Grunnen til at du skriver "int" main() er for å fortelle kompilatoren at funksjonen main skal returnere en integer (int, et heltall). Derfor har du også return 0; i slutten av programmet for å fortelle at programmet er ferdig utført (når det har gitt tilbake et heltall).
http://msdn.microsoft.com/en-us/libr...90(VS.85).aspx

Bruk MSDN for å finne ut informasjon om funksjoner. Det står bla "Function declared in Winable.h". Det betyr at du må bruke Winable.h.

Jeg anbefaler deg å holde deg unna video-tutorials. Du lærer ikke programmering av det. Du lærer hvordan du skriver noen ord. Bruk isteden en bok eller sider som Cplusplus.com.