Найти в файле книги заданного автора и вывести их названые и год выпуска на экран - C (СИ)
Формулировка задачи:
Всем привет!
Надо найти в файле книги заданного автора и вывести их названые и год выпуска на экран
Вот что у меня получилось:
Заполняется файл нормально, но результаты поиска не выводит
Помогите, пожалуйста!
Заранее спасибо!
#include <stdio.h> #include <stdlib.h> #include <string.h> #define FILE_NAME "system.dat" #define N 3 void main() { FILE *f; int i, year, cnt = 0; char book[50 + 1], lastName[25 + 1], temp[125 + 1]; if( (f = fopen(FILE_NAME, "w+")) == NULL) { printf("Pomulka pru storenni faila %s\n", FILE_NAME); system("pause"); exit; } printf("Fail %s stvoreno yspishno dl9 zapusy!\n\n", FILE_NAME); for(i = 0; i < N; i++) { printf("Knuzka N%d:\n", i + 1); printf("--------------------------------------------\n"); printf("1. Vvedit nazvy: "); scanf("%s", &book); printf("2. Vvedit prizvushe avtora: "); scanf("%s", &lastName); printf("3. Vvedit rik vudannja: "); scanf("%d", &year); printf("--------------------------------------------\n\n"); fprintf(f, "Knuzka N%d:\n", i + 1); fprintf(f, "--------------------------------------------\n"); fprintf(f, "1. Prizvuzhe avtora: %s\n", lastName); fprintf(f, "2. Nazva knuzki: %s\n", book); fprintf(f, "3. Rik vudannja: %d\n", year); fprintf(f, "--------------------------------------------\n\n"); } printf("Vvedit prizvuzhe avtora: "); scanf("%s", &lastName); rewind(f); while(!feof(f)) { fscanf(f, "%s", &temp); if (cnt > 0) { fgets(temp, 100, f); printf("Nazva knuzki: %s\n", temp); fgets(temp, 100, f); printf("Rik vudannja: %s\n", temp); cnt--; } if (temp == lastName) cnt = 1; } fclose(f); system("pause"); }
Решение задачи: «Найти в файле книги заданного автора и вывести их названые и год выпуска на экран»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> #include <string.h> #define FILE_NAME "system.dat" #define N 3 void main() { FILE *f; int i, year, cnt = 0; char book[50 + 1], lastName[25 + 1], temp[125 + 1]; if( (f = fopen(FILE_NAME, "w+")) == NULL) { printf("Pomulka pru storenni faila %s\n", FILE_NAME); system("pause"); exit; } printf("Fail %s stvoreno yspishno dl9 zapusy!\n\n", FILE_NAME); for(i = 0; i < N; i++) { printf("Knuzka N%d:\n", i + 1); printf("--------------------------------------------\n"); printf("1. Vvedit nazvy: "); scanf("%s", book); printf("2. Vvedit prizvushe avtora: "); scanf("%s", lastName); printf("3. Vvedit rik vudannja: "); scanf("%d", &year); printf("--------------------------------------------\n\n"); cnt++; fprintf(f, "%s", lastName); fprintf(f, "%s", book); fprintf(f, "%d", year); } fseek(f,0,0); printf("Vvedit prizvuzhe avtora: "); scanf("%s", lastName); rewind(f); while(!feof(f)) { fscanf(f, "%s", temp); if (cnt > 0) { fgets(temp, 100, f); printf("Nazva knuzki: %s\n", temp); fgets(temp, 100, f); printf("Rik vudannja: %s\n", temp); cnt--; } if (temp == lastName) cnt = 1; } fclose(f); system("pause"); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д