Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Den-maximym
Сообщений: n/a
#1

Редактирование текстового файла - C++

28.12.2011, 11:08. Просмотров 264. Ответов 0
Метки нет (Все метки)

Привет всем!)Помогите...впервые пишу на С++,и возникла проблема..я записываю в файл данные о книге...Затем по заданию мне нужно отредактировать файл - то есть изменить информацию об определенной книге,ввожу ее номер,начинаю изменять..и тут проблема..как это сделать..я попытался(функция void izm),но не выходит..Вот текст проги:
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();}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.12.2011, 11:08     Редактирование текстового файла
Посмотрите здесь:

Редактирование текстового файла - C++
Доброго времени суток. Подскажите, пожалуйста, как решить задачу: "Написать функцию, которая удаляет лишние пробелы между словами и...

Редактирование текстового файла - C++
Все привет нужна помощь Задание:Составить программу на языке С++, позволяющую отредактировать заданный с консоли текстовый файл: заменить...

редактирование файла - C++
Здравствуйте помогите пл3, как это покрасивее сделать, учитывая что человек не особо разбирается в программировании Скопировать...

Редактирование бинарного файла - C++
Суть программы - создаёт бинарный файл и записывает в него строки с количеством и наименованием товара, поставщиком и ценой. всё работает,...

Редактирование XML файла - C++
Здравствуйте, столкнулся с проблемой "фильтрации" xml файла. Задача по сути легкая, но есть одно НО : файл, в котором проводится...

Редактирование бинарного файла - C++
возможно ли написать такую функцию которая будет редактировать бинарный файл?

Редактирование части файла - C++
Всем привет! Вопрос в следующем. Я сейчас пытаюсь изменить часть текстового файла. Начало изменяемой области помечено маркером...

Текст из файла, и его редактирование - C++
Добрый вечер! Есть задача: нужно написать программу, что бы та выводила стихотворение Тютчева "люблю грозу в начале мая" из файла(скажем...

Работа с файлами. Редактирование файла - C++
Задачка такая... переписать содержимое файла А в файл Б, удалив однобуквенные слова и пробелы.. #define _CRT_SECURE_NO_WARNINGS ...

Редактирование записи бинарного файла - C++
Здравствуйте. Подскажите пожалуйста, мне надо призвести редактирование записи в файле, данные в файл заношу через структуру: struct TZap{...

Ввод информации в стек из файла и редактирование - C++
Создать двоичный файл с информацией из таблицы. (добавить еще несколько строчек подобной информации) Добавить в файл поле "Общая сумма...

Сортировка\редактирование\удаление бинарного файла - C++
Люди помогите пожалуйста... В бинарном файле у меня находятся сведения о нуждающихся в пособии. Имеются функции создания\откртия файла,...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru