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

Не изменяет запись - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ <iostream> в каких случаях используется? http://www.cyberforum.ru/cpp-beginners/thread650394.html
Что такое <iostream> расскажите о нем, для чего он используется.
C++ начать отладку Здравствуйте! Скажите пожалуйста, почему в этом коде system("pause") не работает??? #include "stdafx.h" #include <stdio.h> #include <math.h> int main(void) { double result; double x =... http://www.cyberforum.ru/cpp-beginners/thread650385.html
В составе программы описать функцию C++
1.В составе программы описать функцию, которая формирует список М1 – копию списка М и список М2, представляющий собой ”перевернутый” список М. 2.Дана матрица 7х9 вещественного типа. Создать...
C++ Как реализовать таблицу?
Всем Доброго времени суток. Как сделать таблицу в с++ ? Заранее спасибо!)
C++ Возврат значения из функции http://www.cyberforum.ru/cpp-beginners/thread650371.html
Добрый вечер. Вопрос следующий , как возвратить из функции create последнее значение ЛС , чтоб в дальнейшем использовать в main. newfile.h struct list { int inf; list *first; ...
C++ Даны действительные положительные числа x,y,z если треугольник существует ,то ответить-является ли он остроугольным.помогите пожалуйста! подробнее

Показать сообщение отдельно
The1Phoenix
2 / 2 / 0
Регистрация: 28.03.2012
Сообщений: 76

Не изменяет запись - C++

11.09.2012, 22:00. Просмотров 387. Ответов 5
Метки (Все метки)

В общем... Не могу разобраться, почему 4-ая(find) функция не меняет данные...Помогите, пожалуйсто.)
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 <stdio.h>
#include <conio.h>
#include <string.h>
#include <Windows.h>
 
struct tov {char name[10]; float c; int kol;} t1;
 
void input(FILE *); // создание нового файла
void print(FILE *); // просмотр файла
void app(FILE *); // добавление в файл
void find(FILE *); // поиск и изменение
 
int main()
{ SetConsoleCP(1251); SetConsoleOutputCP (1251);
    char c;
 FILE *tf;
while (1)
{
puts("\n* 1 – Новый файл");
puts("* 2 – Просмотр файла");
puts("* 3 – Добавление в файл");
puts("* 4 – Поиск и изменение");
puts("* 0 - Выход");
c=getch();
switch(c)
{ case '1':input(tf);break;
case '2':print(tf);break;
case '3':app(tf);break;
case '4':find(tf);break;
case '0':return 0;
default : puts(" неверный режим");
}
}
}
 
void input(FILE *tf)
{ char ch;
tf=fopen("file1.dat","wb"); // открытие бинарного файла для записи
printf("\n Ввод товаров\n");
do { printf("\n название: "); scanf("%s",t1.name);
printf(" цена: "); scanf("%f",&t1.c);
printf(" количество: "); scanf("%d",&t1.kol);
fwrite(&t1,sizeof(t1),1,tf); // запись в файл одной структуры t1
printf("\n Закончить? *y/n *");
ch=getch();}
while (ch != 'y');
fclose(tf);
}
 
void print(FILE *tf)
{ int i;
tf=fopen("file1.dat","rb"); // открытие бинарного файла для чтения
i=1;
fread(&t1,sizeof(t1),1,tf); // чтение из файла одной структуры t1
while (!feof(tf))
{ printf("\n* %3d. Товар: %10s, цена: %6.2f, количество: %4d",i,t1.name,t1.c,t1.kol);
fread(&t1,sizeof(t1),1,tf);
i++;}
getch();
}
 
void app(FILE *tf)
{ char ch;
tf=fopen("file1.dat","ab"); // открытие бинарного файла для добавления
 
printf("\n *Ввод товаров \n");
do {printf("\n Название: "); scanf("%s",t1.name);
printf(" Цена: "); scanf("%f",&t1.c);
printf(" Количество: "); scanf("%d",&t1.kol);
fwrite(&t1,sizeof(t1),1,tf);
printf(" Закончить? *y/n ");
ch=getch();}
while (ch != 'y');
fclose(tf);
}
 
void find(FILE *tf)
{ char c,tov[10];
long int i;
tf=fopen("file1.dat","rb+");
puts(" Название искомого товара: ");
gets(tov);
fread(&t1,sizeof(t1),1,tf);
while (!feof(tf))
{if (strcmp(t1.name,tov)==0)
{printf("Товар %10s, цена: %6.2f, количество: %d",t1.name,t1.c,t1.kol);
printf("\n Изменить? y/n ");
c=getch();
if (c=='y')
{printf("\n Количество: ");scanf("%d",&t1.kol);
printf("\n Цена: ");scanf("%f",&t1.c);
i=sizeof(t1);
fseek(tf,-i,1);
fwrite(&t1,sizeof(t1),1,tf);
}}
fread(&t1,sizeof(t1),1,tf);}
fclose(tf);
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru