Проектиране на софтуер за превозни средства


В програмата са използвани следните класове



страница2/2
Дата04.06.2023
Размер28.26 Kb.
#117955
1   2
Курсова-по-програмиране
Свързани:
протокол-6
В програмата са използвани следните класове:

  • RadioStation - това е класът, който описва радиостанцията. Има атрибути за име, честота в MHz, качество в %, текущо състояние (visible/grayed_out/not_visible) и потребителска оценка в интервала [0, 255]. Има методи за достъп до атрибутите, метод за отпечатване на информацията и метод за определяне на текущото състояние на радио-станцията според дадените условия.



  • RadioStudio - това е класът, който представя радиостудиото. Той има атрибут за масив от радиостанции и методи за добавяне на радиостанция, извеждане на информация за всички радиостанции и извеждане на имената и качеството на радиостанциите със състояние grayed_out.



  • main - това е главната функция, която извиква методите на класовете RadioStation и RadioStudio и обработва информацията за радио станциите.



Общо описание на функциите на програмата:
Програмата позволява на потребителя да въведе информация за 6 радио станции от клас RadioStation чрез конзолата. Всички въведени радио станции се съхраняват в масив и информацията за тях се отпечатва на екрана.

Ако състоянието на дадена радио станция е "visible" и потребителската оценка е в интервала [115, 240], то програмата автоматично променя състоянието й на "grayed_out". В противен случай състоянието не се променя.

След като всички радио станции бъдат отпечатани на екрана, програмата приключва своето изпълнение.
#include
#include
using namespace std;

class RadioStation {


private:
string name;
double frequency;
int quality;
string state;
int rating;
public:
RadioStation(string n="", double f=0.0, int q=0, string s="not_visible", int r=0) : name(n), frequency(f), quality(q), state(s), rating(r) {}
~RadioStation() {}

string getName() const { return name; }


double getFrequency() const { return frequency; }
int getQuality() const { return quality; }
string getState() const { return state; }
int getRating() const { return rating; }

void printInfo() const {


cout << "Name: " << name << endl;
cout << "Frequency: " << frequency << " MHz" << endl;
cout << "Quality: " << quality << "%" << endl;
cout << "State: " << state << endl;
cout << "Rating: " << rating << endl;
cout << endl;
}

void setState() {


if (quality > 45) {
state = "visible";
} else if (quality >= 35) {
state = "grayed_out";
} else {
state = "not_visible";
}

if (state == "visible" && rating >= 115 && rating <= 240) {


state = "grayed_out";
}
}
};

int main() {


RadioStation stations[6];

for (int i = 0; i < 6; i++) {


cout << "Enter information for station #" << i+1 << endl;

string name;


double frequency;
int quality;
int rating;

cout << "Name: ";


getline(cin, name);

cout << "Frequency (in MHz): ";


cin >> frequency;

cout << "Quality (0-100): ";


cin >> quality;

cout << "Rating (0-255): ";


cin >> rating;

cin.ignore(); // ignore the newline character in the input buffer

stations[i] = RadioStation(name, frequency, quality, "not_visible", rating);

cout << endl;


}

for (int i = 0; i < 6; i++) {


stations[i].setState();
stations[i].printInfo();
}

cout << "Grayed out stations:" << endl;

for (int i = 0; i < 6; i++) {
if (stations[i].getState() == "grayed_out") {
cout << stations[i].getName() << " - Quality: " << stations[i].getQuality() << endl;
}
}

return 0;


}

Сподели с приятели:
1   2




©obuch.info 2024
отнасят до администрацията

    Начална страница