Tabbe Skrevet 4. mars 2003 Del Skrevet 4. mars 2003 Jeg har et lite spørsmål om funksjoner innen c++. Jeg begynte så smått og lære om hvordan man kunne dele inn et c++ program i mindre deler. Men problemet mitt, er at "main" kjører alltid som den første funksjonen. Jeg tenkte nemlig jeg skulle prøve meg litt fram, med å lage et program som brukte 3 funksjoner, se på følgene program kode: #include <stdio.h> #include <iostream.h> int Funksjon(void) { int hehe; cout << "skriv inn det foerste tallet: "; cin >> hehe; return 0; } int Funksjon2(void) { int hehe2; cout << "skriv inn det tallet du vil addere til det foerste: "; cin >> hehe2; return hehe2; } int main(int argc, char* argv[]) { int haha, haha1, haha2, haha3; cout << "skriv inn det tallet du vil subtrahere fra de to andre verdiene: "; cin >> haha; haha1 = Funksjon(); haha2 = Funksjon2(); haha3 = haha + haha1 - haha2; cout << "svaret er: " << haha3; return 0; } Et ganske simpelt program, men. Poenget er, at Main funksjonen vil starte først, dette gir meg litt problemer. Hvordan kan jeg fikse dette programmet? Jeg tenkte at jeg kanskje kunne flytte main til å faktisk være den første funksjonen av programmet, men hvordan lagrer jeg en variabel i Main? Takker for all hjelp og respons. Lenke til kommentar
Tabbe Skrevet 4. mars 2003 Forfatter Del Skrevet 4. mars 2003 Vel, da klarte jeg så og lagre en variabel i main. Men et problem gjenstår, etter funksjonen main avslutter programmet, istedenfor å gå videre til den neste funksjonen, vent litt, programmet ser nå slik ut: #include <stdio.h> #include <iostream.h> int main(void) { int hehe; cout << "skriv inn det foerste tallet: "; cin >> hehe; return hehe; } int Funksjon2(void) { int hehe2; cout << "skriv inn det tallet du vil addere til det foerste: "; cin >> hehe2; return hehe2; } int Funksjon() { int haha, haha1, haha2, haha3; cout << "skriv inn det tallet du vil subtrahere fra de to andre verdiene: "; cin >> haha; haha1 = main(); haha2 = Funksjon2(); haha3 = haha + haha1 - haha2; cout << "svaret er: " << haha3; return 0; } Hva er galt? Klarer ikke helt forstå det. Lenke til kommentar
MortenH Skrevet 4. mars 2003 Del Skrevet 4. mars 2003 Du kaller de andre funksjonene fra main. Lenke til kommentar
Tabbe Skrevet 4. mars 2003 Forfatter Del Skrevet 4. mars 2003 Hadde egentlig ikke helt forstått hva du hadde ment, men jeg fikk hjelp av noen andre jeg møtte på. Men direkte hvordan kaller man de opp fra main? Jeg gjorde liksom slik: Variabel = funksjon; Det ble riktig da óg, men er det slik man som regel kaller opp en funksjon fra main? Lenke til kommentar
MortenH Skrevet 4. mars 2003 Del Skrevet 4. mars 2003 Ja, du har ett "hovedprogram" som går i main. Ut fra dette kaller du funksjoner og ev. andre klasser ettersom applikasjonene du lager blir større og mer kompliserte. Poenget med funksjoner er at du skal kunne kalle den programsnutten som ligger der flere ganger bare ved å kalle funksjonen, istedet for å liste opp samme programkoden to eller flere ganger. F.eks. i ditt tilfelle for å forenkle det, kunne du bare hatt en funksjon som du benyttet to ganger for å lese inn to tall. Sånn som koden din er nå, kunne du like godt hatt alt i main. Lenke til kommentar
Tabbe Skrevet 4. mars 2003 Forfatter Del Skrevet 4. mars 2003 Joda, vet det, ville bare se om jeg hadde forstått det med Funksjoner, hadde det jo ikke helt klart men har det nå. Igjen takker jeg for hjelpen. Lenke til kommentar
ahdrage Skrevet 2. mai 2003 Del Skrevet 2. mai 2003 Hvorfor <iostream.h> hva er forskjellen fra <iostream> ? Lenke til kommentar
BlueEAGLE Skrevet 3. mai 2003 Del Skrevet 3. mai 2003 Hvorfor <iostream.h> hva er forskjellen fra <iostream> ? .h stortsett. Lenke til kommentar
A_N_K Skrevet 3. mai 2003 Del Skrevet 3. mai 2003 Iostream.h er foreldet i likhet med alle andre standard-headere som slutter med .h. Headere fra standard-biblioteket har ingen suffix. Lenke til kommentar
kjetil7 Skrevet 16. mai 2003 Del Skrevet 16. mai 2003 Helt riktig at de med .h suffix er foreldet. Du SKAL bruke de uten suffix! I siste versjon av Visual C++ er faktisk de gamle headerne fjernet (i samsvar med warningen du fikk i v7.0, som advarte deg mot akkurat dette..) 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å