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

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

Войти
Регистрация
Восстановить пароль
 
AkaDo.XD
3 / 3 / 0
Регистрация: 10.03.2010
Сообщений: 52
#1

Сохранить массив структур в файл - C++

14.11.2012, 21:37. Просмотров 335. Ответов 0
Метки нет (Все метки)

как это правильно организовать?
Дана последовательность записей с информацией о сотрудниках предприятия. Каждая запись включает реквизиты: ФИО (фамилия, имя, отчество ); ДР (дата рождения – год, месяц, число); МР (место рождения – название города); ДТ (дата начала трудового стажа работы – год, месяц, число); П (пол – муж., жен.); СП (семейное положение – женат, холост, число детей); ОБР (образование – высшее, среднее). При программировании рек-визиты ФИО, ДР, СП и ДТ объявлять как структуры.
Требуется написать программу для выполнения следующих операций:
 ввод записей и создание файла SV;
 используя файл SV, выдать на экран таблицы:
Возраст Количество мужчин % к итогу
До 20 лет
20 –30 лет
30 – 40 лет
40 – 50 лет
50 – 60 лет
Свыше 60 лет
Итого

Стаж работы Число работающих % к итогу
До 2 лет
2 –5 лет
5 – 10 лет
10 – 15 лет
Свыше 15 лет
Итого



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
// lab15_var8.cpp : Defines the entry point for the console application.
//
 
#include "stdafx.h"
#include<iostream>   
#include<conio.h>
#include<stdlib.h>
#include <fstream>
 
struct FIO{char *fam, *Im, *ot4;};
struct day{int year, mounth, d;};
struct SP {char jen_holost; int Num_child;};
 
struct lab15
{
    FIO fio;
    day b_day;
   char *MP;
   day exp_day;
   char *sex[1];
   SP sem_pol;
    char obraz[5];
};
void Get_hum(lab15 *HUMANS, int n)
{
  
   printf("Human %d:\n", n+1);
   //<fio>
             printf("Enter FIO\n");
             printf("Enter Fam: "); scanf("%s", &HUMANS->fio.fam);
             printf("Enter name: "); scanf("%s", &HUMANS->fio.Im);
             printf("Enter ot4: "); scanf("%s", &HUMANS->fio.ot4);
   //</fio>
 
             //<age>
             printf("Enter age\n");
             printf("Enter year: ");   scanf("%d", &HUMANS->b_day.year);
             printf("Enter mounth: "); scanf("%d", &HUMANS->b_day.mounth);
             printf("Enter day: "); scanf("%d", &HUMANS->b_day.d);
   //</age>
            printf("Enter locate: ");   scanf("%s", &HUMANS->MP);
 
   //<exp_day>
             printf("Enter exp_day\n");
             printf("Enter year: ");   scanf("%d", &HUMANS->exp_day.year);
             printf("Enter mounth: "); scanf("%d", &HUMANS->exp_day.mounth);
             printf("Enter day: "); scanf("%d", &HUMANS->exp_day.d);
   //</exp_day>
 
             printf("Enter sex: {m-male, f-female} : ");   scanf("%s", &HUMANS->sex);
 
   //<sp>
            printf("enter sem_poloj\n");
            printf("Enter sp: h-holost, j-jenat(a) : ");    scanf("%s", &HUMANS->sem_pol.jen_holost);
            printf("enter number children: ");  scanf("%s", &HUMANS->sem_pol.Num_child);
   //</sp>
 
            printf("Enter obrazovanie: H-higher, L-lower : ");   scanf("%s", &HUMANS->obraz);
}
 
 int menu()
{char ch;
do {
       printf("\n");
       printf(" 1. Enter and Save\n");
       printf(" 2. Read and print\n");
       printf(" 3. exit\n");
       printf(" You must choose...\n");
       ch=getche();printf("\n");
       }
    while(!strchr("123", ch));
    if(ch=='3') exit(0);
return(ch-49);
}
 
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    char F[]="lab15.fv";
     int n=0; printf(" maximum number of records:\n "); scanf("%d",&n);
    lab15 *human=new lab15[n];
 
 
        //<enter_struct>
            for (int i=0; i<n; i++)         {
                printf("\n");
                    Get_hum(&human[i], i);  }
                    printf("\n\n");
        //</enter_struct>
                    /*ЗАПИСЫВАЕМ ВСЮ СТРУКТУРУ В БИНАРНЫЙ ФАЙЛ*/
;   ofstream  out(F,ios::binary|ios::out); //Открыли файл для записи в бинарном режиме
      out.write((char*)&human,sizeof human); //Записали в файл структуру X
   out.close(); //Закрыли открытый файл
                    
 
    delete []human;
    getch();
      
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.11.2012, 21:37
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Сохранить массив структур в файл (C++):

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

Как записать массив структур в файл - C++
Ребят всем привет у меня такой вопрос как мне записать #include &lt;iostream&gt; #include &lt;windows.h&gt; #include &lt;iomanip&gt; #include...

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

Заполнить массив структур сканеров и записать его в бинарный файл - C++
Здравствуйте! Новый день - новая проблема. Не могу справиться с заданием семинара, помогите пожалуйста. Семинар из практикума...

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

Есть файл с данными . Как переписать эти данные в массив структур? - C++
Допустим есть файл 1.txt с данными: 123 789 456 733 Нужно из файла переписать данные в массив структур. Например , есть...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.11.2012, 21:37
Привет! Вот еще темы с ответами:

Сохранить массив в файл а потом считать его из файла - C++
#include &lt;iostream&gt; using namespace std; int main() { setlocale (0,&quot;&quot;); const int str = 10; const int stolb = 10; int...

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

Массив структур, сохранение начала каждой из структур - C++
Я создал такую структуру class Lancuch { public: char cos; Lancuch * nastepny; }; Lancuch * poczatek=NULL; cin &gt;&gt;...

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


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

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