Gå til innhold

hvordan gå tilbake til main


Anbefalte innlegg

Skrevet (endret)

har ett problem nå, driver med c++, men hvordan kommer jeg tilbake til main?

 

får denne feilmedlingen når jeg prøver:

36 main.cpp `main' undeclared (first use this function)

 

og mein er decleared, men ligger under den funksjonen jeg jobber med, og får den bare til å jobbe fra nederst og opp...

 

edit: og hvordan kan jeg fjerne all tekst i console?

Endret av aklla
Videoannonse
Annonse
Skrevet (endret)

hmm..

Når gjeldende funksjon har kjørt ferdig, vil du jo gå tilbake til funksjonen som kalte funksjonen.

(innviklet setning...)

 

int main()
{
  \\blabla

  enFunksjon(blablabla);
  return 0;
}

når "enFunksjon er ferdig med å kjøre vil du gå tilbake til main()

 

Hvis det var det du mente..

 

Edit: og når det gjelder å fjerne tekst i console, vet jeg ikke om noen ordentlig måte å gjøre det på.

Men du kan inkludere <cstdlib> og (i windows) kalle "system("cls");" eller i linux system("clear screen");

Endret av <BøNilzen>
Skrevet

Hvis det du tenker på er å kalle main() fra en annen funksjon: Ikke gjør det slik. Gjør som <BøNilzen> sier, og gå tilbake til main() ved å returnere fra en funksjon.

 

For øvrig er "clear" kommandoen for å tømme skjermen i Unix-liknende operativsystemer. Den tar ikke argumenter.

Skrevet (endret)

joda, er sikkert 1000 feil her men her er den:

#include <iostream.h>


long pluss(long p1)
{
      char operator_tre;
      long p2;
      long p3;
      cin >> p2;
      p3=p1+p2;
      cin >> (operator_tre);
      switch(operator_tre)
      {
              case '+':
                      pluss(p3);
              break;
              case '=':
                   system("cls");
              cout << "------------" << endl;
              cout << p3;
              cout << "\n============" << endl;
      }
              cin.get();
              cin.get();
              return 0;
}

long minus(long m1)
{
      char operator_to;
      long m2;
      long m3;
      cin >> m2;
      m3=m1-m2;
      cin >> (operator_to);
      switch(operator_to)
      {
              case '-':
                      minus(m3);
              return 0;
              break;
              case '=':
                   system("cls");
              cout << "------------" << endl;
              cout << m3;
              cout << "\n============" << endl;

      }

   cin.get();
   cin.get();
   return 0;

}







int main()
{
      char operator_en;

      long a;
      cout << "\nDette er en kalkulator!\nSkriv inn ett tall etterfulgt av";
      cout <<"\nregnemåte (+,-,*,/)" << endl << endl;
      cin >> a;
      cin >> operator_en;

      switch(operator_en)     {

              case '+':
                      pluss(a);
              return 0;
              break;
              case '-':
                      minus(a);
              return 0;
              break;
              return 0;
      }
   cin.get();
   cin.get();
   return 0;
}

 

har ikke drevet så lenge med c++...

 

 

edit: takk for den cls koden :)

men finnes det ingen egen kode for det istedet for å bruke den som er innebygget i windows?

Endret av aklla
Skrevet (endret)

først. siden pluss() og minus() faktisk ikke har noen verdi og returnere, vil det kansje være på sin plass og la disse være

void pluss(long p1) {}

void minus(long m1) {}

og så bytte ut "return 0;" med "return;" i dem.

 

så må du vel legge inn

using namespace std;

under include iostream , hvis ikke må du bytte alle cout og cin med std::cin og std::cout

 

og jeg tror minus er et reserved word, for jeg la til en ekstra s "minuss()" og da kompilerte programmet.

 

jeg kompilerte det i linux, bare bytta ut csl med clear, og det funka helt fint :)

 

#include <iostream>  //iostream.h er vel deprecated?

using namespace std; //så slipper du og bruke std:: forran cin og cout

void pluss(long p1)
{
    char operator_tre;
    long p2;
    long p3;
    cin >> p2;
    p3=p1+p2;
    cin >> (operator_tre);
    switch(operator_tre)
    {
            case '+':
                    pluss(p3);
            break;
            case '=':
                 system("cls");
            cout << "------------" << endl;
            cout << p3;
            cout << "\n============" << endl;
    }
            cin.get();
            cin.get();
}

void minuss(long m1)
{
    char operator_to;
    long m2;
    long m3;
    cin >> m2;
    m3=m1-m2;
    cin >> (operator_to);
    switch(operator_to)
    {
            case '-':
                    minuss(m3);
            return;
            break;
            case '=':
                 system("cls");
            cout << "------------" << endl;
            cout << m3;
            cout << "\n============" << endl;

    }

 cin.get();
 cin.get();
}


int main()
{
    char operator_en;

    long a;
    cout << "\nDette er en kalkulator!\nSkriv inn ett tall etterfulgt av";
    cout <<"\nregnemåte (+,-,*,/)" << endl << endl;
    cin >> a;
    cin >> operator_en;

    switch(operator_en)     {

            case '+':
                    pluss(a);
            return 0;
            break;
            case '-':
                    minuss(a);
            return 0;
            break;
            return 0;
    }
 cin.get();
 cin.get();
 return 0;
}

Endret av ZiZe
Skrevet

1. Det heter #include <iostream>.

2. Understrek inne i et navn er helt greit. Identifikatorer som begynner med dobbel understrek, begynner med en understrek etterfulgt av en stor bokstav eller begynner med understrek og er i det globale navnerommet er reserverte. Se seksjon 17.4.3.1 i C++-standarden.

3. minus er ikke reservert.

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å
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...