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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Пример с книги, ругается на istream и ostream http://www.cyberforum.ru/cpp-beginners/thread947791.html
Создание класса массива с перезагрузкой операций, ругается на istream и ostream. Переписал все с книги, но VS2010 не компилит. Array.h #include <iostream> #ifndef ARRAY_H #define ARRAY_H class Array { friend ofsream &operator<<(ostream &,const Array &);
C++ Обновление окна Суть проблемы. Как сделать чтобы программа обновляла(перерисовывала) окно до нажатия любой кнопки? http://www.cyberforum.ru/cpp-beginners/thread947789.html
C++ LINK : fatal error LNK1104: не удается открыть файл "LIBC.lib"
ошибку выводит когда включаю в проект Lua много гуглил и везде говорят в игнор поставить но от этого ошибок только больше : 1>lua52.lib(lauxlib.obj) : error LNK2019: ссылка на неразрешенный внешний символ _errno в функции _luaL_fileresult 1>lua52.lib(liolib.obj) : error LNK2001: неразрешенный внешний символ "_errno" 1>lua52.lib(lauxlib.obj) : error LNK2019: ссылка на неразрешенный внешний...
Явный и неявный конструктор C++
явный конструктор-это...? неявный конструктор-это...? спасибо.
C++ Написать программу, которая вычисляет произведение элементов введенного с клавиатуры массива целых чисел http://www.cyberforum.ru/cpp-beginners/thread947761.html
Написать программу, которая вычисляет произведение элементов введенного с клавиатуры массива целых чисел. Количество элементов в массиве - 10
C++ Напишите программу, вычисления стоимости покупки с учетом скидки Написать программу, вычисления стоимости покупки с учетом скидки. Скидка в 3% предоставляется в том случае, если сумма покупки больше 500 рублей, 5%, если сумма покупки больше 1000 руб. Программа должна проверять введенные пользователем данные и, если условие не выполняется, то выдать сообщение на экран. Ниже представлен рекомендуемый вид экрана во время работы программы (данные, введенные... подробнее

Показать сообщение отдельно
Grizzz
4 / 4 / 3
Регистрация: 04.11.2012
Сообщений: 48
03.09.2013, 16:38     добавление структуры после определенной структуры в бинарном файле
Доброго времени суток. собственно задание:
Запрограммировать информационную систему со следующими параметрами:
Логическая структура: набор записей.
Запись содержит минимум 3 поля.
Поля должны быть различных типов.
Обязательно использование строкового типа.
Способ хранения: двоичный файл.
Процедуры:
а) поиск записи;
б) добавление записи после определенной записи;
в) вычисление какой-либо функции;
г) вывод файла.

так вот с пунктом б) возникли проблемы не подскажете как сделать??

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
#include <iostream>
#include <string>
#include <fstream>
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
 
using namespace std;
struct lol
{char FIO[50],diz[30];
 int post;
 char pol[1];
}zp;
void input(FILE *);
void show ();
void dop (FILE *);
void search(char* n);
FILE *f;
int main ()
{char c;
int n;
    char strok[50];
FILE *f;
setlocale(LC_ALL,"Rus");
f=fopen("base.dat","r");
c=' ';
while (c!='0')
    {system("cls");
     cout<<"1-create file\n";
     cout<<"2-show file\n";
     cout<<"3-app file \n";
     cout<<"4-search \n";
     cout<<"0-exit";
     c=getch();
     switch (c)
     { case '1':input(f);break;
       case '2' :show();break;
       case '3':dop(f);break;
       case '4':system("cls");cout<<"Введите фамилию больного"<<endl; cin>>strok;search(strok);break;
       case '0' : return 0;
       default : cout<<" error ";return 0;
     }
    }
system("pause");
}
void input (FILE *f)
{char ch;
 f=fopen("base.dat","wb");
 system("cls");
 setlocale(LC_ALL,"Rus");
 printf("\n Введите информацию о пациентах \n");
 do 
 {printf("\n ФИО: ");scanf("%s",zp.FIO);
 printf("Диагноз: ");scanf("%s",&zp.diz);
 printf("Пол: ");scanf("%s",&zp.pol);
 printf ("Дата поступления: ");scanf("%d",&zp.post);
 fwrite(&zp,sizeof(zp),1,f);
 printf(" Закончить? y/n ");
 ch=getch();
 /*printf ("Число: ");scanf(&zp.born.ch);
   printf("Месяц: ");scanf(&zp.born.m);
   printf("Год: ");scanf(&zp.born.y);*/
 }
 while (ch!='y');
 fclose(f);
}
void show ()
{int i;
system("cls");
setlocale(LC_ALL,"Rus");
f=fopen("base.dat","rb");
i=1;
    printf("\n   --------------------------------------------------\n");
    printf("   |    ФИО    |   Диагноз    |Пол|  Дата поступления |\n");
    printf("   ------------+--------------+---+-------------------\n");
fread(&zp,sizeof(zp),1,f);
while (!feof(f))
{ printf("%3d   %3s        %4s         %s          %3d",i,zp.FIO,zp.diz,zp.pol,zp.post);
  printf("\n   --------------------------------------------------\n");
fread(&zp,sizeof(zp),1,f);
i++;
}
getch();
}
void dop (FILE *f)
{char ch;
 f=fopen("base.dat","ab");
 system("cls");
 setlocale(LC_ALL,"Rus");
 printf("\n Введите информацию о пациентах \n");
 do 
 {printf("\n ФИО: ");scanf("%s",zp.FIO);
 printf("Диагноз: ");scanf("%s",&zp.diz);
 printf("Пол: ");scanf("%s",&zp.pol);
 printf ("Дата поступления: ");scanf("%d",&zp.post);
 fwrite(&zp,sizeof(zp),1,f);
 printf(" Закончить? y/n ");
 ch=getch();
 }
 while (ch!='y');
 fclose(f);
}
void search (char* n)
{f=fopen("base.dat","rb");
while (fread(&zp, sizeof(zp),1,f))
{char* r =zp.FIO;
if (strcmp(n,r)==0)
{ printf(" %s    %s   %s    %3d",zp.FIO,zp.diz,zp.pol,zp.post);
  printf("      \n--------------------------------------------------\n");
}
    }
fclose(f);
getch();
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 23:14. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru