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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Удалить из строки слова, состоящие только из прописных букв http://www.cyberforum.ru/cpp-beginners/thread419570.html
Работа со строками (С) Дана строка символов, состоящая из прописных и строчных латинских букв и пробелов. Группы символов, разделенные пробелами (одним или несколькими) и не содержащие пробелов внутри себя, будем называть словами. Удалить из строки слова, состоящие только из прописных букв. Вывести на печать полученную строку и количество удаленных слов. как можно проще на си
C++ Найти и напечатать все слова, которые заканчиваются на заданный символ Помогите пожалуйста кто может. Очень прошу. :cry: Сдать в четверг нужно... Дано предложение, в котором слова разделены любым количеством пробелов, а общая длинна <=80. Найти и напечатать все слова, которые заканчиваются на заданную букву. Запрещено создавать темы с множеством вопросов во всех разделах, кроме разделов платных услуг. Один вопрос - одна тема. http://www.cyberforum.ru/cpp-beginners/thread419567.html
Найти минимум функции методом дихотомии. C++
Помогите пожалуйста кто может. Очень прошу. :cry: Сдать в четверг нужно... Найти минимум функции (х^2)+(e^-2) методом дихотомии. Запрещено создавать темы с множеством вопросов во всех разделах, кроме разделов платных услуг. Один вопрос - одна тема.
C++ Подсчет суммы элементов в матрице
Помогите пожалуйста кто может. Очень прошу. :cry: Сдать в четверг нужно... Дана матрица А(N,M), которая вводится из файла и число К, вводимое с клавиатуры. В к-ой строке найти максимальный элемент. В том столбце где этот элемент находится. Найти сумму положительных элементов. Каждый этап решать при помощи подпрограммы, работающей с вектором. Вектор "вырезать" из матрицы. Запрещено создавать...
C++ Метод списка swap, который меняет информацию двух узлов местами http://www.cyberforum.ru/cpp-beginners/thread419562.html
Добавьте в класс списков метод Swap(int i, int j), меняющую информацию звеньев списка с номерами i и j прошу,помогите,пожалуйста
C++ Поиск одинаковых слов в текстовых файлах помогите пожалуйста...C++ написать прогу которая 2 txt файла сравнивает на одинаковые слова и выводит их в qlistwidget или хотябы в 3 файл... подробнее

Показать сообщение отдельно
Den-maximym
Сообщений: n/a
28.12.2011, 11:08     Редактирование текстового файла
Привет всем!)Помогите...впервые пишу на С++,и возникла проблема..я записываю в файл данные о книге...Затем по заданию мне нужно отредактировать файл - то есть изменить информацию об определенной книге,ввожу ее номер,начинаю изменять..и тут проблема..как это сделать..я попытался(функция 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();}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 14:31. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru