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

Реализация вектора - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Компиляция http://www.cyberforum.ru/cpp-beginners/thread1028911.html
Нашел на просторах интернета интересные исходники, но не могу их откомпилировать, создавались они в 2010 студии, я использую 2013 preview, может кто помочь ил объяснить как правильно компильнуть? Логи компиляции: 1>------ Построение начато: проект: base64, Конфигурация: Debug Win32 ------ 2>------ Построение начато: проект: zlib, Конфигурация: Debug Win32 ------ 1> Assembling...
C++ Не могу скомпилировать первую программу Я начал учить C++ относительно недавно. Учу по "С++ для чайников". Там есть пример. Программа для преобразования градусов Цельсия в градусы Фаренгейта. //Fahrenheit = Ncelsius * (232 - 32)/100 + 32 #include <stdio.h> #include <iostream> using namespace std; http://www.cyberforum.ru/cpp-beginners/thread1028906.html
C++ ошибка в расшифровке
Программа зашифровывает и расшифровывает текст. Знаки препинания не трогаются. Не расшифровывается буква R и r. Если маленькую пытаться расшифровать то будет снос на следующую строку, а если большую - то иероглиф. Помогите найти ошибку. #include <stdio.h> #include <conio.h> #include <ctype.h> #include <iostream.h> const char Cipher =...
Не выводит текст в консоль C++
Программа, скомпиленная в Visual C++, не выводит текст. Эта же программа, скомпиленная в MinGW выводит. Почему? #include <cstdio> #include <windows.h> int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { printf("%d\n", 7); }
C++ Возврат значения с метода http://www.cyberforum.ru/cpp-beginners/thread1028885.html
Такое дело, есть класс, в основной программе вызывается метод из этого класса (несколько раз) (y+i)->zad(int (osd)) вот так, как сделать, что бы метод возвращал значение 1 и передавал его в основную программу и как в осн. программе его использовать (это значение)
C++ Найти два различных элемента массива, сумма которых наиболее близка к числу R Найти два различных элемента массива, сумма которых наиболее близка к числу R. С соседними все понятно, но как перебрать все различные суммы. Допустим массив 1 1 2 5 4 6 5, надо сложить 1+1=2 потом 1+2...1+5 и тд и сравнить все. подробнее

Показать сообщение отдельно
Guy Kawasaki
2 / 1 / 0
Регистрация: 07.11.2013
Сообщений: 42

Реализация вектора - C++

04.12.2013, 22:13. Просмотров 277. Ответов 5
Метки (Все метки)

Всем доброго времени суток. Я сегодня уже обращался за помощью к форумчанам, но костыли не дремлют...
Проблема: Есть класс User. Необходимо создать в функции main вектор, содержащий указатели на пользователей. Само по себе это не сложно, НО мозговой штурм окончился на том, что я понятия не имею, как теперь обращаться через указатель в векторе к отдельным полям пользователя. Просьба помочь.
Среда разработки: Code::Blocks 12.11.

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
#ifndef MYSKYPE_H
#define MYSKYPE_H
#include <string>
 
using namespace std;
 
class User
{
private:
        int id, friend_number, ban_number;
        string nickname, password, email;
        User *friend_list, *ban_list;
public:
        User();
        User(int identifier, int numF, int numB, string nick, string pasw, string mail, User *frd, User *ban);
        User(const User &original);
        ~User();
 
        int get_id();
        int get_friend_number();
        int get_ban_number();
        string get_nick();
        string get_pasw();
        string get_mail();
 
        void put_id(int identifier);
        void put_friend_number(int numF);
        void put_ban_number(int numB);
        void put_nick(string name);
        void put_pasw(string psw);
        void put_mail(string mail);
        //void friend_list_null();
        //void ban_list_null();
};
#endif
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
#include "myskype.h"
#include <iostream>
#include <string>
#include <fstream>
#include <sstream>
#include <vector>
 
using namespace std;
 
void show_user_list(User *net, int size) //
{
    cout << "All members of our network:\n\n";
    for(int i = 0; i < size; ++i)
    {
        cout << "Id:" << net[i].get_id() << " ";
        cout << "Nickname:" << net[i].get_nick() << " ";
        cout << "Password:" << net[i].get_pasw() << " ";
        cout << "Email:" << net[i].get_mail() << " ";
        cout << endl << "Friends:" << net[i].get_friend_number() << " ";
        cout << "Ban:" << net[i].get_ban_number() << endl << endl;
    }
}
 
int main()
{
    vector<User> *network[3];
    //User *network;
    //network = new User[3]; //Раньше был массив объектов типа User
 
    User person;
    string line;
    string helper;
    int file_id = 0;
    int file_num_frd = 0;
    int file_num_ban = 0;
    int counter = 0;
    string file_nick;
    string file_pasw;
    string file_mail;
 
    ifstream userfile("user.txt");
    if (userfile.is_open())
    {
        for(int i = 0; !userfile.eof(); ++i)
        {
            getline(userfile, line);
            helper = line;
            helper += " "; 
            getline(userfile, line);
            helper += line;
            helper += " ";
            getline(userfile, line);
            helper += line;
            helper += " ";
            istringstream ist(helper);
            ist >> file_id >> file_num_frd >> file_num_ban;
            ist.clear();
 
            getline(userfile, line);
            file_nick = line;
 
            getline(userfile, line);
            file_pasw = line;
 
            getline(userfile, line);
            file_mail = line;
 
            person.put_id(file_id);
            person.put_nick(file_nick);
            person.put_pasw(file_pasw);
            person.put_mail(file_mail);
            person.put_friend_number(file_num_frd);
            person.put_ban_number(file_num_ban);
 
            network[i].push_back(person); //Да, это глупо
            ++counter;
        }
        userfile.close();
    }
    else cout << "Unable to open file!" << endl;
 
    show_user_list(network, counter); //И передача здесь тоже неправильная
 
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru