Описать структуру с именем ZNAK - C (СИ) (72025)
Формулировка задачи:
Описать структуру с именем ZNAK, содержащую следующие поля:
• фамилия, имя;
• знак Зодиака;
• дата рождения (массив из трех чисел).
Написать программу, выполняющую следующие действия;
• ввод с клавиатуры данных в массив, состоящий из восьми элементов типа ZNAK; записи должны быть упорядочены по датам рождения;
• вывод на экран информации о людях, родившихся под знаком, название которого введено с клавиатуры;
• если таких нет, выдать на дисплей соответствующее сообщение.
Решение задачи: «Описать структуру с именем ZNAK»
textual
Листинг программы
#include "stdafx.h"
#include <iostream>
#include <cstring>
using namespace std;
struct Znak
{
char name[50];
char zodiak[12];
int d1;
int d2;
int d3;
};
void main()
{
setlocale(LC_ALL, "russian");
Znak zn[3], tmp; int i; char zodiak[20];
for (i = 0; i < 3; i++)
{
cout << "Введите фамилия имя :\ ";
cin >> zn[i].name;
cout << "Введите знак зодиака:\ ";
cin >> zn[i].zodiak;
cout << "Введите день рождения :\ ";
cin >> zn[i].d1;
cout << "Введите месяц рождения :\ ";
cin >> zn[i].d2;
cout << "Введите год рождения :\ ";
cin >> zn[i].d3;
cout << endl;
}
for (i = 0; i <3; i++)
for (int j = 0; j<2; j++)
if (zn[j].d2>zn[j - 1].d2)
{
tmp = zn[j];
zn[j] = zn[j + 1];
zn[j + 1] = tmp;
}
cout << " Сортировка по месяцам" << endl;
for (i = 0; i < 3; i++)
cout << zn[i].name << "\t" << zn[i].zodiak << "\t" << zn[i].d1 << " / " << zn[i].d2 << " / " << zn[i].d3 << endl;
cout << "Введите знак зодиака ";
cin >> zodiak;
for (i = 0; i < 3; i++)
if (strcmp(zodiak, zn[i].zodiak) == 0)
cout << zn[i].name << endl;
cout << zn[i].zodiak << endl;
system("pause");
return;
}
Объяснение кода листинга программы
- Объявляется структура Znak с полями name, zodiak, d1, d2, d3.
- В цикле main() вводится информация о трех знакомых.
- Затем происходит сортировка массива zn по возрастанию месяца рождения.
- Выводится отсортированный массив zn.
- Вводится знак зодиака для поиска.
- В цикле перебираются все элементы массива zn, и если знак зодиака совпадает с введенным, выводится имя и знак зодиака этого человека.