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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 19, средняя оценка - 4.95
MustangGT
1 / 1 / 0
Регистрация: 08.11.2009
Сообщений: 56
#1

Работа с файлами - C++

27.03.2010, 21:43. Просмотров 2443. Ответов 41
Метки нет (Все метки)

В радиоателье хранятся квитанции о сданных в ремонт телевизорах. Каждая квитанция содержит марку телевизора, дату приемки в ремонт, состояние готовности заказа (выполнен, не выполнен). Вывести информацию о невыполненных на текущий момент заказах.

вот чтот вродь этого....тама кусок кода выделен тама компилятор выдает ошибку по поводу типа "char"....а еси использовать "unsigned char" ток када вводишь данные и в этих поджпунктах указываешь больше одного символа...то все перескакивает....вобщем вот такая вот херь...

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
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
#include <iostream.h>
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
#include <io.h>
FILE *fl;
typedef struct
{
char marka[30];
 
char data[10];               \\ВОТ ТУТ ПРОБЛЕМА С ТИПАМИ
char gotovnost[10];
 
} TTel;
TTel tel[30]; // Массив структур
char name[20]; // Имя файла
int nst = 0; // Число введенных структур
int Menu(); // Создание меню
void Nnf(); // Ввод имени файла
void Newf(); // Создание нового файла
void Spisok(); // Формирование файла
void Opf(); // Открытие файла
void Resc(); // Вывод результата на экран
void Resf(); // Вывод результата в файл
int main()
{
while (true)
{
switch (Menu())
{
case 1: Nnf(); break;
case 2: Newf(); break;
case 3: Spisok(); break;
case 4: Opf(); break;
case 5: Resc(); break;
case 6: Resf(); break;
case 7: return 0;
default: puts("Viberite pravilno!");
}
puts ("Press any key to continue");
getch (); // Ожидание нажатия любой клавиши
system ("cls"); // Очистка экрана
}
}
int Menu() // Меню
{
cout << "VIBERITE:" << endl;
cout << "1. Vvod file name" << endl;
cout << "2. New file" << endl;
cout << "3. Vvesti spisok" << endl;
cout << "4. Open file" << endl;
cout << "5. Vivesti result" << endl;
cout << "6. Vivesti v fail" << endl;
cout << "7. Exit" << endl;
int i;
cin >> i; // Ввод выбранного пункта меню
return i;
}
void Nnf() // Ввод имени файла
{
cout << "Vvedite file name" << endl;
cin >> name;
}
void Newf() // Создание нового файла
{
if ((fl = fopen(name,"wb")) == NULL)
{
cout << "Oshibka pri sozdanii" << endl;
exit(1);
}
cout << "OK" << endl;
fclose(fl);
}
void Spisok() // Ввод данных в файла
{
if ((fl = fopen(name,"rb+")) == NULL)
{
cout << "Oshibka pri sozdanii" << endl;
exit(1);
}
cout << "Vvedite kol-vo televizorov" << endl;
cin >> nst;
for (int i=0; i<nst; i++)
{
cout << "Vvedite marky: ";
cin >> tel[i].marka;
cout << "Vvedite datu_priema: ";
cin >> tel[i].data;
cout << "Vvedite sost_gotovnosti: ";
cin >> tel[i].gotovnost;
fwrite (&tel[i], sizeof(TTel), 1, fl);
}
fclose (fl);
}
void Opf() // Открытие бинарного файла
{
if ((fl = fopen (name,"rb")) == NULL)
{
cout << "Oshibka pri otkritii" << endl;
exit(1);
}
nst = 0;
TTel std;
while (true)
{
int nwrt = fread (&std, sizeof(TTel), 1, fl);
if (nwrt != 1) break;
tel[nst] = std;
cout << tel[nst].marka << " " << tel[nst].data << " "
<< tel[nst].gotovnost << endl;
nst++;
}
fclose(fl);
}
void Resc() // Вывод результата на экран
{
for (int i=0; i<nst; i++)
if (tel[i].gotovnost == 'OK')
cout << tel[i].marka << tel[i].data << tel[i].gotovnost << endl;
}
void Resf() // Вывод результата в текстовый файл
{
char namet[30];
FILE *ft;
cout << "Vvedite imya faila" << endl;
cin >> namet;
if ((ft = fopen (namet,"w")) == NULL)
{
cout << "Oshibka pri sozdanii" << endl;
exit(1);
}
char s[80];
for (int i=0; i<nst; i++)
if (tel[i].gotovnost == 'ok')
{
strcpy (s, tel[i].marka);
strcat (s, "\n"); // Добавление разделителя строк
fputs (s, ft);
}
fclose(ft);
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.03.2010, 21:43     Работа с файлами
Посмотрите здесь:

Работа с файлами - C++
#include &lt;iostream.h&gt; #include &lt;fstream.h&gt; #include &lt;conio.h&gt; struct firma { char fio; int zar; char adr; char...

Работа с файлами. С++ - C++
Доброго времени суток. В программировании полный ноль. Мог бы мне кто нибудь, объяснить как вывести из файла определенную (часть из...

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

Работа с файлами - C++
создать файл, содержащие сведения о количестве изделий, собранных сборщиками цеха неделю. Каждая запись содержит поля: фамилия...

Работа с файлами (С) - C++
Подскажите как работать с файлами в С. Чтение файла, запись в файл, вывод содержимого файла на экран. Желательно на примерах). Зарание...

Работа с файлами - C++
Задание : напишите программу, которая объединяет возможности программ “Добавление в файл” и “Поиск по файлу”. При запуске программы на...

Работа с файлами - C++
Нужно создать программу которая записывает в файл,вводимый текст. Далее выводится меню выбора. 1.Просто вывети тект из файла; ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
rangerx
1931 / 1540 / 141
Регистрация: 31.05.2009
Сообщений: 2,908
07.04.2010, 17:14     Работа с файлами #41
вот и не работал вывод)))))

P.S. И всё-таки, зачем было делать три функции вывода(свою для каждого вида поиска)?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.04.2010, 13:02     Работа с файлами
Еще ссылки по теме:

Работа с файлами - C++
Доброго времени суток... Необходимо выполнить следующее задание: Найти сумму первых шести элементов массива и записать вместо...

Работа с файлами - C++
Задача программы такова - пользователь вводит строку адреса , например C:\blablabla и программа считывает все размеры файлов хранящихся в...

Работа с файлами - C++
помогите написать программу на си !Которая считывает текст из файла и выводит на экран предложения не содержащие запятых.

Работа с файлами - C++
Есть следующее задание. Написать программу, которая выводит строку, набранную на клавиатуре, в текстовый файл. Затем: - считывает...

Работа с файлами - C++
Напишите код пожалуйста, и если можно с пояснениями: Написать программу, которая считывает текст из файла и выводит на экран предложения,...


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

Или воспользуйтесь поиском по форуму:
MustangGT
1 / 1 / 0
Регистрация: 08.11.2009
Сообщений: 56
08.04.2010, 13:02  [ТС]     Работа с файлами #42
Цитата Сообщение от rangerx Посмотреть сообщение

P.S. И всё-таки, зачем было делать три функции вывода(свою для каждого вида поиска)?
да пусть будит)))) для каждого свое)))зато можно не вводя заново ключ и не делая поиск вывести на экран предыдущий поиск)
Yandex
Объявления
08.04.2010, 13:02     Работа с файлами
Ответ Создать тему
Опции темы

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