Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Den-maximym
1

Редактирование файла, содержащего данные о книгах

28.12.2011, 10:58. Показов 574. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Привет всем!)Помогите...впервые пишу на С++,и возникла проблема..я записываю в файл данные о книге...Затем по заданию мне нужно отредактировать файл - то есть изменить информацию об определенной книге,ввожу ее номер,начинаю изменять..и тут проблема..как это сделать..япопытался,но не выходит..Вот текст проги:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
#include "stdafx.h"
#include "stdio.h"
#include "string.h"
#include "conio.h"
   struct book {
       int nom;
char title[100];
char author[100];
int tirazh;
char vidobl[70];
char vidbym[70];
int nomer;
}izd;
int x,y,z;
void vvod(){FILE*fp;
int n;
printf("Vvedite nomer zapisi:\n");
scanf("%d",&izd.nom);
printf("Vvedite naimenovanie knigi:\n");
scanf("%s",&izd.title);
printf("Vvedite avtora knigi:\n");
scanf("%s",&izd.author);
printf("Vvedite tirazh knigi:\n");
scanf("%d",&izd.tirazh);
printf("Vvedite vid oblozhki:\n");
scanf("%s",&izd.vidobl);
printf("Vvedite vid bymagi:\n");
scanf("%s",&izd.vidbym);
printf("Vvedite nomer zakaza:\n");
scanf("%d",&izd.nomer);
fp=fopen("my_file.txt","at");
if(fp != NULL)
fprintf(fp,"%d %s %s %d %s %s %d\n",izd.nom,izd.title,izd.author,izd.tirazh,izd.vidobl,izd.vidbym,izd.nomer);
else printf("Невозможно открыть файл\n");
fclose(fp);
printf ("Vvedite:\n1 - dlya zapisi esche knigi\n0 - dlya vihoda\n");
scanf("%d",&n);
switch(n){
case 1:vvod();break;
case 0:;break;
default : printf("Nevernya cifra\n");}}
   void vivod(){
FILE*fp=fopen("my_file.txt","rt");
if(fp != NULL)
{do{
fscanf(fp,"%d %s %s %d %s %s %d\n",&izd.nom,izd.title,izd.author,&izd.tirazh,izd.vidobl,izd.vidbym,&izd.nomer);
printf("%d %s %s %d %s %s %d\n",izd.nom,izd.title,izd.author,izd.tirazh,izd.vidobl,izd.vidbym,izd.nomer);
}while(!feof(fp));}
else printf("Невозможно открыть файл\n");
fclose(fp);}
   void tirazh(){
int tt;
printf("Vvedite tirazh:");
scanf("%d",&tt);
FILE*fp=fopen("my_file.txt","rt");
if(fp != NULL){do{
fscanf(fp,"%d %s %s %d %s %s %d\n",&izd.nom,izd.title,izd.author,&izd.tirazh,izd.vidobl,izd.vidbym,&izd.nomer);
if(izd.tirazh>tt){
printf("%d %s %s %d %s %s %d\n",izd.nom,izd.title,izd.author,izd.tirazh,izd.vidobl,izd.vidbym,izd.nomer);}}
while(!feof(fp));}
else printf("Невозможно открыть файл\n");
fclose(fp);}
   void izm(){
printf("vvedite nomer zapisi dly izmenenya");
scanf("%d",&x);
FILE*fp=fopen("my_file.txt","r+");
while(!feof(fp))
{y=ftell(fp);
fscanf(fp,"%d %s %s %d %s %s %d\n",&izd.nom,izd.title,izd.author,&izd.tirazh,izd.vidobl,izd.vidbym,&izd.nomer);
if(x==izd.nom)z=y; }
fseek(fp,z,SEEK_SET);
printf("Vvedite naimenovanie knigi:\n");
scanf("%s",&izd.title);
printf("Vvedite avtora knigi:\n");
scanf("%s",&izd.author);
printf("Vvedite tirazh knigi:\n");
scanf("%d",&izd.tirazh);
printf("Vvedite vid oblozhki:\n");
scanf("%s",&izd.vidobl);
printf("Vvedite vid bymagi:\n");
scanf("%s",&izd.vidbym);
printf("Vvedite nomer zakaza:\n");
scanf("%d",&izd.nomer);
fprintf(fp,"%d %s %s %d %s %s %d\n",x,izd.title,izd.author,izd.tirazh,izd.vidobl,izd.vidbym,izd.nomer);       
     fclose(fp);}
    int main()
{int b;
do{printf("Vvedite:\n1 - dlya vvoda knigi\n2 - dlya vivoda zapisannyh knig\n3 - dlya vivoda knig,tirazh kotoryh prevyshaet zadznnyi\n0 - dlya vihoda\n");
scanf("%d",&b);
switch(b){
case 1:vvod();break;
case 2:vivod();break;
case 3:tirazh();break;
case 4:izm();break;
case 0:;break;
default : printf("Nevernya cifra\n");}}
while(b!=0);
getch();}
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.12.2011, 10:58
Ответы с готовыми решениями:

Создание и корректировка файла, содержащего сведения о книгах, находящихся в библиотеке
Разработать программу создания и корректировки файла, содержащего сведения о книгах, находящихся в...

Редактирование текстового файла, содержащего сведения о студентах
Привет. Нужна помощь с решением задачи. Знаю как решить логически но по программному коду че-то...

Из внешнего файла, содержащего исходные данные, переписать в другой
Из внешнего файла, содержащего исходные данные, переписать в другой список абитуриентов, имеющих в...

Парсинг текстового файла, содержащего данные курса валют
очень прошу помощи. из txt файла содержащего данные курса валют: USD Доллар США 1...

0
28.12.2011, 10:58
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.12.2011, 10:58
Помогаю со студенческими работами здесь

Из внешнего файла, содержащего исходные данные, удалить записи
Задача: Из внешнего файла, содержащего исходные данные, удалить записи, соответствующие...

Как скачать данные из файла HTML содержащего таблицу в 97 Аксесс?
Такая проблема - надо скачать данные из файла HTML содержащего таблицу в 97 Аксесс. Пытаюсь...

Упорядочить по алфавиту значения двоичного файла, содержащего данные типа char
Здравствуйте! Очень нужна срочная помощь! Помогите написать программу к следующей задаче: Обмен...

Еще одна задача Разработать программу ведения файла, содержащего некоторые данные
Разработать программу ведения файла, содержащего некоторые данные (см. свой вариант). В программе...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru