aklla Skrevet 24. juni 2005 Skrevet 24. juni 2005 (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 24. juni 2005 av aklla
<BøNilzen> Skrevet 24. juni 2005 Skrevet 24. juni 2005 (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 24. juni 2005 av <BøNilzen>
☀ ❄ Skrevet 25. juni 2005 Skrevet 25. juni 2005 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.
kimla Skrevet 26. juni 2005 Skrevet 26. juni 2005 Hadde vært fint å se koden din.. lettere å forstå da
aklla Skrevet 26. juni 2005 Forfatter Skrevet 26. juni 2005 (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 26. juni 2005 av aklla
aklla Skrevet 27. juni 2005 Forfatter Skrevet 27. juni 2005 har ingen problemer med det... men uansett, hvordan kommer jeg tilbake til main etter f.eks minus ??
ZiZe Skrevet 27. juni 2005 Skrevet 27. juni 2005 (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 27. juni 2005 av ZiZe
☀ ❄ Skrevet 27. juni 2005 Skrevet 27. juni 2005 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.
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å