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

Создание пользовательских типов и работа с файловой системой - C++

Восстановить пароль Регистрация
 
kirya
-9 / 2 / 0
Регистрация: 01.06.2012
Сообщений: 87
03.06.2012, 16:39     Создание пользовательских типов и работа с файловой системой #1
При разработке программы необходимо создать структуры для хранения сведений об объектах индивидуального задания, ввод и вывод информации осуществлять с помощью функций файловой системы ввода-вывода.
1. Входные данные необходимо хранить в файле input.txt. При первичном вводе данные необходимо считывать с клавиатуры и записывать в файл input.txt.
2. При обработке данные необходимо считывать из существующего файла.
3. Результат обработки записать в файл output.txt.
4. Предусмотреть функции, осуществляющие по запросу пользователя вывод информации из файла на экран.
Для чтения и записи структур использовать функции fread() и fwrite().


Справка о междугороднем телефонном разговоре содержит: номер телефона абонента (6 цифр), дату (год, месяц, день), время (час, минута), код города (3 цифры), номер телефона в другом городе (7 цифр), продолжительность разговора (в минутах), категорию (срочный, обычный) и тариф (плата в рублях за минуту). Определить дату такого телефонного разговора, которой является максимальным по продолжительности среди срочных разговоров за указанный месяц.

Добавлено через 8 минут
Я написал программу, мне осталось только выполнить эти 4 пункта перед заданием, я вроде что то написал, но все равно работает неправильно. Помогите исправить, чтоб норм в файл информация забивалась.

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
#include "stdafx.h"
#include "conio.h"
#include "locale.h"
#include "string.h"
 
struct date
{
int day;
int month;
int year;
};
struct time
{
int hour;
int minute;
};
struct spravka //определение структурных типов данных
{
char number[12];
struct date D;
struct time T;
char num_other[12];
int kod;
int time;
char category[20];
double tarif;
};
 
int main()
{
struct spravka a[2];
int i,m,k; FILE *fp, *pc;
setlocale(LC_ALL, "rus");
int max;
fp=fopen("input.txt","w");//открываем файл для записи с клавиатуры
for(i=0;i<2;i++)// вводим данные
{
printf("Разговор!!! \n");
printf("Номер: ");
scanf("%s", a[i].number);
printf("День: ");
scanf("%d", &a[i].D.day);
printf("Месяц: ");
scanf("%d", &a[i].D.month);
printf("Год: ");
scanf("%d", &a[i].D.year);
printf("Час: ");
scanf("%d", &a[i].T.hour);
printf("Минута: ");
scanf("%d", &a[i].T.minute);
printf("Другой номер: ");
scanf("%s", a[i].num_other);
printf("Код: ");
scanf("%d", &a[i].kod);
printf("Продолжительность: ");
scanf("%d", &a[i].time);
printf("Категория: ");
scanf("%s", a[i].category);
printf("Тариф: ");
scanf("%lf", &a[i].tarif);
printf("\n");
}
 
for(int i=0; i=2; i++)// обработка
{
fwrite(&a[i],sizeof(struct spravka),1,fp);//данные записываются в файл
}
fclose(fp);
 
printf("Введите месяц: ");
scanf("%d", &m);
max=0;
k=0;
fp=fopen("input.txt","r");//открываем файл для записи с клавиатуры
pc=fopen("output.txt","w");//записать данные обработки в файл
for(int i=0; i=2; i++)// обработка
{
fread(&a[i],sizeof(struct spravka),1,fp);//данные записываются в файл
}
for(i=0;i<2;i++)
{ 
strcmp(a[i].category,"sr");
if ((a[i].D.month==m) && (a[i].time > max)) 
{
k=i;
max=a[i].time;
}
}
printf("---------------------------------------- \n");
printf("Номер: %s \n", a[k].number);
printf("ДЕНЬ.МЕСЯЦ.ГОД: %d.%d.%d \n", a[k].D.day, a[k].D.month, a[k].D.year);
printf("ВРЕМЯ: %d:%d \n", a[k].T.hour, a[k].T.minute);
printf("Код города: %d \n", a[k].kod);
printf("Номер в другом городе: %s \n", a[k].num_other);
printf("Продолжительность: %d \n", a[k].time);
printf("Категория разговора: %s \n", a[k].category);
printf("Тариф: %f \n", a[k].tarif);
fwrite(&a[k],sizeof(struct spravka),1,pc);//данные записываются в файл
fclose(fp);
fclose(pc);
getch();
return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.06.2012, 16:39     Создание пользовательских типов и работа с файловой системой
Посмотрите здесь:

Работа с файловой системой в консольном приложение без WinAPI, QT, BOOST и пр C++
C++ Обработка исключений в классах для пользовательских типов
C++ Создание пользовательских функций
C++ Преобразование пользовательских типов
Приведение пользовательских типов C++
C++ Создание пользовательских типов
C++ Преобразование пользовательских типов
Шаблон для пользовательских типов данных C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 21:43. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru