Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
0 / 1 / 4
Регистрация: 13.05.2013
Сообщений: 673
1

Как правильно записать условие?

16.07.2015, 07:47. Показов 1259. Ответов 20
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
как вывести правильно чтобы правильно показывало
Например если: у пользователя 600 очков показывает букву D-
или же 1400очков [D+]
помогите как правильно записать
Миниатюры
Как правильно записать условие?  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.07.2015, 07:47
Ответы с готовыми решениями:

Как правильно записать условие?
Есть некоторая функция которая берёт данные из файла и сравнивает их. std::string result_left,...

Как правильно записать условие
#include <iostream> #include <windows.h> //#include <ctime> #include <cmath> using namespace...

Как правильно записать условие в оператор if
Имеется структура pro. Надо пропустить в if те элементы структуры, которые находятся в промежутке...

Как правильно в программке записать условие нахождения бесконечности?
в примере y=exp(x)/x, где x принимает значения от -6 до + 1 c шагом 1 необходимо определить при...

20
Администратор
Эксперт .NET
9602 / 4744 / 761
Регистрация: 17.04.2012
Сообщений: 9,592
Записей в блоге: 14
16.07.2015, 13:33 2
esenbek, куда нужно вывести эти буквы?
0
0 / 1 / 4
Регистрация: 13.05.2013
Сообщений: 673
16.07.2015, 14:32  [ТС] 3
дело в том что у меня игровой сервер на C++ написанный.
выделил красным кружком, вот так надо сделать
Миниатюры
Как правильно записать условие?  
0
0 / 1 / 4
Регистрация: 13.05.2013
Сообщений: 673
16.07.2015, 14:33  [ТС] 4
т.к остальное все показывает и я хотел бы чтобы при изменении очков, изменялась и буквы
0
rikimaru2013
16.07.2015, 14:36
  #5

Не по теме:

iCCup умер

0
0 / 1 / 4
Регистрация: 13.05.2013
Сообщений: 673
16.07.2015, 14:45  [ТС] 6
это не iCCup
0
Администратор
Эксперт .NET
9602 / 4744 / 761
Регистрация: 17.04.2012
Сообщений: 9,592
Записей в блоге: 14
16.07.2015, 17:33 7
esenbek, перепишите на форум 4 строки из первого скрина, те которые перед return 0. Там обрезано.
0
0 / 1 / 4
Регистрация: 13.05.2013
Сообщений: 673
16.07.2015, 18:07  [ТС] 8
я вас не понял?

Добавлено через 2 минуты
C++
1
2
3
snprintf(msgtemp, sizeof(msgtemp), "%s's Player's record", account_get_name(account));
                        message_send_text(c,message_type_info,c,msgtemp);
                        snprintf(msgtemp, sizeof(msgtemp), "Ladder games(5x5):[тут нужно вставить  D-]%upts, WL(%u/%u), KDA(%u/%u/%u), KDN(%d/%u/%u)",Score,TotalWins,TotalLosses,TotalKills,TotalDeaths,TotalCreepDenies,TotalCreepKills,TotalAssists,TotalNeutralKills);
0
Администратор
Эксперт .NET
9602 / 4744 / 761
Регистрация: 17.04.2012
Сообщений: 9,592
Записей в блоге: 14
16.07.2015, 18:41 9
Примерно так
C++
1
2
3
4
5
6
7
8
9
10
11
snprintf(msgtemp, sizeof(msgtemp), "Ladder games(5x5):[%s] %upts, WL(%u/%u), KDA(%u/%u/%u), KDN(%d/%u/%u)",
    (Score >= 200 && Score < 1000) ? "D-" : "D+",
    Score,
    TotalWins,
    TotalLosses,
    TotalKills,
    TotalDeaths,
    TotalCreepDenies,
    TotalCreepKills,
    TotalAssists,
    TotalNeutralKills);
Проверка в самом вызове.
0
0 / 1 / 4
Регистрация: 13.05.2013
Сообщений: 673
16.07.2015, 19:09  [ТС] 10
а возможно ли
(Score >= 200 && Score < 1000) ? "D-" : "D+" этот код вывести отдельно?
а что означает "D-" : "D+"
0
Администратор
Эксперт .NET
9602 / 4744 / 761
Регистрация: 17.04.2012
Сообщений: 9,592
Записей в блоге: 14
16.07.2015, 19:14 11
esenbek, это тернарный оператор.
Можно вынести отдельно
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
char* d_marker;
if (Score >= 200 && Score < 1000)
    d_marker = "D-";
else
    d_marker = "D+";
snprintf(msgtemp, sizeof(msgtemp), "Ladder games(5x5):[%s] %upts, WL(%u/%u), KDA(%u/%u/%u), KDN(%d/%u/%u)",
    d_marker,
    Score,
    TotalWins,
    TotalLosses,
    TotalKills,
    TotalDeaths,
    TotalCreepDenies,
    TotalCreepKills,
    TotalAssists,
    TotalNeutralKills);
1
58 / 62 / 34
Регистрация: 14.03.2014
Сообщений: 905
16.07.2015, 19:16 12
esenbek если условие выполняется то выполняется то что перед : в противном случае после
0
0 / 1 / 4
Регистрация: 13.05.2013
Сообщений: 673
16.07.2015, 19:48  [ТС] 13
я что то не догнал, примерно
у игрока 300птс и стоит D- а зачем этот код дальше?
C++
1
2
else
    d_marker = "D+";
Добавлено через 12 минут
спасибо вам за помощь большое!

Добавлено через 15 минут
и еще на один вопрос можете ответить пожалуйста.
C++
1
2
if (Score >= 900 && Score < 1999)
    d_marker_icon = "/set %s Record\\W3XP\\userselected_icon MBCI",account_get_name(account);
тут идет команда за очки будет давать иконки возле никнаема . сработает же?
0
Администратор
Эксперт .NET
9602 / 4744 / 761
Регистрация: 17.04.2012
Сообщений: 9,592
Записей в блоге: 14
16.07.2015, 20:13 14
esenbek, точно не знаю, какую логику использует ваша программа, но этот код нерабочий.
Поймите, как работает метод snprintf (а также его аналоги) - 3 параметр - это строка форматирования, там, где пишется знак процента вместе с символом формата, туда вставится значение переменной, которая следует за строкой форматирования.
Как пример
C++
1
2
printf("PI = %f\n", 3.14159);  // выведет PI = 3.14159
printf("%d + %d = %d\n", 10, 10, 20);  // выведет 10 + 10 = 20
Нельзя выносить код такими кусками (с запятыми и проч.) в определение переменной.
0
0 / 1 / 4
Регистрация: 13.05.2013
Сообщений: 673
17.07.2015, 05:47  [ТС] 15
C++
1
2
printf("PI = %f\n", 3.14159);  // выведет PI = 3.14159
printf("%d + %d = %d\n", 10, 10, 20);  // выведет 10 + 10 = 20
а а где можно именно добавить эти значения
C++
1
account_get_name(account)
0
Администратор
Эксперт .NET
9602 / 4744 / 761
Регистрация: 17.04.2012
Сообщений: 9,592
Записей в блоге: 14
17.07.2015, 08:51 16
esenbek, так вот же, в вашем же коде выше:
C++
1
snprintf(msgtemp, sizeof(msgtemp), "%s's Player's record", account_get_name(account));
Сразу отмечу, что раз вы выводите все символы в строку, то вместо snprintf проще использовать sprintf
Хотите в отдельную переменную вынести?
C++
1
2
3
char acc_name[256];
acc_name = account_get_name(account);
sprintf(msgtemp, "%s's Player's record", acc_name);
и в коде выше - прошу простить, допустил ошибку, нужно инициализировать массив:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
char d_marker[2];
if (Score >= 200 && Score < 1000)
    d_marker = "D-";
else
    d_marker = "D+";
sprintf(msgtemp, "Ladder games(5x5):[%s] %upts, WL(%u/%u), KDA(%u/%u/%u), KDN(%d/%u/%u)",
    d_marker,
    Score,
    TotalWins,
    TotalLosses,
    TotalKills,
    TotalDeaths,
    TotalCreepDenies,
    TotalCreepKills,
    TotalAssists,
    TotalNeutralKills);
0
0 / 1 / 4
Регистрация: 13.05.2013
Сообщений: 673
17.07.2015, 09:03  [ТС] 17
спасибо все работает.tezaurismosis, не могли бы помочь с кодом.
как можно вывести всех регистрирующихся пользователей из база данных ??
0
Администратор
Эксперт .NET
9602 / 4744 / 761
Регистрация: 17.04.2012
Сообщений: 9,592
Записей в блоге: 14
17.07.2015, 09:08 18
esenbek, создавайте отдельную тему в соответствующем разделе.
Один вопрос - одна тема.
0
55 / 48 / 13
Регистрация: 31.10.2013
Сообщений: 166
17.07.2015, 16:05 19
А такой вопрос, получается меньше 200 очков быть не может? Просто судя по условию если будет меньше 200 то будет D+

Пардон немного ошибся, но не меняет сути почему нельзя просто:

C
1
2
3
4
if (Score < 1000)
    d_marker = "D-";
else
    d_marker = "D+";
0
0 / 0 / 0
Регистрация: 13.07.2015
Сообщений: 11
17.07.2015, 16:13 20
А разве не надо учитывать другие "ранги" в игре, кроме "D-" и "D+"?
0
17.07.2015, 16:13
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.07.2015, 16:13
Помогаю со студенческими работами здесь

Как правильно записать условие "пока в массиве есть элемент, равный 2"?
условие такое: пока в МАССИВЕ есть число 2, делать: ... ... while (2 in mas) - есть...

Как записать условие??
необходимо что бы проверялось условие на возрастание последовательности и на то что если n&gt;а15 то...

Как записать условие
Сижу и туплю. Как мне записать условие в 80 строке, чтобы если к примеру в фале записано: 3 2 4...

Как задать правильно условие???
Во введенных массивах найти последовательность максимальной длины из элементов, расположенных в...


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

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