Вывод в консоль ФИО и возраст людей по дате рождения - C (СИ)
Формулировка задачи:
Нужно ввести в диалоговом режиме ФИО 5 людей и даты их рождения, после вывести в консоль в виде таблицы ФИО и возраст(!) этих людей. Я в программировании мало чего понимаю, пока только учусь, прошу помощи.
Немного накидал код, но не уверен в его правильности, и не знаю что делать дальше.
#include <stdio.h>
int main()
{
int vozrast;
char f[20],i[20],o[20],f1[20],i1[20],o1[20],f2[20],i2[20],o2[20],f3[20],i3[20],o3[20],f4[20],i4[20],o4[20];
printf("Введите фамилию: ");
scanf("%s", f,f1,f2,f3,f4);
printf("Введите имя: ");
scanf("%s", i,i1,i2,i3,i4);
printf("Введите отчество: ");
scanf("%s", o,o1,o2,o3,o4);
printf("Введите дату рождения: ");Решение задачи: «Вывод в консоль ФИО и возраст людей по дате рождения»
textual
Листинг программы
int main()
{
//Структура данных по человеку
struct person{
char name[20];
char surname[20];
char lastname[20];
int age;
int birthdate;
int birthmonth;
int birthyear;
} man1, man2, man3, man4, man5;
//Текущая дата (для вычисления возраста)
struct currentDate{
int day;
int month;
int year;
} c_date;
printf("Введите текущую дату(в формате дд.мм.гг): ");
scanf("%d.%d.%d", &c_date.day, &c_date.month, &c_date.year);
//Ввод данных первого человека
printf("Введите фамилию: ");
scanf("%s", man1.surname);
printf("Введите имя: ");
scanf("%s", man1.name);
printf("Введите отчество: ");
scanf("%s", man1.lastname);
printf("Введите дату рождения(в формате дд.мм.гг): ");
scanf("%d.%d.%d", &man1.birthdate, &man1.birthmonth, &man1.birthyear);
//Ввод данных второго человека
printf("Введите фамилию: ");
scanf("%s", man2.surname);
printf("Введите имя: ");
scanf("%s", man2.name);
printf("Введите отчество: ");
scanf("%s", man2.lastname);
printf("Введите дату рождения(в формате дд.мм.гг): ");
scanf("%d.%d.%d", &man2.birthdate, &man2.birthmonth, &man2.birthyear);
//Ввод данных третьего человека
printf("Введите фамилию: ");
scanf("%s", man3.surname);
printf("Введите имя: ");
scanf("%s", man3.name);
printf("Введите отчество: ");
scanf("%s", man3.lastname);
printf("Введите дату рождения(в формате дд.мм.гг): ");
scanf("%d.%d.%d", &man3.birthdate, &man3.birthmonth, &man3.birthyear);
//Ввод данных четвертого человека
printf("Введите фамилию: ");
scanf("%s", man4.surname);
printf("Введите имя: ");
scanf("%s", man4.name);
printf("Введите отчество: ");
scanf("%s", man4.lastname);
printf("Введите дату рождения(в формате дд.мм.гг): ");
scanf("%d.%d.%d", &man4.birthdate, &man4.birthmonth, &man4.birthyear);
//Ввод данных пятого человека
printf("Введите фамилию: ");
scanf("%s", man5.surname);
printf("Введите имя: ");
scanf("%s", man5.name);
printf("Введите отчество: ");
scanf("%s", man5.lastname);
printf("Введите дату рождения(в формате дд.мм.гг): ");
scanf("%d.%d.%d", &man5.birthdate, &man5.birthmonth, &man5.birthyear);
//Вычисление возраста
man1.age = c_date.year - man1.birthyear;
man2.age = c_date.year - man2.birthyear;
man3.age = c_date.year - man3.birthyear;
man4.age = c_date.year - man4.birthyear;
man5.age = c_date.year - man5.birthyear;
//Проверка текущего месяца и месяца рождения
if(c_date.month < man1.birthmonth) man1.age = man1.age - 1;
if(c_date.month < man2.birthmonth) man2.age = man2.age - 1;
if(c_date.month < man3.birthmonth) man3.age = man3.age - 1;
if(c_date.month < man4.birthmonth) man4.age = man4.age - 1;
if(c_date.month < man5.birthmonth) man5.age = man5.age - 1;
//проверка даты рождения если текущий месяц и месяц рождения совпадают
if(c_date.month == man1.birthmonth && c_date.day < man1.birthdate) man1.age = man1.age - 1;
if(c_date.month == man2.birthmonth && c_date.day < man2.birthdate) man2.age = man2.age - 1;
if(c_date.month == man3.birthmonth && c_date.day < man3.birthdate) man3.age = man3.age - 1;
if(c_date.month == man4.birthmonth && c_date.day < man4.birthdate) man4.age = man4.age - 1;
if(c_date.month == man5.birthmonth && c_date.day < man5.birthdate) man5.age = man5.age - 1;
//Вывод данных
printf("\n");
printf("%s %s %s %d", man1.surname, man1.name, man1.lastname, man1.age);
printf("%s %s %s %d", man2.surname, man2.name, man2.lastname, man2.age);
printf("%s %s %s %d", man3.surname, man3.name, man3.lastname, man3.age);
printf("%s %s %s %d", man4.surname, man4.name, man4.lastname, man4.age);
printf("%s %s %s %d", man5.surname, man5.name, man5.lastname, man5.age);
return 0;
}