Объявить структуру Humen, включающую имя человека, фамилию и год рождения - C (СИ)
Формулировка задачи:
Объявить тип-структуру humen, включающую имя человека, фамилию и год рождения. Объявить два массива из четырёх элементов типа humen. Ввести с консоли или из файла элементы одного массива и построить на их основе другой, упорядочив эле-менты по годам рождения. Вывести результат.
Решение задачи: «Объявить структуру Humen, включающую имя человека, фамилию и год рождения»
textual
Листинг программы
#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <iostream>
#pragma warning(disable : 4996)
int main()
{
setlocale(LC_ALL, "Russian");
typedef char string[256];//Переименование массива char[256] в тип string
string s;
struct humen
{
char name[20];
char surname[20];
int year;
};
humen per1, per2, per3, per4, per5, per6;
printf("ВВЕДИТЕ ДАННЫЕ ЧЕЛОВЕКА 1:\n");
printf("Имя: ");
gets(per1.name);
printf("Фамилия: ");
gets(per1.surname);
printf("Год рождения: ");
gets(s);
per1.year = atoi(s);
printf("\nВВЕДИТЕ ДАННЫЕ ЧЕЛОВЕКА 2:\n");
printf("Имя: ");
gets(per2.name);
printf("Фамилия: ");
gets(per2.surname);
printf("Год рождения: ");
gets(s);
per2.year = atoi(s);
printf("\nВВЕДИТЕ ДАННЫЕ ЧЕЛОВЕКА 3:\n");
printf("Имя: ");
gets(per3.name);
printf("Фамилия: ");
gets(per3.surname);
printf("Год рождения: ");
gets(s);
per3.year = atoi(s);
printf("\nВВЕДИТЕ ДАННЫЕ ЧЕЛОВЕКА 4:\n");
printf("Имя: ");
gets(per4.name);
printf("Фамилия: ");
gets(per4.surname);
printf("Год рождения: ");
gets(s);
per4.year = atoi(s);
printf("\nВВЕДИТЕ ДАННЫЕ ЧЕЛОВЕКА 5:\n");
printf("Имя: ");
gets(per5.name);
printf("Фамилия: ");
gets(per5.surname);
printf("Год рождения: ");
gets(s);
per5.year = atoi(s);
printf("\nВВЕДИТЕ ДАННЫЕ ЧЕЛОВЕКА 6:\n");
printf("Имя: ");
gets(per6.name);
printf("Фамилия: ");
gets(per6.surname);
printf("Год рождения: ");
gets(s);
per6.year = atoi(s);
printf( "\nСобранная информация:\n");
printf("%s %s %d\n", per1.name, per1.surname, per1.year);
printf("%s %s %d\n", per2.name, per2.surname, per2.year);
printf("%s %s %d\n", per3.name, per3.surname, per3.year);
printf("%s %s %d\n", per4.name, per4.surname, per4.year);
printf("%s %s %d\n", per5.name, per5.surname, per5.year);
printf("%s %s %d\n", per6.name, per6.surname, per6.year);
printf("\nСписок в порядке возрастания дат:\n");
if (per1.year < per2.year < per1.year<per3.year < per1.year < per4.year < per5.year < per6.year)
{
printf("%s %s %d\n", per1.name, per1.surname, per1.year);
if (per2.year < per3.year < per4.year < per5.year < per6.year)
{
printf("%s %s %d\n", per2.name, per2.surname, per2.year);
printf("%s %s %d\n", per3.name, per3.surname, per3.year);
}
else
{
printf("%s %s %d\n", per3.name, per3.surname, per3.year);
printf("%s %s %d\n", per2.name, per2.surname, per2.year);
}
}
else if (per2.year<per1.year&&per2.year<per3.year)
{
{
printf("%s %s %d\n", per2.name, per2.surname, per2.year);
}
if (per1.year < per3.year)
{
printf("%s %s %d\n", per1.name, per1.surname, per1.year);
printf("%s %s %d\n", per3.name, per3.surname, per3.year);
}
else
{
printf("%s %s %d\n", per3.name, per3.surname, per3.year);
printf("%s %s %d\n", per1.name, per1.surname, per1.year);
}
}
else
{
{
printf("%s %s %d\n", per3.name, per3.surname, per3.year);
}
if (per2.year<per1.year)
{
printf("%s %s %d\n", per2.name, per2.surname, per2.year);
printf("%s %s %d\n", per1.name, per1.surname, per1.year);
}
else
{
printf("%s %s %d\n", per1.name, per1.surname, per1.year);
printf("%s %s %d\n", per2.name, per2.surname, per2.year);
}
}
getchar();
return(0);
}
Объяснение кода листинга программы
В этом коде объявлена структура Humen, которая включает в себя поля name, surname и year. Затем определены пять объектов этой структуры (per1-per5), в которые пользователь вводит данные о пяти людях.
Далее, в цикле, данные из каждого объекта выводятся на экран в формате Имя Фамилия Год рождения.
Затем, в зависимости от года рождения, объекты упорядочиваются по возрастанию года рождения, и их данные выводятся на экран в формате Имя Фамилия Год рождения.
Возможные значения переменных:
- s - строка, содержащая год рождения, введенный пользователем.
- per1-per6 - объекты структуры Humen, содержащие данные о людях.
- name, surname, year - поля структуры Humen, содержащие имя, фамилию и год рождения человека соответственно.