Описать структуру с именем ZNAK - C (СИ) (72025)

Узнай цену своей работы

Формулировка задачи:

Описать структуру с именем ZNAK, содержащую следующие поля: • фамилия, имя; • знак Зодиака; • дата рождения (массив из трех чисел). Написать программу, выполняющую следующие действия; • ввод с клавиатуры данных в массив, состоящий из восьми элементов типа ZNAK; записи должны быть упорядочены по датам рождения; • вывод на экран информации о людях, родившихся под знаком, название которого введено с клавиатуры; • если таких нет, выдать на дисплей соответствующее сообщение.

Решение задачи: «Описать структуру с именем ZNAK»

textual
Листинг программы
  1. #include "stdafx.h"
  2. #include <iostream>
  3. #include <cstring>
  4. using namespace std;
  5. struct Znak
  6. {
  7.     char name[50];
  8.     char zodiak[12];
  9.     int d1;
  10.     int d2;
  11.     int d3;
  12. };
  13. void main()
  14. {
  15.     setlocale(LC_ALL, "russian");
  16.     Znak zn[3], tmp; int i; char zodiak[20];
  17.     for (i = 0; i < 3; i++)
  18.     {
  19.         cout << "Введите фамилия имя :\ ";
  20.         cin >> zn[i].name;
  21.         cout << "Введите знак зодиака:\ ";
  22.         cin >> zn[i].zodiak;
  23.         cout << "Введите день рождения   :\ ";
  24.         cin >> zn[i].d1;
  25.         cout << "Введите месяц рождения  :\ ";
  26.         cin >> zn[i].d2;
  27.         cout << "Введите год рождения    :\ ";
  28.         cin >> zn[i].d3;
  29.         cout << endl;
  30.     }
  31.     for (i = 0; i <3; i++)
  32.         for (int j = 0; j<2; j++)
  33.             if (zn[j].d2>zn[j - 1].d2)
  34.             {
  35.                 tmp = zn[j];
  36.                 zn[j] = zn[j + 1];
  37.                 zn[j + 1] = tmp;
  38.             }
  39.     cout << "           Сортировка по месяцам" << endl;
  40.     for (i = 0; i < 3; i++)
  41.         cout << zn[i].name << "\t" << zn[i].zodiak << "\t" << zn[i].d1 << " / " << zn[i].d2 << " / " << zn[i].d3 << endl;
  42.     cout << "Введите знак зодиака ";
  43.     cin >> zodiak;
  44.     for (i = 0; i < 3; i++)
  45.         if (strcmp(zodiak, zn[i].zodiak) == 0)
  46.  
  47.             cout << zn[i].name << endl;
  48.     cout << zn[i].zodiak << endl;
  49.     system("pause");
  50.  
  51.     return;
  52. }

Объяснение кода листинга программы

  1. Объявляется структура Znak с полями name, zodiak, d1, d2, d3.
  2. В цикле main() вводится информация о трех знакомых.
  3. Затем происходит сортировка массива zn по возрастанию месяца рождения.
  4. Выводится отсортированный массив zn.
  5. Вводится знак зодиака для поиска.
  6. В цикле перебираются все элементы массива zn, и если знак зодиака совпадает с введенным, выводится имя и знак зодиака этого человека.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4.6 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут