Gå til innhold

Program for C++ (Borland C++ v.4.5?)


Anbefalte innlegg

Har tatt for meg litt programmering i C++ nå.

Har lest ca. 15 sider med grunnleggende informasjon om språket, og nå blir det nevnt et program som heter Borland C++ v.4.5.

 

Har søkt litt på google.com, men kom fram alt for mange resultater...

Så trenger en link til programmet, evt. nyere hvis det ikke er noe stort annerledes oppsett på dette...? Var også nevnt noe om at v4.0 var er DOS-basert versjon eller noe sånt. Kan man kjøre de nyere inne på selve OS'et? (I mitt tilfelle, Windows XP Professional.)

 

Før jeg går noe videre tror jeg at det er viktig å ha programmet klart, siden de neste delene av boken er eksempler og koder man kan prøve.

 

// zalo

Lenke til kommentar
Videoannonse
Annonse
Dev-cpp er et greit ide å programmere i på windows maskiner.

 

Japz, stemmer Dev-Cpp er et finfint IDE, brukte det mens jeg pløyde igjennom boken "Grunnleggende Programmering i C++" av Leirvik/Ljosand.

Det gikk greit, selv om boken er skrevet med M$ Visual Cpp i bakhodet. måtte bare tenke selv, bitte litt :o , gikk nesten helt fint det også! :D

Lenke til kommentar

Programmet virker ok, boken jeg har er litt eldre...

 

Ser ikke ut til at noen av eksemplene her i boken virker...

F.eks.

 #include <iostream.h>

void main()

  {

  int Tall;

  Tall = 66;

  cout << "nVariabelens verdi er: " << Tall;

  }

 

Og denne, enda enklere:

 #include <iostream.h>

void main()

  {

  cout << "nBlaBlaBla";

  cout << "nBlaBlaBla";

  cout << "nBlaBlaBla";

  }

 

Er det noen forandringer i språket/programmet jeg bør være obs på?

- Som sagt er boken litt gammel... Veldig gammel... (Lånte på biblioteket i første omgang.)

Btw, skal det være noe mellomrom mellom "main" og "()", eller mellom parentesene evt.?

(Kan ikke kompilere fordi koden har noen error'er står det..)

Lenke til kommentar

zalo: Jeg er usikker. Eksemplene du ga oss er riktige og funger problemfritt. Dev-C++ er i tillegg visstnok en veldig god kompilator; i hvert fall blant de som er gratis. Jeg tror ikke noen av kompilatorene til Borland er gratis, så jeg anbefaler deg å bruke Dev-C++, hvis du bare for saker og ting til å virke.

 

Som sagt vet jeg ikke hva som er galt, men du kan i hvert fall begynne med å erstatte:

 

#include <iostream.h>

 

med

 

#include <iostream>

using namespace std;

 

Er ikke akkurat noen tipp-topp C++ programmerer selv, så jeg tør ikke gi ut noen forklaring, men bare gjør det. #include <iostream.h> er visstnok historie. Og det er derfor forståelig at iostream.h er brukt i boka di, ettersom den er gammel.

 

Men hvilke problemer oppstår? Står det ikke hva som er galt?

 

Heter det ikke int main() da? og int main(void) i C99.

Hvordan forklarer jeg dette? "Void" er i hvert fall den verdien funksjonen main() skal returnere, men void tar ingen verdier, sånn som int og float, for eksempel. Skulle han brukt "int", måtte han ha gjort det slik:

 

#include <iostream> 

using namespace std;

int main() 

{ 

  int Tall; 

  Tall = 66; 

  cout << "nVariabelens verdi er: " << Tall;

  return 0;

}

Her returnerer main() verdien 0, og du vil ikke merke noe forskjell i dette programmet. Så void er fint. :)

Lenke til kommentar
Standardsignaturen for main er int main(), med void skal du ikke kunne returnere noe som helst (altså udefinert returverdi). Kompilatoren kan implisitt sette 0 som returverdi, men spytter gjerne ut en advarsel på kjøpet.

Riktig. Tør jeg spørre om du vet svaret på zalos spørmsål, ettersom du ikke akkurat høres uvitende ut? :p

Lenke til kommentar

http://www.simtel.net/product.download.mir...rs.php?id=17456

 

her kan du laste ned Dev-C++ 4.x dersom du bruker versjon 5.x, 4.x er mere stabil enn versjon 5.x, da 5.x er stadig under utbedring. (beta)

 

Dev-C++ er forresten IKKE en kompilator, men derimot et IDE (Integrated Development Enviroment) som kan nyttegjøre seg av forskjellige C++ -kompilatorer, jeg bruker den som kalles "Mingw-konverteringen av GCC (Gnu Compiler Collection)" under Win 98, og har ingen problemer med å kompilere hverken:

 


#include <iostream.h> 

void main() 

  { 

  int Tall; 

  Tall = 66; 

  cout << "nVariabelens verdi er: " << Tall; 

  } 

 

 

eller:

 

#include <iostream.h> 

void main() 

  { 

  cout << "nBlaBlaBla"; 

  cout << "nBlaBlaBla"; 

  cout << "nBlaBlaBla"; 

  } 

 

Jeg mistenker feilen for å ligge annensteds enn i koden...

Lenke til kommentar
Heter det ikke int main() da? og int main(void) i C99.

Hvordan forklarer jeg dette? "Void" er i hvert fall den verdien funksjonen main() skal returnere, men void tar ingen verdier, sånn som int og float, for eksempel. Skulle han brukt "int", måtte han ha gjort det slik:

 

Har bare erfaring i vanlig C, mere spesifikt C99, og der må man da i hvert fall bruke int main(void) som deklarasjon for main-funksjonen.

 

Uansett er det jo bare syntaks, void er vel "the big nothing" - et ord som beskriver intet. enten vil det fungere med ordet, eller uten, alt ettersom hvilken versjon man kompilerer på.

 

C++ har visst her en fin snarvei som sløyfer behovet for return-linja med mindre man trenger en return verdi. Men kanskje likeså greit å gjøre det på gamle måten ettersom man kommer til å trenge funksjoner med return-verdier "further down the line", og da finnes det jo ihvertfall kosmetiske grunner for at main-funksjonen skal ha samme oppbygning, og kanskje til og med vil det gjøre det enklere i starten å ha det innlært.

 

edit:

 

on topic: Hvis du kunne copy-paste feilmeldingene du får hadde det jo det vært en hjelp. Videre anbefaler jeg Dev-CPP 4.0 på det varmeste. Mindre "bjeller og fløyter" enn 5'ern. Er lite behov for et så avansert IDE før du en gang i fremtiden kaster deg over ett eller annet stort prosjekt.

 

Enda videre vil jeg osgå anbefale deg en nyere bok. Og ta en liten titt på å bytte ut iostream.h med stdio.h og dermed cout/cin med printf/scanf. Litt vanskeligere å bruke i starten, men mulighetene er mye større. Jeg tok overgangen tidlig, og det gikk helt fint.

 

Lykke til :)

Lenke til kommentar

Ifølge C++ standarden *skal* main returnere en int. Men du trenger ikke returnere noe verdi...


int main()

{

return 0;

}





//dette er også ok

int main()

{

}

 

Det står også at alle kompilatorer skal akseptere følgende main definisjoner:

 

int main();

int main(int argc, char *argv[]);

 

Men standarden er også åpen for andre parametre, men disse blir da implementasjonsavhengige og kan ikke garanteres å være portable.

Lenke til kommentar

Jeg snakket litt med selveste zalo over MSN. Se her:


void main() {} // funker ikke

int main() {return 0;} // funker ikke

int main() {} // funker

Og slik tror jeg det hadde seg, merkelig nok, i Dev-C++, mens alle fungerer i VC++. Han var visst ikke helt kjent med Dev-C++, så noen feilmelding kunne han ikke gi meg, men den merket visst den første "bracketen": '{'. Ikke vet jeg. :)

Lenke til kommentar
Jeg snakket litt med selveste zalo over MSN. Se her:


void main() {} // funker ikke

int main() {return 0;} // funker ikke

int main() {} // funker

Og slik tror jeg det hadde seg, merkelig nok, i Dev-C++, mens alle fungerer i VC++. Han var visst ikke helt kjent med Dev-C++, så noen feilmelding kunne han ikke gi meg, men den merket visst den første "bracketen": '{'. Ikke vet jeg. :)

 

Den andre skal selvfølgelig fungere. Det er bare den første som ikke fungerer. Hvis den andre ikke fungerer har du gjort noe feil. Nummer to og tre er faktisk helt like i og med at hvis du ikke returnerer en verdi fra main, vil den automatisk returnere 0.

 

Merk at noen gamle kompilatorer krever at du returnerer en verdi fra int main() (f.eks. VC++ 6.x).

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...