Tips och verktyg

Här lägger vi blandade verktygsresurser, t.ex. i form av praktiska programmeringstips som löser “vardagsproblem” eller mer problematiska sådana. “Lathundar” av olika slag hittar du i högerspalten – bidra gärna med egna tips!

Verktygslåda för C++-tips
Konkreta programmeringsfrågor postar du i första hand i diskussionsgruppen (Slack). Frågor som ställs via mail kommer vidarebefordras till forumet om de är av allmänt intresse. Finns någon lämplig praktisk eller generell lösning som svar, lägger vi ut denna här, så blir sidan så småningom en användbar FAQ.

Så här gör du för att…

Verktygstips Rensa skärmen i ett console-program
Windows har ingen direkt egen API- funktion för detta. Enklast är att anropa en systemfunktion som tillhandahålls av iostream, för att exekvera dos-kommandon. Du gör helt enkelt följande funktionsanrop, med aktuellt dos-kommando som strängargument: system(“cls”);… så kommer console-fönstret att tömmas på sitt innehåll. Ett (sämre) alternativ är att skriva en enkel funktion som scrollar skärmen:
cls-funktion
Ett liknande kommando är system(“pause”); som stoppar programkörningen tills man trycker på en tangent.
Verktygstips Få automatisk formatering av din kod
Om du har mycket kod att formatera, t.ex. efter omjustering av kodpartier, kan du ha glädje av ett bekvämt verktyg i Visual Studio: Markera önskad kod att justera och välj i menyraden Edit -> Advanced -> Format Selection (alt. Format Document), så anpassas koden automatiskt till den standard som rekommenderas (eller den alternativa default-inställning du valt).
Verktygstips Göra inställningar för Visual Studio
Om du vill ändra standardinställningar i Visual Studio, väljer du menyalt. Tools -> Options och därefter önskad rubrik i vänstra vyn. Se bildexempel för inställningar i editorn. Här kan du t.ex. välja om radnummer ska visas eller hur kod autoformateras:
Inställningar i Visual Studio
Projektspecifika inställningar, såsom sökvägar för “VC++ Directories” eller val av teckenkodning (t.ex. Unicode Character Set) som ska tillämpas, görs på projektets Properties-sida: Högerklicka på projektnamnet i Solution Explorer-vyn och välj Properties längst ner i listan som öppnas.
Verktygstips Konvertera en siffra i en sträng till ett tal
Siffror i en sträng lagras med sin ASCII-kod. T ex lagras 0, 1, 2 som 48, 49, 50. Om du vill räkna med siffrorna måste de konverteras från ASCII till tal. För strängen: str = “43″; …beräknas t.ex. andra siffran på följande sätt: siffra2 = str[1] – ’0′; // dvs 51-48 = 3
Verktygstips Radera ett tecken i en c-sträng
Radera 3′e tecknet i strängen ‘str’:
Kod för radera tecken i sträng
Här kopieras strängen str+3=”le” ett steg till vänster. Utskriften blir nu Kale. 3′e tecknet är raderat!
Verktygstips Initiera en array
En globalt definierad array initieras automatiskt till 0 i alla element.
En array kan också initieras vid definitionen:
Initiering av arrayer
Verktygstips Skriva ut Å, Ä, Ö i consolen & skriva/läsa tal på svenskt vis
Som du sett, så blir det konstiga tecken om vi skriver ut å, ä eller ö när vi programmerar i Windows och skriver ut i Console. Det beror på att Windows och Console använder olika teckenuppsättningar. Dessutom använder C++ decimalpunkt istället för decimalkomma. Ett sätt att lösa detta problem är att göra enligt exemplet nedan. (Garanterar inte att detta är det bästa sättet, men det fungerar …)
locale swedish()
Så här ser det ut när det körs:
locale swedish()
Ett annat är att ersätta resp. bokstav med nedanstående hexadecimala värden. Se ASCII-tabellen, under rubriken Command Promt, för flera intressanta teckenmöjligheter (eller länken med uppslagstabeller i länkskafferiet).
Koder för åäö
Det kan hända att du får felet: error C2022: ’38110′ : too big for characteri vissa fall. Det beror på vad det står för bokstav efter tecknet.
cout << “F94delsedag”;
Ovanstående utskrift ger detta fel, eftersom tecknet tolkas som det hex 94de istället för hex 94. En workaround är att istället använda oktala koder för tecknet. Kan hittas i diverse ASCII-tabeller eller använd Windows miniräknare och konvertera hex 94 till oct 224. Oktala teckenkoder skrivs utan x:
cout << “F224delsedag”;
Verktygstips Att använda and, or och not i Visual Studio
Enligt senare standard kan man använda and, or och not istället för &&, || och !. För att tillåta detta i Visual C++ inkluderar man biblioteket:
#include <ciso646>

Välkommen till CoursePress

en utav Linnéuniversitets lärplattformar. Som inloggad student kan du kommunicera, hålla koll på dina kurser och mycket mer. Du som är gäst kan nå de flesta kurser och dess innehåll utan att logga in.

Läs mer lärplattformar vid Linnéuniversitetet

Studentkonto

För att logga in behöver du ett studentkonto vid Linnéuniversitet.

Läs mer om att hämta ut studentkonto

Inloggning LNU