Gå til innhold

Et lite spørsmål om funksjoner innen c++


Anbefalte innlegg

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
Videoannonse
Annonse

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

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

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
  • 1 måned senere...
  • 2 uker senere...

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

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...