Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <limits>
- #include <iostream>
- using namespace std;
- class Stad {
- public:
- string stadNamn[10]; // Städernas namn
- float temperatur[10]; // Städernas temperatur
- void SkrivUt() {
- for (int i = 0; i < temperatur[i]; ++i) // Loop som kör så länge i mindre än temperatur
- cout << stadNamn[i] << ", " << temperatur[i] << "\xf8""C\n"; // Funktion som skriver ut både stad och temperatur
- }
- };
- float medelTemp(Stad städer[], int antal) {
- float summa = 0;
- for (int i = 0; i < antal; i++) // lopa så länge i mindre än antal
- {
- summa += städer[i].temperatur[i] / antal;
- }
- return summa;
- }
- float högstTemp(Stad städer[], int antal) // söker igenom vektorn med linsök metoden eftersson den är så liten
- {
- float result = städer[0].temperatur[9]; // initierar variabeln på temperaturens med första värden från arrayen
- for (int i = 0; i < antal; i++) // lopa så länge i mindre än antal
- {
- if (result < städer[i].temperatur[i]) // kontrollerar om högre än senaste i result
- result = städer[i].temperatur[i]; // om högre temp uppdatera result
- }
- return result; // returnera högsta temp.
- }
- int main() {
- Stad stad, städer; // Klassen stad med 2st attribut (String stadNamn, float temperatur)
- stad.stadNamn[9]; // Skapar ett objekt ur klass "Stad" för att lagra städernas namn
- stad.temperatur[9]; // Skapar ett objekt ur klass "Stad" för att lagra städernas temperatur
- int antalStader[10]; // Deklarar en int för att lagra antalet städer
- float temptotal = 0; // Totaltemperatur
- float average = 0; // Medeltemperatur
- float min = 60; // Minsta temperatur
- float max = -60; // Max temperatur
- cout << "======================================\n";
- cout << "HEJ OCH V\x8ELKOMMEN TILL V\x8E""DERSTATIONEN!\n";
- cout << "======================================\n\n";
- cout << "OBS! N\x84r du anger en temperatur f\x94r en stad\n";
- cout << "m\x86ste intervallen h\x86llas inom (-60 till 60 grader)\n\n";
- cout << "Press (Enter) to Continue...";
- cin.ignore(numeric_limits<streamsize>::max(), '\n');
- cout << "\nAnge antalet st\x84""der du vill utf\x94ra en m\x84tning p\x86: ";
- // Antalet städer som användaren vill mata in temperaturer på
- cin >> antalStader[9];
- // OM annat än siffror anges så stängs programet ner med EXIT och ett felmeddelande
- if (antalStader[9] > 0 || antalStader[9] < 0) {
- }
- else {
- cout << "\nFel inmatning! Antalet st\x84""der ska anges i siffror!\n";
- system("pause");
- exit(EXIT_FAILURE);
- }
- // FOR loop för att låta användaren mata in stadens "namn" och "temperatur"
- for (int i = 0; i < antalStader[9]; ++i) {
- cout << "Ange stadnamn " << i + 1 << ": ";
- cin >> stad.stadNamn[i];
- cout << "Ange temperatur f\x94r " << stad.stadNamn[i] << ": ";
- cin >> stad.temperatur[i];
- cout << endl;
- // OM annat än siffror anges så stängs programet ner med EXIT och ett felmeddelande
- if (stad.temperatur[i] > 0 || stad.temperatur[i] < 0) {
- }
- else {
- cout << "\nFel inmatning! Temperaturen ska anges i siffror!\n";
- system("pause");
- exit(EXIT_FAILURE);
- }
- // OM annat än grader under -60 och eller 60 anges så stängs programet ner med EXIT och ett felmeddelande
- if (stad.temperatur[i] >= -60 && stad.temperatur[i] <= 60) {
- }
- else {
- cout << "\nFel inmatning! Ska vara inom -60 till 60 grader\n";
- system("pause");
- exit(EXIT_FAILURE);
- }
- }
- cout << "-------------------------------------------\n";
- cout << " UTR\x8EKNING\n";
- cout << "-------------------------------------------\n";
- cout << "(Dina angivna st\x84""der f\x94r temperaturm\x84tning)\n";
- cout << "-------------------------------------------\n\n";
- stad.SkrivUt(); // Skriver ut stad och grader från funktionen SkrivUt
- // Skriver ut medeltemperatur, högsta/lägsta temperatur m.m
- cout << endl;
- for (int i = 0; i < antalStader[9]; ++i) { // For loop som kör antalet städer som angetts
- temptotal += stad.temperatur[i];
- if (stad.temperatur[i] > max) // Räknar ut maxTemp
- max = stad.temperatur[i];
- if (stad.temperatur[i] < min) // Räknar ut minTemp
- min = stad.temperatur[i];
- }
- average = (temptotal / antalStader[9]); // Räknar ut medelvärdet
- cout << "-------------------------------------------\n";
- cout << "St\x84""dernas medeltemp = " << average << "\xf8""C\n";
- cout << "-------------------------------------------\n";
- cout << "H\x94gsta uppm\x84tta maxtemp = " << max << "\xf8""C\n";
- cout << "-------------------------------------------\n";
- cout << "L\x84gsta uppm\x84tta mintemp = " << min << "\xf8""C\n";
- cout << "-------------------------------------------\n";
- //float result = högstTemp(städer, antalStader[9]); // Här tänkte jag egentligen anropa högstTemp men får inte till det!
- //cout << "\nH\x94gsta temperaturen finns p\x86: " << result;
- cout << endl << endl;
- cout << "Ha nu en fortsatt trevlig sommar!\n";
- system("pause");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement