Komme i gang med C++, del 1: Installasjon av utviklingsmiljø

Windows

Vi anbefaler at du installerer Microsoft Visual Studio Express. Klikk på “Download Community 2015”-knappen – da får du laste ned en liten fil som heter vs_community.exe. Kjør denne filen når den er lastet ned, og svar “Ja” eller “Fortsett” hvis du blir spurt om programmet får lov til å gjøre endringer på datamaskinen. For at du skal få installert Visual Studio må Windows-brukeren din være administrator eller du må ha et administratorpassord. Hvis du har en skolemaskin som du ikke er administrator på, spør systemansvarlig på skolen om de kan installere det for deg. Merk at du må være koblet til internett mens du installerer.

  • Velg “Custom” i stedet for “Typical” og trykk Next.
  • Kryss av for “Visual C++” under “Programming Languages”, og fjern kryssene for “Microsoft Foundation Classes for C++”, “Windows XP Support for C++” og “Microsoft Web Developer Tools”, og trykk Next.
  • Trykk Install, og finn på noe annet mens nedlastingen og installasjonen pågår.

Når installasjonen er ferdig, gå til Start-menyen og velg “Visual Studio 2015”. Første oppstart tar lengre tid enn det vanligvis vil gjøre, og du vil muligens bli bedt om å logge inn – hopp over dette ved å velge “Not now, maybe later”, og velg deretter “Visual C++” under “Development Settings”. Når Visual Studio har startet helt opp, klikk på “New Project…”, velg “Win32 Console Application”, og fjern krysset for “Create directory for solution”. Velg en (ny) mappe hvor du vil putte koden din, f.eks. C:\Programmer.

(Merk at skjermbildene her er fra en litt eldre versjon av Visual Studio, men det ser lignende ut i Visual Studio 2015.)

Når du klikker OK dukker “Win32 Application Wizard” opp. Velg “Application Settings” ute til venstre, la det stå på “Console application”, kryss av for “Empty project”, og fjern krysset for “Security Development Lifecycle (SDL)”. Klikk Finish.

Nå skal det se sånn ut:

Vi må nå legge til en kildekodefil. Høyreklikk på “Source Files”-mappen i “Solution Explorer”-vinduet ute til venstre og velg “Add” -> “New Item…”, velg “C++ File (.cpp)” og kall filen f.eks. main.cpp:

Skriv inn koden nedenfor eksakt slik den står her (fargene kommer automatisk opp, men vil være annerledes enn slik de er her):

#include <iostream>

using namespace std;

int main() {
    cout << "Hello world!" << endl;
    cin.get();
    return 0;
}

Trykk enten F5 på tastaturet eller klikk på knappen med den grønne pilen for å starte programmet. Første gang du gjør dette vil du bli spurt om “This project is out of date. Would you like to build it?” Kryss av for “Do not show this dialog again” og klikk “Yes”. Nå burde et såkalt konsollvindu dukke opp og vise teksten “Hello world!”:

Gratulerer; du har skrevet og kjørt ditt første C++-program! Trykk Enter, så forsvinner vinduet og programmet avslutter. Det var litt strevsomt å komme i gang, men når Visual Studio og prosjektet først er oppe, kan man konsentrere seg om kodingen. Hvis du ikke har programmert før, skal vi snart publisere en kom i gang-guide for det også.

Hvis du skriver feil i koden, vil det sannsynligvis dukke opp en rød strek i nærheten, og når du prøver å kjøre programmet, vil du første gang få en melding om “There were build errors. Would you like to continue and run the last successful build?” Kryss av for “Do not show this dialog again” og klikk “No”. Gå til “View”-menyen og velg “Error List”, så får du opp et vindu med en liste over feil.

Hvis du vil lage et nytt program, går det an å starte en ny utgave av Visual Studio og lage et nytt prosjekt med et annet navn. Men dette er litt strevsomt, så det kan være enklere å bruke det samme prosjektet, og bare sette inn en annen kildekodefil i stedet. Høyreklikk på main.cpp i Solution Explorer-vinduet og velg “Exclude From Project”. (Filen blir ikke slettet; den vil forsvinne fra prosjektet, men vil fortsatt ligge på E:\Programs\HelloWorld\main.cpp.) Nå kan du legge til en ny kildekodefil med et annet navn (kildekodefilene kan hete hva som helst, men det skal alltid stå int main() i koden). Hvis du vil ha main.cpp tilbake, kan du høyreklikke på “Source Files” og velge “Add” -> “Existing Item…”. Men det går ikke an å ha flere kildekodefiler med main() i prosjektet samtidig.

Mac

På Mac anbefaler vi å laste ned “Command Line Tools for XCode” herfra: https://developer.apple.com/downloads/ (man må registrere seg for å få tilgang). Når du har registrert deg, søker du etter “command line tools” og velger nyeste utgave for din versjon av OS X som vist på bildet.

Når den er lastet ned åpner du .dmg-filen og starter installasjonsprogrammet.

Du trenger ikke endre noe i prosessen.

For å prøve om installasjonen var vellykket åpner du Terminal (CMD+SHIFT og skriv inn “Terminal”) og så skriver du kommandoen:

g++ --version

Resultatet bør se omtrent slik ut:

Nå er du klar for å kompilere kode! Åpne en ren tekst editor, f.eks GEdit (om du ikke allerede har en favoritteditor, er dette et godt valg, siden den er lett å lære og er tilgjengelig under finalen i Bergen og i de internasjonale rundene).

Du kan nå kopiere koden fra http://www.cplusplus.com/doc/tutorial/program_structure/ inn i filen, lagre den som f.eks helloworld.cpp og kompilere:

g++ helloworld.cpp -o helloworld

Hvis alt gikk bra, fikk du ingen feilmeldinger.

Da kan du også kjøre programmet med kommandoen

./helloworld

Nå ser du at programmet har skrevet ut teksten “Hello World!” på kommandolinjen. Da er alt satt opp!

Linux

All programvaren du trenger følger sannsynligvis med din Linux-distribusjon og er allerede installert. Følg instruksjonen for Mac fra stedet med kommandoen:

g++ --version

Pensum til andre runde i NIO

I andre runde kan deltakerne velge å skrive programmene sine i C, C++, Python eller Java. Under er de elementene du bør beherske i språket du velger eksemplifisert ved C++. For de av dere som ikke har kjennskap til noen av språkene anbefaler vi C++.

Programmering med C++

Du bør kunne det som gjennomgåes på http://www.cplusplus.com/doc/tutorial/ i alle kapitlene til og med Arrays. I første kapittel må du sette opp et utviklingsmiljø med en editor og en kompilator. På komme i gang med C++ finner du instruksjoner for hvordan du gjør dette i forskjellige operativssystemer.

C++ STL (Standard Template Library) er en stor fordel å kjenne til. Les http://community.topcoder.com/tc?module=Static&d1=features&d2=082803 som gir en god introduksjon til de viktigste datastrukturene i C++ Standard Template Library.  Så gjenstår det å lese litt om C++ strings. Denne siden gir en god oversikt: http://www.cprogramming.com/tutorial/string.html

Datastrukturer

Algoritmer

Dette betyr ikke at man kan løse alt med disse algoritmene og datastrukturene, men at man ved å forstå og kunne modifisere disse vil ha god sjanse til å finne på og implementere nye algoritmer som vil løse oppgavene i andre runde.