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