1 / 1 / 0
Регистрация: 27.12.2013
Сообщений: 30
1

Добавление записи в текстовый файл

23.12.2015, 22:32. Показов 652. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите вставить сюда добавление новых студентов с записью в файл. файл выглядит так: Карпов И. С. 5 5 5 5 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
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
158
159
160
161
162
163
164
165
struct Student
{
    void fn_student_list()///Выводим список студентов
    {
        for(unsigned int i=0;i<vec_FIO.size();++i)cout<<vec_FIO[i]<<endl;
    }
    vector<string>vec_FIO;
    vector<int> vec_math,vec_physics,vec_chemistry,vec_geometry,vec_rus;
    void fn_student_exam_5()///Список студентов которые сдали все экзамены только на пять
    {
        bool five=false;
        for(unsigned int i=0;i<vec_FIO.size();++i)
        {
            unsigned int sum=0;
            if(vec_math[i]==5)sum+=5;
            if(vec_physics[i]==5)sum+=5;
            if(vec_chemistry[i]==5)sum+=5;
            if(vec_geometry[i]==5)sum+=5;
            if(vec_rus[i]==5)sum+=5;
            if(sum==25)
            {
                cout<<vec_FIO[i]<<endl;
                five=true;
            }
 
        }
        if(five==false)cout<<"Таких студентов нет :("<<endl;
    }
    void fn_student_exam_3()///Список студентов которые имеют хотя-бы одну тройку по экзаменам
    {
        bool three=false;
        for(unsigned int i=0;i<vec_FIO.size();++i)
        {
            unsigned int sum=0;
            if(vec_math[i]==3)sum++;
            if(vec_physics[i]==3)sum++;
            if(vec_chemistry[i]==3)sum++;
            if(vec_geometry[i]==3)sum++;
            if(vec_rus[i]==3)sum++;
            if(sum>=1)
            {
                cout<<vec_FIO[i]<<endl;
                three=true;
            }
        }
        if(three==false)cout<<"Таких студентов нет :("<<endl;
    }
    void fn_student_exam_2()///Список студентов у которых есть двойки
    {
        bool two=false;
        for(unsigned int i=0;i<vec_FIO.size();++i)///удаляем студентов у котороыъ больше одной двойки
        {
            int sum=0;
            if(vec_math[i]==2)sum++;
            if(vec_physics[i]==2)sum++;
            if(vec_chemistry[i]==2)sum++;
            if(vec_geometry[i]==2)sum++;
            if(vec_rus[i]==2)sum++;
            if(sum>=2)
            {
                vec_FIO.erase(vec_FIO.begin()+i);
                vec_math.erase(vec_math.begin()+i);
                vec_physics.erase(vec_physics.begin()+i);
                vec_chemistry.erase(vec_chemistry.begin()+i);
                vec_geometry.erase(vec_geometry.begin()+i);
                vec_rus.erase(vec_rus.begin()+i);
            }
        }
        for(unsigned int i=0;i<vec_FIO.size();++i)///Выводим список студентов
        {
            unsigned int sum=0;
            if(vec_math[i]==2)sum++;
            if(vec_physics[i]==2)sum++;
            if(vec_chemistry[i]==2)sum++;
            if(vec_geometry[i]==2)sum++;
            if(vec_rus[i]==2)sum++;
            if(sum>=1)
            {
                cout<<vec_FIO[i]<<endl;
                two=true;
            }
        }
        if(two==false)cout<<"Таких студентов нет :("<<endl;
    }
};
int main()
{
    Student student;
    string str,fstr;
    SetConsoleOutputCP(1251);
    int value,math,physics,chemistry,geometry,rus,number_of_students=0;
    ifstream in("file.txt");
    if(!in)///Если не смогли открыть файл
    {
        cout<<"Can't open file\n";
        return 1;
    }
    getline(in,str);
    while(in>>str)
    {
        fstr+=str+' ';
        for(int i=0;i<2;++i)
        {
            in>>str;
            fstr+=str+' ';
        }
        student.vec_FIO.push_back(fstr);
        fstr.clear();
        in>>math;
        student.vec_math.push_back(math);
        in>>physics;
        student.vec_physics.push_back(physics);
        in>>chemistry;
        student.vec_chemistry.push_back(chemistry);
        in>>geometry;
        student.vec_geometry.push_back(geometry);
        in>>rus;
        student.vec_rus.push_back(rus);
        number_of_students++;
        if(number_of_students==20)break;
    }
    in.close();///Закрыли файл
    start:cout<<"\n1. Список студентов (ФИО)"<<endl;
    cout<<"2. Список студентов которые сдали все экзамены только на пять."<<endl;
    cout<<"3. Список студентов которые имеют хотя-бы одну тройку по экзаменам."<<endl;
    cout<<"4. Список студентов у которых есть двойки."<<endl;
    cout<<"(если студент имеет больше одной двойки он исключается из списка)."<<endl;
    cout<<"5. Введите 'q' для выхода"<<endl;
    cout<<"Пожалуйста сделайте свой выбор: ";
    char c;
    cin>>c;
    switch(c)
    {
        case '1':
        {
            student.fn_student_list();
            goto start;
        }
        case '2':
        {
            student.fn_student_exam_5();
            goto start;
        }
        case '3':
        {
            student.fn_student_exam_3();
            goto start;
        }
        case '4':
        {
            student.fn_student_exam_2();
            goto start;
        }
        case 'q':
        {
                return 0;
        }
        default:
        {
            cout<<"Неверный ввод :( Попробуйте снова\n";
            goto start;
        }
    }
    return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.12.2015, 22:32
Ответы с готовыми решениями:

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

Текстовый файл: создание, добавление данных в файл
Создать текстовый файл, в который записать свои фамилию и имя. Затем открыть этот файл для...

Текстовый файл содержит записи о телефонах и их владельцах. Переписать в другой файл телефоны их владельцев, фамилии
Текстовый файл содержит записи о телефонах и их владельцах. Переписать в другой файл телефоны их...

Открыть для записи текстовый файл data.txt и записать в него полученный массив, закрыть файл
Составить программу с подпрограммами для выполнения следующего алгоритма (предусмотреть процедуры...

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

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

Добавление строки в текстовый файл
Всем привет !! Люди помогите, надо дописать строку в текстовый файл.. т.е к имееющему в файле...

Текстовый файл(записи)
Доброго времени. Помогите разобраться. Нужно ввести в текстовый файл наборы код магазина - ФИО...

Текстовый файл и записи
Существует текстовый файл, содержащий сведения (записи) о 12 студентах. Вычислить средний балл...

Текстовый файл(записи)
Помогите в открытием и редактированием файла. При открытии происходит зацикливание, а на...

Добавление новых данных в текстовый файл
Подскажите где ошибка ..нужно добавить нового пациента в файл через форму... class Karta :...


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

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

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