Считать данные из файла и вывести на экран список животных, указанной породы и возраста - 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;
}

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

  1. Подключение необходимых библиотек для работы с файлами и памятью.
  2. Определение максимальной длины имени и породы собаки в макросах.
  3. Создание структуры данных собака с полями: имя (char), порода (char) и возраст (unsigned short int).
  4. Вычисление размера структуры данных собака в байтах.
  5. Выделение памяти под указатель на структуру данных собака.
  6. Копирование значений в поля структуры данных собака.
  7. Открытие файла dat в режиме записи (wb).
  8. Запись структуры данных собака в файл.
  9. Закрытие файла.
  10. Открытие файла dat в режиме чтения (rb).
  11. Чтение структуры данных собака из файла.
  12. Вывод на экран значений полей структуры данных собака.
  13. Возврат 0, что означает успешный конец работы программы.

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


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

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

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