løsningforslag1

1 ØVING I WINDOWS FRA CHRISTIAN ANDOLO
Program fra sekunder
Lag et program som leser inn en tid i sekunder (et stort tall).
Deretter skal programmet skrive ut hvor mange timer, minutter og sekunder dette er.
Eksempel
Innlest: 3665 sekunder Utskrift: 1 time, 1 minutt og 5 sekunder
#include "stdafx.h"
#include <iostream>
using namespace std;
int main()
{
const static unsigned int sektime = 3600; //Definer antall sekunder i en time
const static unsigned int sekmin = 60; //Definer antall sekunder i et minutt
cout << "Skriv inn antall sekunder: ";
unsigned int sek; //Definer tallet sekunder
cin >> sek; //Leser inn antall sekunder som heltall
cout << "\n"; cout << ( (unsigned int)(sek / sektime) ); //Del antall sekunder som det er på antall sekunder i en time og
kjør ut som heltall
cout << " time(r) \n";
cout << ( (unsigned int)((sek % sektime) / sekmin) ); //Det resten av antall sekunder som det er i en time på
antall sekunder i et minutt og kjør ut som heltall
cout << " minutt(er) \n";
cout << ( (unsigned int)((sek % sektime) % (sekmin)) ); //Kjør ut resten av resten av antall sekunder som det
er i en time på antall sekunder i et minutt som et heltall
cout << " sekund(er)";
cout << "\n";
cout << endl;
return 0;
}
Program temperaturer
Lag et program som ber brukeren taste inn 7 temperaturer i en løkke.
Programmet skal skrive ut minste og største temperatur, og til slutt gjennomsnittstemperaturen.
Lag et område øverst i venstre hjørne som tar imot data fra brukeren.
Utskriften skal gjøres i et område nederst i venstre hjørne.
Bruk ulik bakgrunnsfarge på de forskjellige områdene du bruker.
Hovedvinduet skal ha lys blå farge.
#include "stdafx.h"
#include <cstdlib>
#include <windows.h>
using namespace System;
int main(){
Double min = 9999999999999999999999999999999999999.99; //Genererer en variabel min temperaturen
forhåpentligvis er mindre enn.
Double max = 0.00; //Genererer en variabel max som en temperatur forhåpentligvis er større enn
Double avg = 0.00; //Genererer en gjennomsnittsvariabel
Console::BackgroundColor = ConsoleColor::Blue; //Sett bakgrunnsfarge som Blå
Console::Clear();
Console::BackgroundColor = ConsoleColor::Red; /Sett bakgrunnsfarge som Rød
for (int y=0; y < 16; y++) //fra linje 0 til og med linje 16
{
for (int x=0; x < 30; x++) //30 tegn bortover
{
Console::CursorLeft = x;
Console::CursorTop = y;
Console::Write(" ");
}
}
Console::CursorTop = 1; //Begynn å skrive på linje 1 (andre linje)
Console::CursorLeft = 0; //Begynn å skrive helt til venstre
for(int i=1; i<=7; i++) //Gjør dette som kommer nå 7 ganger
{
Console::WriteLine("Skriv inn temperatur " + i);
String^ temp = Console::ReadLine();
Double sum = System::Convert::ToDouble(temp); //Konverter innlest streng om til Double
if(sum>max){ //Hvis lest sum er større enn max sum, sett max sum som dette
max = sum;
}
if(sum<min){ //Hvis lest sum er mindre enn min sum, sett min sum som dette
min = sum;
}
avg = avg+sum; //Legg dette tallet til i avg variable
}
avg=avg/7; //Del avg varablen på 7
Console::BackgroundColor = ConsoleColor::DarkGreen; //Sett bakgrunnsfarge som Mørk grønn
for (int y=39; y < 50; y++) //fra linje 39 til 50
{
for (int x=0; x < 50; x++) //50 tegn bortover
{
Console::CursorLeft = x;
Console::CursorTop = y;
Console::Write(" ");
}
}
}
Console::CursorTop = 40; //Begynn å skrive på linje 40
Console::CursorLeft = 0; //helt til venstre
System::Console::WriteLine("Maks: ");
System::Console::Write( max );
System::Console::WriteLine("\n");
System::Console::WriteLine("Min: ");
System::Console::Write( min );
System::Console::WriteLine("\n");
System::Console::WriteLine("Avg: ");
System::Console::Write( avg );
System::Console::WriteLine("\n");
Program sorter
Lag et program som kan sortere n antall tall i en array.
Tallene som legges i en array skal trekkes tilfeldig med System::Random.
Skriv deretter ut tallene i arrayen til skjermen.
Sorter tallene i arrayen.
Skriv deretter ut tallene i arrayen til skjermen på ny.
// Sorter.cpp : main project file.
#include "stdafx.h"
using namespace System;
void bytt(int& ra, int& rb)
{
int c = ra; //Sett c som ra
ra = rb; //Sett ra som rb
rb = c; //Sett rb som c
}
void sorter(int a[], int n)
{
for (int i=0; i<n; i++) //Gjør dette for alle tall i arrayen
{
for (int j=i+1; j<=n; j++) //Sjekk stående tall mot alle de neste tallene i arrayen
{
if (a[i] > a[j]) //Hvis stående tall er større enn noen av de etterkommende tallene
bytt(a[i], a[j]); //Bytt plass på de
}
}
}
int main(array<System::String ^> ^args)
{
Console::WriteLine("Skriv inn antall tall: ");
String^ antall = Console::ReadLine();
int ant = System::Convert::ToInt32(antall); //Konverter stringen til int
int a[99999]; //Definerer en array med 99999 plasser
Random^ rand = gcnew Random; //Lag en randomgenerator
for (int i=0; i<ant; i++){ //Fyll like mange felt i arrayen som brukeren har definert med random tall mellom 1
og 10000
a[i] = rand->Next(1, 10000);
}
Console::WriteLine("\n");
for (int t=0; t<ant; t++)
Console::WriteLine("a[" + t + "] =" + a[t]); //Skriv ut like mange elementer av arrayen som brukeren har
definert
sorter(a, ant); //Sorter like mange elementer i arrayen som brukeren har definert
Console::WriteLine("\n\n Sortert\n");
for (int t=0; t<ant; t++)
Console::WriteLine("a[" + t + "] =" + a[t]); //Skriv ut den sorterte arrayen med like mange elementer som
brukeren har definert
Console::WriteLine("\n");
}