Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 2
Регистрация: 28.04.2016
Сообщений: 58
1

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

11.05.2016, 22:10. Показов 742. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Застрял на этапе формирования файла. Помогите пожалуйста.
Ниже прикрепил более полное условие.
Вот код того, что вышло.
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()
{
    char sw;
    if(sch == 0)
        printf("\nНет записей\n");
    else
    {
        printf("\nВведите фамилию: ");
        scanf("%s", &sw);
        for(int i=0; i < sch; i++)
            if (mas[i].fam == 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);
}
Миниатюры
Сформировать бинарный файл из элементов заданной структуры  
Изображения
 
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.05.2016, 22:10
Ответы с готовыми решениями:

Сформировать бинарный файл из элементов заданной структуры «Пациент»
Привет всем. Есть задача: Сформировать бинарный файл из элементов, заданной структуры«Пациент»:...

Сформировать двоичный файл из элементов, заданной структуры "Абитуриент"
Помогите найти ошибку! само условие : Сформировать двоичный файл из элементов, заданной в варианте...

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

Сформировать файл заданной структуры
Процедура формирует файл следующей структуры X; X1, где X-номер значения в массиве А, X1-значение в...

0
11.05.2016, 22:10
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.05.2016, 22:10
Помогаю со студенческими работами здесь

Найти количество элементов, начинающихся с заданной цифры (бинарный файл)
В бинарном файле, содержащем целые числа, найти количество элементов, начинающихся с заданной цифры

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

Запись структуры в бинарный файл
Пишу будильник, использую статический массив структур, по нажатию кнопки элемент массива должен...

Запись структуры в бинарный файл
Привет всем, тут такая проблема, мне нужно записать в бинарный файл структуру, а потом считать её....

Запись структуры в бинарный файл
Добрый вечере,народ. Нужна функция,которая будет записывать структуру в бинарный файл.То есть...

Запись структуры в бинарный файл
Собственно, вопрос в заголовке. Буду благодарна за помощь


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru