Övningsuppgifter C++
Uppgift 1
Skriv ett program som läser in tecken från tangentbordet
tills lämpligt sluttecken anges. Alla tecken utom vita tecken (blanktecken,
tabtecken och newline) skall räknas och summan skall skrivas ut på skärmen.
Uppgift 2
Programmet skall läsa in ett godtyckligt antal
tecken från tangentbordet. Förekomsten av små bokstäver a - z skall
räknas var bokstav för sig och resultatet lagras i en vektor. Vektorn
skall skrivas ut på skärmen. Inläsningen skall avslutas med godtyckligt
ej numeriskt tecken.
Uppgift 3
Programmet skall i funktionen main läsa in två
tal, det första reellt det andra ett heltal. Dessa skall sedan sändas
som parametrar till en funktion som skall returnera värdet av det första
talet upphöjt till det andra. Använd en for-loop för beräkningen. Resultatet
skall skrivas ut på skärmen från main.
Uppgift 4
Som uppg 3 men värdet av beräkningen skall sändas
tillbaka till main genom den första parametern till beräkningsfunktionen
som skall vara en referensparameter.
Uppgift 5
Efter att användaren har matat in en serie av
ett till tio tal skall programmet skriva ut max- och minvärde samt medelvärdet
av talen.
Uppgift 6
Som uppgift 5 men de statistiska funktionerna
skall implementeras som C++ funktioner
Uppgift 7
Som uppgift 6 men de statistiska funktionerna
skall vara samlade i en ny Statistik-klass.
Uppgift 8
Programmet skall i följd på samma rad, åtskilda
av blanktecken läsa in en operator (+, -, *, /) och två flyttal. Beroende
på operator skall addition, subtraktion, multiplikation eller division
utföras på de två talen. Resultatet skall skrivas ut, snyggt formatterat.
Avslut med operator 's'.
Uppgift 9
Som uppg 8 men matematiken skall utföras i en
separat funktion för varje räknesätt. Resultatet skall skrivas ut i
separat utskriftsfunktion. Funktionerna och deras data skall definieras
i en lämplig klass.
Uppgift 10
Programmet skall läsa in en godtycklig sträng
med maxlängd 79 tecken i en strängvariabel och därefter skriva ut strängen
baklänges på skärmen.
Uppgift 11
Konstruera en klass för publikationer och multimedia.
En publikation kan vara tex bok, artikel i dagstidning, artikel i tidskrift,
rapport. Klassen bör innehålla data om titel, författare, publiceringsdatum,
förlag och publiceringsort samt tidskriftsnummer och upplaga. Klassen
skall innehålla metoder för att mata in data och skriva ut data. Inkorporera
klassen i ett litet exempelprogram där man kan mata in data om en publikation
och sedan skriva ut den på skärmen.
Uppgift 12
En lite mer avancerad utökning av föregående exempel:
Skapa istället för en enskild instans av klassen en vektor av instanser
och utöka klassen med ett par metoder för att söka med namn och titel.
Tips: Sökningen kan gå till så att man matar in ett namn, därefter anropas
i en loop sökmetoden i varje instans i vektorn med namnet som parameter
tills namnet antingen hittas eller alla instanser är kontrollerade.
Uppgift 13
Konstruera om exempel 12 så att publikationer
nu skapas i en klasshieraki med en basklass och ett antal subklasser
som var och en beskriver en viss typ av publikation. Samma krav på metoder.
Uppgift 14
Utöka föregående exempel så att det även kan hantera
multimedia, t ex CD-ROM, video, etc.
|