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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
developerLife
0 / 0 / 0
Регистрация: 26.06.2016
Сообщений: 13
#1

Хранение данных пользователя и работа с ними - C++

26.06.2016, 16:44. Просмотров 231. Ответов 12
Метки нет (Все метки)

Здравствуйте.
Есть игровой сервер. При входе на сервер игроку автоматически выдается ID игрока (0-1000) и происходит запрос к БД и загружаются данные, такие как NAME, PASSWORD и т.д.. Следовательно, нужно их хранить пока игрок онлайн.
Полазив в интернете узнал о классах (class), но не понял как с ними работать
А именно, как туда заносить данные и позже считывать. При считывании данных любого игрока нужно использовать ид игрока, выданный при входе, например:
C++
1
Player[playerid /* playerid - ид игрока, выданный при входе */].getIP();
Добавлено через 6 минут
После создания темы еще узнал о конструкторах/деструкторах.
От части понял к с ними обращаться, но не понял как заносить/обновлять данные для определенного игрока по его иду.
Цитата Сообщение от developerLife Посмотреть сообщение
При считывании данных любого игрока нужно использовать ид игрока, выданный при входе, например:
C++
1
Player[playerid /* playerid - ид игрока, выданный при входе */].getIP();
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
class dannie
{
private:
    char name[22];
    char password[16];
    char ip[16];
 
public:
    dannie()
    {
        // Игрок зашел, ему выдало ИД, как теперь занести данные...
        // в "ячейку" под номером его ИДа?
        // ip = ...
    }
    void getIP()
    {
        // <код, который будет возвращать IP игрока при нужде>
        // Player[playerid].getIP();
    }
};
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.06.2016, 16:44
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Хранение данных пользователя и работа с ними (C++):

Чтение данных из файла и работа с ними - C++
Может ли кто нибудь помочь? Нужно в Visual Studio 2010 написать программу, которая будет из файла читать определённые значения...

Киносеанс - хранение данных, замена данных, добавленных новых - C++
Вообщем задача : На киносеанс популярного кинофильма осуществляетсябронирование билетов. С помощью списка организовать продажу N билетов....

Файлы и работа с ними - C++
Пытаюсь написать программу записывающую в файл строку &quot;123123а&quot; Но вместо этого программа записывает строку &quot;1Н2Н3Н1Н2Н3НaН&quot; В чем...

Файлы, работа с ними (ч.1) - C++
Народ, плз помогите с задачами на языке Си Задача 1. Дана строка S. Если S является допустимым именем файла, то создать пустой файл с...

Массивы и работа с ними - C++
помогите, пожалуйста, написать программу Дана вещественная прямоугольная матрица размера M*N. • Упорядочить столбцы матрицы по...

Файлы, работа с ними (ч.2) - C++
Люди, помогите плз с задачами на файлы ( на языке Си ) задачи с файлами - вообще ппц, не понимаю. Хелп Плиз!:( Задача 1. Дан файл целых...

12
nmcf
5349 / 4669 / 1562
Регистрация: 14.04.2014
Сообщений: 18,595
26.06.2016, 16:47 #2
Сетевой обмен ты смог сделать, а про классы не знаешь?
Для чего тебе класс в данном случае? Структуры не хватит?
0
developerLife
0 / 0 / 0
Регистрация: 26.06.2016
Сообщений: 13
26.06.2016, 16:51  [ТС] #3
Цитата Сообщение от nmcf Посмотреть сообщение
Для чего тебе класс в данном случае? Структуры не хватит?
Разве есть существенная разница, что использовать?
0
nmcf
5349 / 4669 / 1562
Регистрация: 14.04.2014
Сообщений: 18,595
26.06.2016, 16:52 #4
Есть. У структуры прямой доступ, get/set не нужны. И без конструкторов можно обойтись.
1
_Ivana
3178 / 1794 / 153
Регистрация: 01.03.2013
Сообщений: 5,007
Записей в блоге: 2
26.06.2016, 17:04 #5
developerLife, забудь про классы, деструкторы, Маркса, Энгельса и т.п. Если у тебя безклассовое общество программа, то и не лезь в это ООП (точнее, его вульгарное понимание, реализованное в С++). Тебе надо по ключу хранить структуры - нужен контейнер соответствие ключ-значение. У тебя ключ интовый (0-1000) - тебе будет достаточно массива указателей на структуры, хранящие значения.
1
nmcf
5349 / 4669 / 1562
Регистрация: 14.04.2014
Сообщений: 18,595
26.06.2016, 17:16 #6

Не по теме:

Цитата Сообщение от _Ivana Посмотреть сообщение
точнее, его вульгарное понимание, реализованное в С++
А где оно не вульгарное?


Цитата Сообщение от _Ivana Посмотреть сообщение
нужен контейнер соответствие ключ-значение. У тебя ключ интовый (0-1000) - тебе будет достаточно массива указателей на структуры, хранящие значения.
Тогда std::map.
0
developerLife
0 / 0 / 0
Регистрация: 26.06.2016
Сообщений: 13
26.06.2016, 17:17  [ТС] #7
Цитата Сообщение от nmcf Посмотреть сообщение
Есть. У структуры прямой доступ, get/set не нужны. И без конструкторов можно обойтись.
Цитата Сообщение от _Ivana Посмотреть сообщение
developerLife, забудь про классы, деструкторы, Маркса, Энгельса и т.п. Если у тебя безклассовое общество программа, то и не лезь в это ООП (точнее, его вульгарное понимание, реализованное в С++). Тебе надо по ключу хранить структуры - нужен контейнер соответствие ключ-значение. У тебя ключ интовый (0-1000) - тебе будет достаточно массива указателей на структуры, хранящие значения.
Спасибо за советы. Буду использовать так, если конечно сработает
C++
1
2
3
4
5
6
struct PlayerInfo {
    string name;
    string password;
    int level;
};
PlayerInfo players[MAX_PLAYERS]; // #define MAX_PLAYERS (1000)
0
_Ivana
3178 / 1794 / 153
Регистрация: 01.03.2013
Сообщений: 5,007
Записей в блоге: 2
26.06.2016, 17:20 #8
Цитата Сообщение от nmcf Посмотреть сообщение
Тогда std::map.
Про то и речь. И эта мапа будет работать БД-ой. Но если не жаль немножко памяти (1000 и 1 ночь указатель), то можно и массивом.

Не по теме:

Цитата Сообщение от nmcf Посмотреть сообщение
А где оно не вульгарное?
В Smalltalk, Erlang и может где-то еще. В Lisp возможно.



Добавлено через 51 секунду
Цитата Сообщение от developerLife Посмотреть сообщение
Буду использовать так
Ну вот оно и есть, и без классовой борьбы
0
nmcf
5349 / 4669 / 1562
Регистрация: 14.04.2014
Сообщений: 18,595
26.06.2016, 17:23 #9
Цитата Сообщение от _Ivana Посмотреть сообщение
то можно и массивом.
Массив не умеет расширяться и прочее. Нужно в сторону STL смотреть, если преобразовывать массивы не самоцель.

Не по теме:

Цитата Сообщение от _Ivana Посмотреть сообщение
В Smalltalk
Ты шутишь? Это пародия на язык, которую нам даже преподавали в ВУЗе - пустая трата времени.

0
_Ivana
3178 / 1794 / 153
Регистрация: 01.03.2013
Сообщений: 5,007
Записей в блоге: 2
26.06.2016, 17:26 #10
Цитата Сообщение от nmcf Посмотреть сообщение
Массив не умеет расширяться и прочее.
А ему не надо расширяться - по условию 1000 и одна ночь и не более. А это не так много.

Не по теме:

Цитата Сообщение от nmcf Посмотреть сообщение
Ты шутишь? Это пародия на язык, которую нам даже преподавали в ВУЗе - пустая трата времени.
Я то как раз не шучу. Но я нормально воспринимаю, когда мои заблуждения отличаются от таковых у собеседника, однако это не повод менять свои.

ЗЫ везет некоторым - им в ВУЗе много чего интересного преподают...

0
nmcf
26.06.2016, 18:11
  #11

Не по теме:

Цитата Сообщение от _Ivana Посмотреть сообщение
ЗЫ везет некоторым - им в ВУЗе много чего интересного преподают...
А в вашем что преподают?

0
_Ivana
26.06.2016, 18:15
  #12

Не по теме:

Цитата Сообщение от nmcf Посмотреть сообщение
А в вашем что преподают?
А в нашем в 91 году преподавали физику, другую физику, третью физику, математику, другую математику и т.д. Ну и немного VAX Pascal с ассемблером. Сейчас по слухам С++ преподают А до интересных языков наверное никогда не дойдут.

0
developerLife
0 / 0 / 0
Регистрация: 26.06.2016
Сообщений: 13
26.06.2016, 23:23  [ТС] #13
Всем спасибо за помощь!
Решение задачи намного проще чем я мог ожидать.
0
26.06.2016, 23:23
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.06.2016, 23:23
Привет! Вот еще темы с ответами:

Списки. Объявление, заполнение добавление и работа с ними - C++
Подкиньте faq по этим разделам, желательно досканальный. Это же структуры, я правильно понимаю?

Хранение данных - C++
У меня есть программа, которая создает, удаляет и показывает список клиентов банка. Подскажите, пожалуйста, что мне нужно дописать в код...

Хранение данных - C++
Есть объекты, у которых есть свои переменные. Но не всегда эти объекты используются. Где лучше хранить характеристики этих объектов?...

Хранение данных - C++
Пробую написать небольшую рпгшку на С++ + SDL и возникла нужда где-то хранить кучу потенциальной информации, начиная с описания карты,...


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

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

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