Ввести и вывести структуру, которая содержит фамилию ученика, возраст, пол, 4 оценки - C (СИ)

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

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

Начал разбиратся в структурах и решил написать простую программу для начала. Задание такое: Дано структуру которая содрежит фамилию ученика, возтраст, пол, 4 оценки. Ввести и вывести структуру. Проблема в том, что не могу ввести символ в структуру (pupil.gender), программа как бы игнорирует ввод символа.
#define _CRT_SECURE_NO_WARNINGS 
#include <math.h> 
#include <conio.h> 
#include <stdio.h> 
#include <stdlib.h> 
#include <string.h >
#include <cctype>
 
struct datebase
{
    char surname[50];
    int age;
    char gender;
    int marks[4];
};
 
void main()
{
    
    struct datebase pupil;
 
        printf("Enter surname of pupil : ");
        scanf("%s", &pupil.surname);
        printf("Pupil surname : %s\n", pupil.surname); 
 
        printf("Enter age of pupil : ");
        scanf("%i", &pupil.age);
        printf("Age of pupil : %i\n", pupil.age);
 
        printf("Enter gender: ");
        scanf("%c", &pupil.gender);
        printf("Gender : %c\n", pupil.gender);
 
        for (int i = 0; i < 4; i++)
        {
            printf("Enter mark[%i] : ", i + 1);
            scanf("%i", &pupil.marks[i]);
            printf("Mark: %i\n", pupil.marks[i]);
        }
        
    _getch();
}

Решение задачи: «Ввести и вывести структуру, которая содержит фамилию ученика, возраст, пол, 4 оценки»

textual
Листинг программы
printf("Enter surname of pupil : ");
        scanf("%s", &pupil.surname);
        printf("Pupil surname : %s\n", pupil.surname); 
 
        printf("Enter age of pupil : ");
        scanf("%i", &pupil.age);
        printf("Age of pupil : %i\n", pupil.age);
 
        printf("Enter gender: ");
        fflush(stdin);
        fflush(stdout);
        scanf("%c", &pupil.gender);
        printf("Gender : %c\n", pupil.gender);

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

  1. Ввод фамилии ученика с помощью функции scanf в переменную pupil.surname.
  2. Вывод фамилии ученика с помощью функции printf в строке Pupil surname : %s\n.
  3. Ввод возраста ученика с помощью функции scanf в переменную pupil.age.
  4. Вывод возраста ученика с помощью функции printf в строке Age of pupil : %i\n.
  5. Ввод пола ученика с помощью функции scanf в переменную pupil.gender.
  6. Вывод пола ученика с помощью функции printf в строке Gender : %c\n.

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


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

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

15   голосов , оценка 4.133 из 5
Похожие ответы