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

Структура и база

02.06.2015, 22:33. Показов 1003. Ответов 4
Метки нет (Все метки)

Вообщем мы считываем инфу с файла и записываем её в базу. Нужно поднять стипендию (последние цифры в файле) студентов, у которых все пятерки на 1200. Вот написал код, но он почему то думает, что стипендия 56, хотя она стоит 800. Должно выводить 800+1200= 2000, а выводит 1256. Вот код, входной файл думаю не понадобится. гляньте кто пожалуйста)
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
#include <iostream>
#include <string>
#include <fstream>
#include <vector>
 
using namespace std;
 
struct data
{
    string surname, name, patronymic, birsday, sex;
    int grand;
    char mat, pf, inf;
    data(vector<string> arr)
    {
        surname = arr[0];
        name = arr[1];
        patronymic = arr[2];
        sex = arr[3];
        birsday = arr[4];
        mat = arr[5][0];
        pf = arr[6][0];
        inf = arr[7][0];
        grand = (int)arr[8][0]+'1';
    }
};
 
int main()
{
    fstream file("data1.txt");
    fstream file_out("data_new.txt");
    int n = 0;
    string tmp;
    vector<string> text;
    vector<data> base;
 
    while (file >> tmp)
    {
        text.push_back(tmp);
        n++;
        if (n == 9)
        {
            base.push_back(data(text));
            text.clear();
            n = 0;
        }
    }
 
    for (int i = 0; i < base.size(); i++)
    {
        if (base[i].pf == '5' && base[i].mat == '5' && base[i].inf == '5')
        {
            base[i].grand += 1200;
            cout << base[i].surname << '\t' << base[i].name << '\t' << base[i].patronymic << '\t' << base[i].birsday << '\t' << base[i].mat << '\t' << base[i].pf << '\t' << base[i].inf << '\t' << base[i].grand << '\t' << endl;
        }
 
        file_out << base[i].surname << '\t' << base[i].name << '\t' << base[i].patronymic <<'\t' << base[i].sex << '\t' << base[i].birsday << '\t' << base[i].mat << '\t' << base[i].pf << '\t' << base[i].inf << '\t' << base[i].grand << '\t' << endl;
    }
 
    system("pause");
    return 0;
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.06.2015, 22:33
Ответы с готовыми решениями:

Структура «База», сущности «Универсам» и «Продукты», структура «Товар»
1. Создать структуру «База», включающую не менее 3 полей. 2. Создать сущности «Универсам» и...

Структура телефонная база по алфавиту
Объявить структуру с заданными полями. Ввести необходимый список. Память для хранения списка...

Структура: база сотрудников и их адресов
Очень нужно написать задачу!Пожалуйста помогите) Ввести массив записей, который содержит фамилии...

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

4
68 / 67 / 59
Регистрация: 14.07.2013
Сообщений: 251
02.06.2015, 22:46 2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <vector>
 
using namespace std;
 
int main()
{
    vector<string> vec;
    string st = "800";
    vec.push_back(st);
    int grand;
    grand = (int)vec[0][0] + 1;//это не правильно
    cout << grand;//печатает 55. так как см выше
    system("pause");
    return 0;
}
0
0 / 0 / 0
Регистрация: 02.06.2015
Сообщений: 25
02.06.2015, 22:52  [ТС] 3
Убрал +1, но все равно не правильно выводит
0
68 / 67 / 59
Регистрация: 14.07.2013
Сообщений: 251
02.06.2015, 22:55 4
Лучший ответ Сообщение было отмечено Sergey_007 как решение

Решение

А вот так правильно
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <vector>
 
using namespace std;
 
int main()
{
    vector<string> vec;
    string st = "800";
    vec.push_back(st);
    int grand;
    grand = atoi(vec[0].c_str());
    cout << grand;
    system("pause");
    return 0;
}
Добавлено через 2 минуты
Если не работает atoi то #include <stdlib.h>
1
0 / 0 / 0
Регистрация: 02.06.2015
Сообщений: 25
02.06.2015, 23:14  [ТС] 5
Вообще не компилит( Что ж я не везучий такой то.

Добавлено через 6 минут
Заработало, спасибо)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.06.2015, 23:14
Помогаю со студенческими работами здесь

Грамотная структура база данных
Есть Услуги которые могут иметь подуслугу. Подуслуга в свою очередь тоже может иметь подуслугу....

Структура База данных Университета
Всем привет! Помогите пожалуйста, мне нужно создать БД преподавателей университета, но структуру...

База данных "Лесное хозяйство" - какова должна быть структура таблиц
Доброго времени суток. Может кто-то делал БД &quot;Лесное хозяйство&quot;, можете сказать какие должны быть...

Структура современной связи как структура системы власти - как структура государственного управления
Структура современной связи всё больше становится структурой государственного управления, в...


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

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

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