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

Считывание из файла и заполнение контейнера объектами - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ нулевые элементы http://www.cyberforum.ru/cpp-beginners/thread301539.html
Программа удаляет нулевые элементы в сортированном списке....Функция fromList удаляет за раз только 1 элемент. Как сделать чтоб сразу все нули удаляла? #include <iostream.h> #include<conio.h>...
C++ Застопорился с qsort Суть задачи в следующем: Дан одномерный массив длиной N. Массив заполняется датчиком случайных чисел (лучше использовать любое распределение, кроме нормального). Необходимо отсортировать массив со... http://www.cyberforum.ru/cpp-beginners/thread301526.html
массивы и указатели C++
Напишите программу, демонстрирующую, что происходит со значением указателя, если к нему прибавить число. Выполните задание для массивов разных типов.
C++ Решить через функцию
Решить плиз задачу на зачёт! Напишите функцию, которая вычисляет произведение элементов, которые больше заданного числа (число пользователь вводит с клавиатуры). Массив задан в файле, результат...
C++ Как можно сформировать массив кнопок, моделирующий шахматную доску? http://www.cyberforum.ru/cpp-beginners/thread301486.html
Как можно сформировать массив кнопок, моделирующий шахматную доску?
C++ командная строка вот такой вопрос: можно ли получить в переменную то, что выводится в командной строке? например, если я выполню system("skdfbgklsjbgflbj");то появится сообщение: "skdfbgklsjbgflbj" не является... подробнее

Показать сообщение отдельно
Опа!!
15 / 15 / 0
Регистрация: 30.09.2009
Сообщений: 89
22.05.2011, 03:05  [ТС]
Спасибо большое, сейчас будем пробовать

Добавлено через 1 час 5 минут
Такс, все работает, все отлично, за исключением одного момента - поля Student_count: поставил ему значение int, но видимо где-то происходит какое-то преобразование и значение числовое теряется, при выводе содержимого вектора поле Student_count при использовании типа string Осатеся пустым, при использовании типа unsigned - большое положительное число, независимо от того, что в файле, всегда одно и то же, в случае int - большое отрицательное число. Где-то может конвертировать надо явным образом?

т.е. сейчас имею следующий код:
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
// поля класса
class CUniversity
{
    private:
        string Name;
        string City;
        char Type;
        int Student_count;
 
...
}
 
// конструктор
CUniversity (string N, string C, char T, int S)
        {
            Name = N;
            City = C;
            T = Type;
            S = Student_count;
        }
 
// метод считывания из файла
        void ReadFromFile()
        {
            string bufName;
            string bufCity;
            char bufType;
            int bufStudent_count;
 
            if (f_In.is_open())
            {
                while (!f_In.eof())
                {
                    f_In >> bufName >> bufCity >> bufType >> bufStudent_count;
                    bs.push_back(CUniversity(bufName, bufCity, bufType, bufStudent_count)); 
                    //f_In.getline(buf, 100);
                    //f_Out << buf;
                    //f_Out << endl;
                }
                cout << "All ok";
                getch();
            }
            else 
            {
                cout << "Input file isn't opened!";
                getch();
            }
        }
 
// вывод 1
        void ShowVector()
        {
            int n = bs.size();
            for (int j = 0; j < n; j++)
            {
                cout << endl;
                bs[j].ShowInfo();
                cout << endl;
            }
        }
 
// вывод2
void ShowInfo() 
        {
            cout << "University name: " << Name << endl;
            f_Out << "University name: " << Name << endl;
            cout << "Destination city: " << City << endl;
            f_Out << "Destination city: " << City << endl;
            if (Type == 'c') 
            {
                cout << "Type: Commercial." << endl;
                f_Out << "Type: Commercial." << endl;
            }
            else 
            {
                cout << "Type: State." << endl;
                f_Out << "Type: State." << endl;
            }
            cout << "Number of students: " << Student_count << ".";
            f_Out << "Number of students: " << Student_count << ".";
        }
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru