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"); }
© Copyright 2024