
Даю 20 баллов!!! Помогите составить программу на языке С++:1. Описать структуру с именем
COMPUTER, которая содержит следующие поля:- Procesor - процессор компьютера;- Ram - объем оперативной памяти;- HDD - структура содержащая поля (Namt- производитель, V_Ram - объем,V- скорость вращения диска)- Monitor - диагональ монитора- Keyboard -тип клавиатуры;- Mouse - тип мыши.2. Написать программу, которая использует данную структуру и выполняетследующие действия:- вводит с клавиатуры массив данных CLASS, состоящий из Nпеременных типа COMPUTER;- упорядочивает записи по росту поля V_ram;- выводит на экран всех компьютеры с введенным процессором ..

Ответы на вопрос

#include <iostream>
#include <stdlib.h>
#include <string>
#include <conio.h>
#include <cstdlib>
using namespace std;
struct COMPUTER
{
string Procesor;
long int Ram;
struct HDD
{
string Namt;
long int V_Ram;
long int V;
}hd;
string Monitor;
string Keyboard;
string Mouse;
void print()
{
cout << "Processor: " << Procesor << "\nRAM: " << Ram << "\nHDD/NamT: " << hd.Namt << "\nHDD/V_Ram: " << hd.V_Ram << "\nHDD/V: " << hd.V << "\nMonitor: " << Monitor << "\nKeyboard: " << Keyboard << "\nMouse: " << Mouse << "\n\n";
}
};
int main()
{
setlocale(LC_ALL, "ru");
int k = 1;
int tk;
cout << "Введите кол-во компьютеров: ";
cin >> tk;
COMPUTER* pc = new COMPUTER[tk];
for (int i = 0; i < tk; i++)
{
cout << "Заполнение " << i << " компьютера" <<endl;
cout << "Введите Procesor: ";
cin >> pc[i].Procesor;
cout << "Введите Ram: ";
cin >> pc[i].Ram;
cout << "Введите HDD/Namt: ";
cin >> pc[i].hd.Namt;
cout << "Введите HDD/V_Ram: ";
cin >> pc[i].hd.V_Ram;
cout << "Введите HDD/V: ";
cin >> pc[i].hd.V;
cout << "Введите Monitor: ";
cin >> pc[i].Monitor;
cout << "Введите Keyboard: ";
cin >> pc[i].Keyboard;
cout << "Введите Mouse : ";
cin >> pc[i].Mouse;
system("cls");
}
int tab = 0;
bool bMENU = true;
char ch_key;
while (bMENU)
{
if (tab == 0)
{
cout << "1 - Выводит на экран всех компьютеры с введенным процессором" << endl;
cout << "2 - Упорядочивает записи по росту поля V_ram" << endl;
cout << "ESC - Выход" << endl;
switch ((ch_key = _getch()))
{
case '1':
tab = 1;
break;
case '2':
tab = 2;
break;
case 27:
bMENU = false;
cout << "Выход из программы\n";
break;
default:
cout << "Нажата неподдерживаемая клавиша\n";
break;
}
}
if (tab == 1)
{
system("cls");
string proc;
cout << "Введите процессор: ";
cin >> proc;
for (int i = 0; i < tk; i++)
{
if (pc[i].Procesor == proc)
{
pc[i].print();
}
}
cout << "0 - Вернуться в меню" << endl;
cout << "ESC - Выход" << endl;
switch ((ch_key = _getch()))
{
case '0':
tab = 0;
break;
case 27:
bMENU = false;
cout << "Выход из программы\n";
break;
default:
cout << "Нажата неподдерживаемая клавиша\n";
break;
}
system("cls");
}
if (tab == 2)
{
struct COMPUTER tmp;
system("cls");
for (int i = 0; i < tk; i++) {
for (int j = i + 1; j < tk; j++) {
if (pc[i].hd.V_Ram > pc[j].hd.V_Ram) {
tmp = pc[j - 1];
pc[j - 1] = pc[j];
pc[j] = tmp; ;
}
}
}
for (int i = 0; i < tk; i++)
{
pc[i].print();
}
cout << "0 - Вернуться в меню" << endl;
cout << "ESC - Выход" << endl;
switch ((ch_key = _getch()))
{
case '0':
tab = 0;
break;
case 27:
bMENU = false;
cout << "Выход из программы\n";
break;
default:
cout << "Нажата неподдерживаемая клавиша\n";
break;
}
system("cls");
}
}
system("pause");
return 0;
}



Спасибо за 20 баллов! Ниже приведена программа на языке C++, которая реализует описание структуры COMPUTER
и выполняет указанные действия:
cpp#include <iostream>
#include <string>
#include <algorithm>
struct HDD {
std::string Namt; // производитель
double V_Ram; // объем
int V; // скорость вращения диска
};
struct COMPUTER {
std::string Procesor;
int Ram;
HDD Hdd;
double Monitor;
std::string Keyboard;
std::string Mouse;
};
bool sortByV_Ram(const COMPUTER& comp1, const COMPUTER& comp2) {
return comp1.Hdd.V_Ram < comp2.Hdd.V_Ram;
}
int main() {
int N;
std::cout << "Введите количество компьютеров: ";
std::cin >> N;
COMPUTER* CLASS = new COMPUTER[N];
std::cout << "Введите информацию о каждом компьютере:" << std::endl;
for (int i = 0; i < N; i++) {
std::cout << "Компьютер " << i + 1 << std::endl;
std::cout << "Процессор: ";
std::cin >> CLASS[i].Procesor;
std::cout << "Оперативная память: ";
std::cin >> CLASS[i].Ram;
std::cout << "Жесткий диск:" << std::endl;
std::cout << " Производитель: ";
std::cin >> CLASS[i].Hdd.Namt;
std::cout << " Объем: ";
std::cin >> CLASS[i].Hdd.V_Ram;
std::cout << " Скорость вращения диска: ";
std::cin >> CLASS[i].Hdd.V;
std::cout << "Диагональ монитора: ";
std::cin >> CLASS[i].Monitor;
std::cout << "Тип клавиатуры: ";
std::cin >> CLASS[i].Keyboard;
std::cout << "Тип мыши: ";
std::cin >> CLASS[i].Mouse;
std::cout << std::endl;
}
// Упорядочиваем записи по росту поля V_Ram
std::sort(CLASS, CLASS + N, sortByV_Ram);
// Выводим компьютеры с введенным процессором
std::string searchProcessor;
std::cout << "Введите процессор для поиска: ";
std::cin >> searchProcessor;
bool found = false;
for (int i = 0; i < N; i++) {
if (CLASS[i].Procesor == searchProcessor) {
std::cout << "Компьютер " << i + 1 << std::endl;
std::cout << "Процессор: " << CLASS[i].Procesor << std::endl;
std::cout << "Оперативная память: " << CLASS[i].Ram << std::endl;
std::cout << "Жесткий диск:" << std::endl;
std::cout << " Производитель: " << CLASS[i].Hdd.Namt << std::endl;
std::cout << " Объем: " << CLASS[i].Hdd.V_Ram << std::endl;
std::cout << " Скорость вращения диска: " << CLASS[i].Hdd.V << std::endl;
std::cout << "Диагональ монитора: " << CLASS[i].Monitor << std::endl;
std::cout << "Тип клавиатуры: " << CLASS[i].Keyboard << std::endl;
std::cout << "Тип мыши: " << CLASS[i].Mouse << std::endl;
std::cout << std::endl;
found = true;
}
}
if (!found) {
std::cout << "Компьютеры с процессором " << searchProcessor << " не найдены." << std::endl;
}
delete[] CLASS;
return 0;
}
Программа позволит вам ввести информацию о компьютерах, упорядочит их по росту поля V_Ram
и выведет на экран информацию о компьютерах с введенным процессором.


Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili