Определить, есть ли в наличии книга "Информатика" за 1990 год - C (СИ)

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

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

Задан файл, который содержит информацию о книгах (фамилия, название, год издания). Определить, есть ли в наличии книга "Информатика" за 1990 год. Если да, то вывести фамилию автора, если несколько, то вывести полную информацию обо всех эти книги.

Решение задачи: «Определить, есть ли в наличии книга "Информатика" за 1990 год»

textual
Листинг программы
#include <stdio.h>
#include <string.h>
#define SIZE 64
 
int main(void)
{
    char author[SIZE], name[SIZE];
    int year;
    int flag = 0;  /* ГґГ«Г*ГЈ, îòâå÷Г*ГѕГ№ГЁГ© Г*Г*øëè õîòü îäГ*Гі óäîâëåòâîðÿþùóþ Г§Г*ГЇГЁГ±Гј */
    FILE *fp = fopen("input.txt", "r"); /* îòêðûâГ*ГҐГ¬ ГґГ*éë äëÿ Г·ГІГҐГ*ГЁГї */
    
    if (!fp)
        return 1; /* Г§Г*âåðøèòü Г± îøèáêîé */
    /* ïîêГ* Г*ГҐ ГЄГ®Г*ГҐГ¶ ГґГ*éëГ* ГЁ Г*ГҐ Г*Г*øëè Г*ГЁ îäГ*îé óâäîâëåòâîðÿþùåé Г*Г*Г± Г§Г*ГЇГЁГ±ГЁ ГЁ
       ГіГ¤Г*ëîñü Г±Г·ГЁГІГ*ГІГј ГЁГ*ôîðìГ*öèþ */
    while (!feof(fp) && !flag && fscanf(fp, "%s", author) != EOF &&
        fscanf(fp, "%s", name) != EOF && fscanf(fp, "%d", &year) != EOF)
    {
        /* åñëè Г*Г*øëè Г*ГіГ¦Г*îå Г*Г*Г¬ ñîâïГ*äåГ*ГЁГҐ, ГіГ±ГІГ*Г*Г*âëèâГ*ГҐГ¬ ГґГ«Г*ГЈ Гў ГЁГ±ГІГЁГ*Гі */
        if (strcmp(name, "Informatics") == 0 && year == 1990)
            flag = 1;
    }
    
    rewind(fp); /* Г±ГЎГ°Г*ñûâГ*ГҐГ¬ îøèáêó eof ГЁ ГіГ±ГІГ*Г*Г*âëèâГ*ГҐГ¬ ñ÷èòûâГ*Г*ГЁГҐ Гў Г*Г*Г·Г*ëî */
    /* ïîêГ* Г*ГҐ ГЄГ®Г*ГҐГ¶ ГґГ*éëГ* ГЁ ГіГ¤Г*ëîñü Г±Г·ГЁГІГ*ГІГј ГЁГ*ôîðìГ*öèþ */
    while (!feof(fp) && fscanf(fp, "%s", author) != EOF &&
        fscanf(fp, "%s", name) != EOF && fscanf(fp, "%d", &year) != EOF)
    {
        /* åñëè Г*ГҐ ГіГ±ГІГ*Г*îâëåГ* ГґГ«Г*ГЈ èëè ГіГ±ГІГ*Г*îâëåГ* ГЁ Г§Г*ГЇГЁГ±Гј óäîâëåòâîðÿåò óñëîâèÿì */
        if (!flag || (flag && strcmp(name, "Informatics") == 0 && year == 1990) )
        {
            printf("Author: %s\n", author);
            printf("Name: %s\n",   name);
            printf("Year: %d\n\n", year);
        }
    }
    
    fclose(fp); /* Г§Г*êðûâГ*ГҐГ¬ ГґГ*éë */
    return 0;
}

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


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

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

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