Om man ska skriva ett portabelt C++-program, alltså ett som också kan kan kompileras och sen köras på en dator med till exempel Mac OS X eller Linux, måste man hålla sig till in- och utmatning av text. De grafiska gränssnitten, och hur man arbetar med fönster och knappar och liknande, är helt olika på de olika systemen. Grundspråket C++, alltså det som specificeras av C++-standarden, innehåller inga grafiska funktioner.
Varje projekt får en egen katalog på disken. När man skapar ett projekt kan man ange var projektets katalog ska placeras.
Om man arbetar hemma kan man lägga den var man vill, men i universitetets datorsalar har vi inte samma frihet. Där är din hemkatalog monterad som enheten M:, och det är där du ska lägga ditt projekt. Inte på den lokala disken på datorn (C:). Information som sparas på C: finns kanske inte kvar nästa dag, och man kommer inte åt den från andra datorer.
(Är hemkatalogen fortfarande monterad som M:? Det var så förra året i alla fall!)
Skapa en katalog för alla program, till exempel kallad M:\PCSA\Program, och placera alla projekt där.
Ett tips:
Erfarenheten lär oss att även om det ska fungera med mellanslag och ÅÄÖ i olika namn på datorer, så är det tyvärr inte alltid det verkligen gör det. Plötsligt får man något konstigt fel som efter flera timmars letande visar sig bero på att man hade ett svenskt tecken eller ett mellanslag i ett filnamn. Så det kan vara en god idé att undvika svenska tecken och mellanslag, åtminstone i namn som slutanvändarna inte ser. (Och allra helst borde det kanske vara på engelska?) Därför är just Hej C++! kanske inte ett så bra namn på projektet. |
Alternativt kan man skapa ett tomt projekt redan från början.
Alternativt kan man gå via Project -> Add New Item.
(Om vi ska skriva programkoden i C och inte i C++, kan vi få en C-fil genom att helt enkelt ge filen ett namn som slutar på .c och inte på .cpp.)
Man kan som synes också köra utan debuggern (Start Without Debugging), men medan vi skriver programmet är det ofta praktiskt att jobba i debuggern.
Det beror på att utmatningen från programmet, dvs texten Hej igen, världen!, skrivs ut i ett textfönster, men sen är ju programmet slut, och eftersom programmet avslutats så stängs fönstret.
Om man startar programmet med Start Without Debugging i stället för Start Debugging kommer Visual Studio automatiskt att skriva Press any key to continue . . . och vänta på att man trycker en tangent innan fönstret stängs.
Alternativt kan vi modifiera programmet så det inte avslutas direkt efter utskriften. Man kan göra på flera sätt, och ett vanligt sätt är att man anropar den Windows-specifika funktionen _getch, men här är ett som följer C++-standarden, vilket betyder att programmet går att kompilera och köra även till exempel på Linux:
#include <iostream> int main() { std::cout << "Hej igen, "; std::cout << "v\204rlden!\n"; std::cout << "Tryck ENTER f\224r att avsluta programmet.\n"; while (std::cin.get() != '\n') ; } |
Koderna: Å = \217 Ä = \216 Ö = \231 å = \206 ä = \204 ö = \224
(Teckenkoderna skrivs med det oktala talsystemet, dvs med basen 8. I det vanliga decimala talsystemet, dvs med basen 10, skrivs exempelvis teckenkoden för Å som 143.)
Notera att det här är något man råkar ut för just med konsolprogram i Visual Studio. Gör man fönsterprogram i Windows, eller jobbar på en Mac eller i Linux, slipper vi problemet.
Bry dig inte om att lära dig koderna utantill inför tentan! På tentan räcker det att bara skriva ÅÄÖ.
Ett alternativt och kanske bättre sätt att få svenska tecken att fungera är att ändra teckenuppsättning ("code page"). Det står mer i avsnittet om C-program.