Форум программистов, компьютерный форум 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 если треугольник существует ,то ответить-является ли он остроугольным.помогите пожалуйста! подробнее

Показать сообщение отдельно
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
12.09.2012, 09:34     Не изменяет запись
С исправлениями:
Код
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
99
100
101
102
103
104
105
106
107
108
109
#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 *); // поиск и изменение
FILE *tf = NULL;
int main()
{ SetConsoleCP(1251); SetConsoleOutputCP (1251);
    char c;
 
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;
int flag = 0;
tf=fopen("file1.dat","rb+");
puts(" Название искомого товара: ");
flushall();
gets(tov);
fread(&t1,sizeof(t1),1,tf);
while (!feof(tf))
{
  if (strcmp(t1.name,tov)==0)
    {
       flag = 1;
       printf("Товар %10s, цена: %6.2f, количество: %d",t1.name,t1.c,t1.kol);
       printf("\n Изменить? y/n ");
       c=getch();
       if (c=='y')
       {
           printf("\n Цена: ");scanf("%f",&t1.c);
           printf("\n Количество: ");scanf("%d",&t1.kol);
           i=sizeof(t1);
           fseek(tf, -i, SEEK_CUR);
           fwrite(&t1,sizeof(t1),1,tf);
           break;
        } 
     }
  fread(&t1,sizeof(t1),1,tf);
}
if (flag == 0) printf("\n Товар не найден\n");
fclose(tf);
}
 
Текущее время: 13:48. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru