Programmering Visual C++ Fördjupning
 9789175310237, 9175310236

Citation preview

Till denna bok medföljer ett antal övningsfiler på cd-skiva (filerna finns i mappen Programmering B Visual C++ 2008). Kopiera filerna till lämplig mapp på din hårddisk. Du kan även ladda ner övningsfilerna från vår webbplats www.docendo.se: 1. Starta webbläsaren, skriv www.docendo.se i adressfältet och tryck på Enter. 2. Skriv artikelnumret, 1245, i sökrutan och klicka på Sök. 3. Klicka på titeln Programmering B med Visual C++ 2008. 4. Klicka på filen 1245.zip högst upp på sidan. 5. Klicka på Spara, välj var du vill spara filen, exempelvis på skrivbordet, och klicka på Spara. 6. När filen har hämtats stänger du dialogrutan och avslutar webbläsaren. 7. Om du har valt att spara filen på skrivbordet visas den som en ikon med namnet 1245. Dubbelklicka på ikonen för att packa upp filerna till lämplig mapp på din hårddisk.

Copyright © Docendo AB Detta verk är skyddat av upphovsrättslagen. Kopiering, utöver lärares rätt att kopiera för undervisningsbruk enligt BONUS-avtal är förbjuden. BONUS-avtal tecknas mellan upphovsrättsorganisationer och huvudman för utbildningsanordnare, exempelvis kommuner/universitet. Våra böcker och tillhörande produkter är noggrant kontrollerade, men det är ändå möjligt att fel kan förekomma. Vi tar gärna emot förbättringsförslag. Produkt- och producentnamnen som används i boken är ägarens varumärken eller registrerade varumärken. ISBN: 978-91-7531-023-7 Artikelnummer: 1258E Författare: Jonas Byström Omslag: Iréne Friberg

1

Repetition och lite nytt

I detta kapitel A-kursen repeteras här i komprimerad form i sina huvuddrag. Du förutsätts förstå grundläggande C++ samt kunna hantera någon utvecklingsmiljö för C++, till exempel Microsoft Visual C++ 2008 Express Edition (Visual).

Programexekvering Ett program exekveras ”uppifrån och ner”. Centralprocessorn (CPU:n) läser och utför programkoden instruktion för instruktion.

Loop Somliga instruktioner används för att flytta programexekveringen. Dessa instruktioner säger alltså åt CPU:n att läsa och utföra programkod på ett nytt ställe — vilket kan användas för att skapa loopar (även kallade slingor). En loop är när en viss del av koden utförs flera gånger; loopen utförs till dess ett visst uttryck är falskt. Start

Ja

Har du roligt? Nej Sov på saken!

Detta är ett exempel på en loop. Loopen utförs så länge uttrycket ”Har du roligt?” = ”Ja” är sant. Dock tröttnar ju alla någon gång, vilket leder till att uttrycket ”Har du roligt” = ”Ja” blir falskt. Detta i sin tur innebär att exekveringen går vidare till ”Sov på saken!”. Loopar används till att utföra samma operationer flera gånger, ofta en gång per dataelement. Till exempel är en loop ett idealiskt hjälpmedel för att söka igenom en lista.

5

1 Repetition och lite nytt

Källkod Källkod är den text du skriver in i din utvecklingsmiljö. Efter att du programmerat färdigt låter du en kompilator översätta C++-källkoden till maskinkod som kan köras av CPU:n. Källkoden för större projekt organiseras i flera källkodsfiler. Så kallade .cpp-filer innehåller funktioner och variabler, medan .h-filer innehåller referensdeklarationer för funktioner i .cpp-filer. För att kunna anropa funktioner som finns refererade i en .h-fil så måste filen inkluderas. Detta gör du med preprocessordirektivet #include .

Verktyg I detta material har vi valt utvecklings-verktyget Microsoft Visual C++ 2008 Express Edition (Visual) som exempel. Bilder, exempel och instruktioner i detta kapitel visar Visual. Om du arbetar i en annan version eller någon annan utvecklingsmiljö kan du ändå känna igen dig och göra övningarna. I Visual kan du lätt få hjälp om nyckelord och funktioner genom att ställa markören i det ord du undrar över och sedan trycka F1. Prova gärna detta, till exempel med funktionen fopen. I hjälpen kan du se vad den gör (Open a file) och se vad den har för parametrar, returvärde och andra relevanta fakta. Ofta medföljer även exempel, som i detta fallet.

Säkerhetskopiera Börja med att kopiera övningsfilerna som medföljer materialet. Det bästa är om du hela tiden arbetar med lokala kopior. Lägg exempelvis källkoden någonstans under Mina dokument; lämpligt är kanske den mapp som skapas automatiskt av Visual vid installationen, mappen Visual Studio 2008\Projects, om det är lämpligt för dig skapar du också en ny mapp kallad: C++ B till vilken du kopierar övningsfilerna.

Öppna, kompilera, kör och stäng Du ska nu öppna ett färdigt projekt för att direkt komma in i arbetsgången igen. Du ska börja med att starta utvecklingsverktyget. 1. Klicka på knappen Start, välj Alla Program, Microsoft Visual C++ 2008 Express Edition, välj Microsoft Visual C++ 2008 Express Edition. När programmet startar kan det se ut som i följande bild.

6

1 Repetition och lite nytt

2. I menyn väljer du File, Open, Project/Solution... 3. Klicka på Phantom/Phantom.sln och klicka sedan på knappen Open. 4. Kompilera med Ctrl+Shift+B. 5. Kör programmet med F5. En meddelanderuta visas:

6. Avsluta programmet genom att stänga meddelanderutan. 7. Avsluta Visual med File, Exit. Om det är några oklarheter så kan du alltid gå tillbaka till ”På rätt kurs: C++ Programmering A” för att repetera; där finner du många och utförliga instruktioner för hur du ska gå tillväga vid hanteringen av Visual.

7

1 Repetition och lite nytt

Programexempel Data och variabler Variabler är till för att lagra data i. Heltalsvariabler kan endast lagra heltal, flyttalsvariabler klarar tal i potensform. Heltalsvariablerna heter char, short och int för 8-, 16- respektive 32-bitars heltal. Heltal kan deklareras som enbart positiva med nyckelordet unsigned. Flyttalsvariablerna heter float, double och long double. En array (eller ett fält) med variabler är när flera variabler ”ligger på rad” i minnet. En array med char kan tolkas som en sträng, där varje enskilt tal motsvarar en bokstav. En sträng deklareras med texten omgiven av citationstecken, till exempel ”Derivatan av en kvot är inte ofta konstigare än personen som deriverar”. En C++-sträng av-slutas alltid med ett nolltecken som automatiskt läggs till av kompilatorn. Tilldelning till variabler anges med =, till exempel int x = 7;. Vid jämförelse används , =, == och !=, som exempel returnerar x < 5 sant om x är mindre än 5, falskt om x är större än eller lika med 5. Pekare används för att referera till data. Tecknet * används vid deklarationen av en pekare och vid ”avreferering” av data. Tecknet & används för att hämta adressen, det vill säga pekaren, till ett dataelement. Mer repetition om pekare senare i materialet. För addition av variabler används operatorn +, subtraktion har operatorn –, multiplikation använder *, / används för division och % för modulus. Variabler kan deklareras antingen som globala eller som lokala. Globala variabler deklareras utanför alla funktioner, och kan användas av alla funktioner. Lokala variabler deklareras inuti en funktion och kan bara användas i just den funktionen. Så många variabler som möjligt ska vara lokala för att programmet ska bli lättläsligt och lätt att avlusa.

Några nyckelord

Nyckelordet if används för att villkorligt utföra ett antal satser. Nyckelorden do, while och for används alla för loopar. int x; for(x=1; x