Вопрос задан 21.07.2023 в 10:27. Предмет Информатика. Спрашивает Сухоручкин Даниил.

Даю 20 баллов!!! Помогите составить программу на языке С++:1. Описать структуру с именем

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

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Майер Марина.

#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;

}

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Спасибо за 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 и выведет на экран информацию о компьютерах с введенным процессором.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос