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

Из исходного файла сформировать 2 файла структур: Ф.И.О -> Фамилия, инициалы. Дата рождения -> возраст, ост - C++

Восстановить пароль Регистрация
 
Prolehko
0 / 0 / 0
Регистрация: 17.05.2014
Сообщений: 1
17.05.2014, 02:10     Из исходного файла сформировать 2 файла структур: Ф.И.О -> Фамилия, инициалы. Дата рождения -> возраст, ост #1
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
/*1. 1Из исходного файла сформировать2 файла структур:
Ф.И.О -> Фамилия, инициалы.
Дата рождения -> возраст, ост. Переписывается как есть.
         1)женщин
        2) стаж>n(вводится)*/
#include "stdafx.h"
#include<fstream>
using namespace std;
 
struct sfio
{
    char f[21],i[16],o[16];
};
struct sbirth
{
    int d,m,y;
};
struct sdan
{
    sfio fio;
    sbirth birth;
    char gend;
    char ed[3];
    int stat;
    int child;
    char prof[3];
    char lic;
    int pay;
    int exp;
};
int _tmain()
{
    ifstream fin;
    fin.open("input.txt");
    ofstream fout1;
    ifstream fpar;
    fpar.open("parametri 2.txt");
    fout1.open("women1.dat",ios::binary);
    ofstream fout2;
    fout2.open("exp1.dat",ios::binary);
    sdan dan;
    char c;
    int q;
    long int a;
    fpar>>q;
    fin>>dan.fio.f>>dan.fio.i>>dan.fio.o;
    fin>>a;
    dan.birth.y=a%10000;
    a/=10000;
    dan.birth.m=a%100;
    a/=100;
    dan.birth.d=a;
    fin>>c>>dan.gend>>c>>dan.ed[0]>>dan.ed[1]>>c>>dan.stat>>c>>dan.child
        >>c>>dan.prof[0]>>dan.prof[1]>>c>>dan.lic>>c>>dan.pay>>c>>dan.exp;
    dan.ed[2]=dan.prof[2]='\0';
    while(!fin.eof())
    {
        int i=0;
        while(dan.exp!='\0')
            i++;
        if(i>q)
            fout2.write((char*)&dan,sizeof(sdan));
        fin>>dan.fio.f>>dan.fio.i[0]>>dan.fio.o[0];
        fin>>a;
        dan.birth.y=a%10000;
        a/=10000;
        dan.birth.m=a%100;
        a/=100;
        dan.birth.d=a;
        fin>>c>>dan.gend>>c>>dan.ed[0]>>dan.ed[1]>>c>>dan.stat>>c>>dan.child
            >>c>>dan.prof[0]>>dan.prof[1]>>c>>dan.lic>>c>>dan.pay>>c>>dan.exp;
        dan.ed[2]=dan.prof[2]='\0';
    }
        {
        
        while(dan.gend!='\0')
            
        if(dan.gend=='м')
            fout1.write((char*)&dan,sizeof(sdan));
        fin>>dan.fio.f>>dan.fio.i[0]>>dan.fio.o[0];
        fin>>a;
        dan.birth.y=a%10000;
        a/=10000;
        dan.birth.m=a%100;
        a/=100;
        dan.birth.d=a;
        fin>>c>>dan.gend>>c>>dan.ed[0]>>dan.ed[1]>>c>>dan.stat>>c>>dan.child
            >>c>>dan.prof[0]>>dan.prof[1]>>c>>dan.lic>>c>>dan.pay>>c>>dan.exp;
        dan.ed[2]=dan.prof[2]='\0';
    }
 
    fout1.close();
    fout2.close();
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.05.2014, 02:10     Из исходного файла сформировать 2 файла структур: Ф.И.О -> Фамилия, инициалы. Дата рождения -> возраст, ост
Посмотрите здесь:

Описать структуру с именем NOTE, с полями: фамилия, номер телефона, год рождения. Ввести несколько структур. C++
C++ Сформировать новый файл, дописав в каждую строку исходного файла количество, содержащихся в ней слов.
Разобрать структуру с именем ZNAK, содержащую поля: фамилия, имя, знак зодиака, дата рождения C++
C++ Разработать класс: Student: Фамилия, Имя, Отчество, Дата рождения, Адрес, Средний бал , Факультет, Курс
C++ Программа не работает (описать класс с именем NOTE (фамилия и инициалы; номер телефона; дата рождения))
C++ Дано список записей с полями:фамилия ученика и дата рождения. Найти тех которые родились зимой
C++ сформировать новый список записей из двух полей: 1.Фамилия, 2. Год рождения, в который войдут все крестьяне.
В файле data.dat хранятся фамилия и годы рождения участников. найти средний возраст участников C++
Сформировать из трех строк (фамилия, имя, отчество) одну строку, содержащую фамилию и инициалы C++
C++ Из исходного файла сформировать массивы чисел; найти наибольший чётный и наименьший нечётный элементы
C++ Описать структуру с именем ZNAK, содержащую следующие поля: фамилия, имя. знак Зодиака, дата рождения (массив
C++ На основе исходного файла, содержащего целые числа, сформировать новый файл, удалив повторы

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

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

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