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

Не изменяет запись - 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 = 0.5; result = cos(x); printf("Косинус числа %lf – %lf\n", x, result); http://www.cyberforum.ru/cpp-beginners/thread650385.html
В составе программы описать функцию C++
1.В составе программы описать функцию, которая формирует список М1 – копию списка М и список М2, представляющий собой ”перевернутый” список М. 2.Дана матрица 7х9 вещественного типа. Создать одномерный массив, содержащий элементы матрицы, меньшие среднего арифметического значения элементов матрицы (Fn1). Для созданного массива определить индекс минимального элемента и индекс максимального...
C++ Как реализовать таблицу?
Всем Доброго времени суток. Как сделать таблицу в с++ ? Заранее спасибо!)
C++ Возврат значения из функции http://www.cyberforum.ru/cpp-beginners/thread650371.html
Добрый вечер. Вопрос следующий , как возвратить из функции create последнее значение ЛС , чтоб в дальнейшем использовать в main. newfile.h struct list { int inf; list *first; list *next; list *end;
C++ Даны действительные положительные числа x,y,z если треугольник существует ,то ответить-является ли он остроугольным.помогите пожалуйста! подробнее

Показать сообщение отдельно
The1Phoenix
2 / 2 / 0
Регистрация: 28.03.2012
Сообщений: 76
11.09.2012, 22:00     Не изменяет запись
В общем... Не могу разобраться, почему 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);
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 04:35. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru