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

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

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

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

28.12.2011, 11:08. Просмотров 267. Ответов 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++
Доброго времени суток. Подскажите, пожалуйста, как решить задачу: "Написать функцию, которая удаляет лишние пробелы между словами и...

Добавить в конец первого текстового файла содержимое второго текстового файла - C++
Даны два текстовых файла. Добавить в конец первого файла содержимое второго файла.

Преобразование текстового файла в двоичный и чтение исходных данных из двоичного файла. - C++
#include<iostream> #include<fstream> #include<locale.h> #include<iomanip> #include <cstdlib> using namespace std; struct...

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

Указание текстового файла-источника и принимающего файла в cmd - C++
Подскажите, как сделать что б при вводе через cmd надо было указывать файл-исходник и принимающий файл? "полный путь\fdsfsd.exe in.txt...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.12.2011, 11:08
Привет! Вот еще темы с ответами:

как может корректно выполняющийся оператор >> (чтение из текстового файла) негативно влиять на открытие другого файла? - C++
Друзья! Создадим два текстовых файла, f_0.txt и f_1.txt и что-нибудь в них запизаем, например в первый запихаем 1234 а во второй 5678 и...

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

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

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


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

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