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

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

Войти
Регистрация
Восстановить пароль
 
itema
0 / 0 / 1
Регистрация: 28.04.2016
Сообщений: 39
#1

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

12.05.2016, 10:30. Просмотров 118. Ответов 0
Метки нет (Все метки)

Сформировать бинарный файл из элементов заданной структуры, распечатать его содержимое, выполнить добавление элементов и поиск по одному из параметров. Формирование, печать, добавление и поиск элементов оформить в виде функций.
Структура "Человек": фамилия, имя, отчество, домашний адрес, номер телефона, возраст.
Сделал все, кроме формирования файла. Помогите пожалуйста.
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
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
#include <stdio.h>
 
struct humans
{
    char name[30];
    char fam[30];
    char otch[30];
    char adress[30];
    int tnum;
    int age;
};
struct humans mas[30];
struct humans tmp;
struct humans t;
int sch = 0;
int er;
 
void enter_new();
int menu();
void out();
void find();
void formf();
 
int main()
{
    while(1)
    {
        switch(menu())
        {
            
            case 1: formf(); break;
            case 2: enter_new(); break;
            case 3: find(); break;
            case 4: out(); break;
            case 5: return 0;
            default: printf("\nНе верныиМ† выбор\n");
        }
    }
}
 
void enter_new()
{
    if(sch<30)
    {
        printf("\nЗапись номер %d", sch+1);
        printf("\nВведите фамилию ");
        scanf("%s", &mas[sch].fam);
        printf("Введите имя ");
        scanf("%s", &mas[sch].name);
        printf("Введите отчество ");
        scanf("%s", &mas[sch].otch);
        printf("Введите адрес ");
        scanf("%s", &mas[sch].adress);
        printf("Введите номер телефона ");
        scanf("%d", &mas[sch].tnum);
        printf("Введите возраст ");
        scanf("%d", &mas[sch].age);
        sch++;
    }
    else printf("\nВведено максимальное кол-во записеиМ†");
}
 
int menu()
{
    int er;
    printf("Введите: ");
    printf("\n1 - для формирования файла");
    printf("\n2 - для ввода записи");
    printf("\n3 - для поиска");
    printf("\n4 - для вывода записей");
    printf("\n5 - для выхода\n");
    scanf("%d", &er);
    return er;
}
 
void out()
{
    int sw;
    int k;
    if (sch==0)
        printf("\nНет запиcеиМ†: \n");
    else
    {
        printf("\nВведите: ");
        printf("\n1 - если хотите вывести какую-либо запсь");
        printf("\n2 - если хотите вывести все записи");
        scanf("%d", &sw);
        if(sw == 1)
        {
            printf("\nВведите номер записи, которую нужно вывести ");
            scanf("%d", &k);
            printf("\n");
            printf("\nФамилия: %s ", mas[k-1].fam);
            printf("\nИмя: %s ", mas[k-1].name);
            printf("\nОтчество: %s ", mas[k-1].otch);
            printf("\nАдресс: %s ", mas[k-1].adress);
            printf("\nНомер телефона: %d ", mas[k-1].tnum);
            printf("\nВозраст: %d \n", mas[k-1].age);
        }
        if(sw == 2)
        {
            for(int i = 0; i < sch; i++)
            {
                printf("\nФамилия: %s ", mas[i].fam);
                printf("\nИмя: %s ", mas[i].name);
                printf("\nОтчество: %s ", mas[i].otch);
                printf("\nАдресс: %s ", mas[i].adress);
                printf("\nНомер телефона: %d ", mas[i].tnum);
                printf("\nВозраст: %d \n", mas[i].age);
            }
        }
    }
}
 
void find()
{
    int sw;
    if(sch == 0)
        printf("\nНет записей\n");
    else
    {
        printf("\nВведите номер телефона: ");
        scanf("%d", &sw);
        for(int i=0; i < sch; i++)
            if (mas[i].tnum == sw)
            {
                printf("\nФамилия: %s ", mas[i].fam);
                printf("\nИмя: %s ", mas[i].name);
                printf("\nОтчество: %s ", mas[i].otch);
                printf("\nАдресс: %s ", mas[i].adress);
                printf("\nНомер телефона: %d ", mas[i].tnum);
                printf("\nВозраст: %d \n", mas[i].age);
            }
    }
}
 
void formf()
{
    FILE *f;
    if(!(f=fopen("inf.dat","w+")))
    { printf("Ошибка создания фаиМ†ла\n");}
    for(int i = 0; i < sch; i++)
    { printf("Введите ФИО (пустая строка -- конец списка): ");
        fflush(stdin);
        scanf("%s", &mas[i].fam);
        printf("Введите имя: ");
        scanf("%s", &mas[i].name);
        printf("Введите отчество: ");
        scanf("%s", &mas[i].otch);
        printf("Введите адрес: ");
        scanf("%s", &mas[i].adress);
        printf("Введите номер телефона: ");
        scanf("%d", &mas[i].tnum);
        printf("Введите возраст: ");
        scanf("%d", &mas[i].age);
    } fclose(f);
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.05.2016, 10:30     Сформировать бинарный файл из элементов заданной структуры
Посмотрите здесь:

Бинарный файл (с++) и структуры - C++
Пользователь вводит количество студентов. Вводится информация о студенте и тут же выводится в бинарный файл. Встает несколько вопросов: как...

Запись структуры в бинарный файл - C++
Добрый вечере,народ. Нужна функция,которая будет записывать структуру в бинарный файл.То есть пользователь выбирает пункт &quot;Save to File&quot; и...

Как записать в бинарный файл структуры записи из текстового файла? - C++
Здравствуйте! Прошу помочь с чтением из текстового файла а затем запись всего что записано в структуру в бинарный файл. Есть текстовый...

Создать массив из 5 элементов с типом заданной структуры - C++
Доброго времени суток. Я в замешательстве! Мне нужно получить/записать данные из/в структуры(у) 5 записи, это не сложно ...

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

Сформировать массив из максимальных элементов столбцов заданной матрицы - C++
Задана матрица целых чисел . Сформировать массив из максимальных элементов столбцов заданной матрицы. help

Для заданной квадратной матрицы сформировать одномерный массив из ее диагональных элементов - C++
Для заданной квадратной матрицы сформировать одномерный массив из ее диагональных элементов.с++

Для заданной квадратной матрицы сформировать одномерный массив из ее диагональных элементов - C++
Для заданной квадратной матрицы сформировать одномерный массив из ее диагональных элементов. Найти след матрицы, суммируя элементы...

Из заданной матрицы сформировать одномерный массив; найти среднее арифметическое элементов полученного массива - C++
Дана целочисленная прямоугольная матрица размера n x m. Сформировать одномерный массив, состоящий из элементов, лежащих на отрезке . Найти...

Задана матрица целых чисел A(n×n). Сформировать массив B(n) из максимальных элементов столбцов заданной матрицы - C++
Задана матрица целых чисел A(n×n). Сформировать массив B(n) из максимальных элементов столбцов заданной матрицы. Вывести номера ...


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

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

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