Реализовать ввод и вывод полей структуры - C (СИ)
Формулировка задачи:
Здравствуйте ещё раз. Тут во второй лабе не могу понять как реализовать ввод и вывод полей структуры с клавиатуры. Функции должны работать с структурой через указатели.
Помогите, пожалуйста.
/* Определить структурированный тип
ввод элементов (полей) структуры с клавиатуры;
вывод элементов (полей) структуры с клавиатуры;
*/
// 10. Фамилия И.О., дата поступления, дата отчисления.
#include <stdio.h>
#include <conio.h>
#include <locale.h>
struct student{
char Name[80];
char datein[30]; // дата поступления
char dateout[30]; // дата отчисления
};
void InputStud();
void PrintStud();
int main()
{
setlocale(LC_ALL, "Russian");
struct student *aStud;
_getch();
return 0;
}Решение задачи: «Реализовать ввод и вывод полей структуры»
textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include <stdio.h>
#include <locale.h>
#include <malloc.h>
struct student{
char Name[80];
char datein[30]; // дата поступления
char dateout[30]; // дата отчисления
};
void InputStud(struct student* student) {
printf("Введите имя: ");
scanf("%s", student->Name);
printf("Введите дату поступления: ");
scanf("%s", student->datein);
printf("Введите дату отчисления: ");
scanf("%s", student->dateout);
}
void PrintStud(struct student* student) {
printf("Студет: %s\n", student->Name);
printf("Дата поступления: %s\n", student->datein);
printf("Дата отчисления: %s\n", student->dateout);
}
int main() {
struct student* student;
student = (struct student*) malloc (sizeof(student));
InputStud(student);
PrintStud(student);
free(student);
return 0;
}
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с файлами и памятью.
- Объявление структуры
studentс полямиName(имя),datein(дата поступления),dateout(дата отчисления). - Создание функции
InputStud, которая считывает данные из стандартного ввода и сохраняет их в поля структурыstudent. - Создание функции
PrintStud, которая выводит данные из полей структурыstudentна стандартный вывод. - Создание указателя
studentна структуруstudentи выделение памяти под него с помощью функцииmalloc. - Вызов функции
InputStudдля заполнения полей структурыstudent. - Вызов функции
PrintStudдля вывода данных из структурыstudent. - Освобождение памяти, выделенной под указатель
student, с помощью функцииfree. - Возврат значения 0, что означает успешный конец работы программы.