Вывод в консоль ФИО и возраст людей по дате рождения - 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; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д