Считать данные из файла и вывести на экран список животных, указанной породы и возраста - C (СИ)
Формулировка задачи:
Вот мое задание на лабораторную работу:
Написать программу для обработки информации о животных, представленных на выставку кошек. Информация включает в себя:
Кличка.
Порода.
Возраст.
Программа должна позволять пользователю:
Считывать данные с клавиатуры и заносить их в файл.
Считывать данные из файла и выводить на экран список животных, указанной породы и возраста.
__________________________________________________________________________________________________________
Не могу понять как записать структуру в файл и как считать именно тех животных "указанной породы и возраста".
Пожалуйста помогите...
Решение задачи: «Считать данные из файла и вывести на экран список животных, указанной породы и возраста»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> #include <string.h> #define MAXNAMELEN 32 #define MAXBREEDLEN 64 typedef struct st_dog { char name[MAXNAMELEN]; char breed[MAXBREEDLEN]; unsigned short int age; } dog; int sd = sizeof(dog); int main() { dog *myDog = malloc(sd); strcpy(myDog->name, "Sharik"); strcpy(myDog->breed, "Dvornyajka"); myDog->age = 5; FILE *f; f = fopen("dat", "wb"); fwrite(myDog, sd, 1, f); fclose(f); /********************************************/ dog *readDog = malloc(sd); f = fopen("dat", "rb"); fread(readDog, sd, 1, f); printf("readDog: %s %s %d\n", readDog->name, readDog->breed, readDog->age); return 0; }
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с файлами и памятью.
- Определение максимальной длины имени и породы собаки в макросах.
- Создание структуры данных
собака
с полями: имя (char), порода (char) и возраст (unsigned short int). - Вычисление размера структуры данных
собака
в байтах. - Выделение памяти под указатель на структуру данных
собака
. - Копирование значений в поля структуры данных
собака
. - Открытие файла
dat
в режиме записи (wb). - Запись структуры данных
собака
в файл. - Закрытие файла.
- Открытие файла
dat
в режиме чтения (rb). - Чтение структуры данных
собака
из файла. - Вывод на экран значений полей структуры данных
собака
. - Возврат 0, что означает успешный конец работы программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д