Определить, есть ли в наличии книга "Информатика" за 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; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д