Форум программистов, компьютерный форум, киберфорум
Visual C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.93/57: Рейтинг темы: голосов - 57, средняя оценка - 4.93
1 / 1 / 0
Регистрация: 16.09.2008
Сообщений: 25

Как вывести текстовое представление константы из enum-а?

17.09.2008, 20:30. Показов 11774. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
вот есть такое
C++
1
enum data {JAN = 1, FEB, MAR, APR, MAY, YUN, YUL, AUG, SEP, OCT, NOV, DEC};
как мне вывести JAN ? что бы на экране было JAN ну или любой другой
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
17.09.2008, 20:30
Ответы с готовыми решениями:

Как вывести нужные константы, а не их номера через enum
Мне нужно чтобы в табличке выводился цвет(red,orange....) а не его номер, который вводит пользователь Заранее оговорюсь, что нужно именно...

РЕШЕНО Enum Как привязать пересляемые константы к переменной
Как привязать перечисляемые константы к переменной, чтобы при использовании константы другой переменной, была ошибка компиляции? Пример: ...

Enum из одной константы - норма?
Преподаватель против того, чтобы я использовал enum { size = 256 }; вместо const unsigned int size = 256 Аргументирует...

15
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
17.09.2008, 20:39
Code
1
2
    data d = FEB;
    printf("%d", d);
0
1 / 1 / 0
Регистрация: 16.09.2008
Сообщений: 25
17.09.2008, 21:04  [ТС]
чего? и как это заработает?
0
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
17.09.2008, 21:10
Молча.
2
1 / 1 / 0
Регистрация: 16.09.2008
Сообщений: 25
17.09.2008, 21:39  [ТС]
отлично..я не понял...
где писать data d=DEC ?
при написание меня посылают...
мне надо осуществить ..что бы смотря какой месяц пользователь видел в текстовом виде а не в цифрах (дата \месяц)
0
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
17.09.2008, 21:50
Code
1
2
3
4
5
6
char *mon[]= {"JAN", "FEB", "MAR", "APR", "MAY", "YUN", "YUL", "AUG", "SEP", "OCT", "NOV", "DEC"};
void main()
{
    int i;
    scanf("%d", &i);
    printf("%s", mon[i-1]);
1
1 / 1 / 0
Регистрация: 16.09.2008
Сообщений: 25
17.09.2008, 22:16  [ТС]
а через enum не как не льзя?
0
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
18.09.2008, 00:59
В enum нет строк. JAN - это не строка. Что же он тебе выводить будет? Можно вывести используя enum, но, так или иначе, строки тебе придется определять.

Добавлено через 24 минуты 34 секунды
Чтобы стало доступнее. Объясню, что:
Code
1
enum numbers {one =1, two, three...}
Это то же, что и:
Code
1
2
3
4
const int one = 1;
conts int two = 2;
conts int three = 3;
. . .
Ну что, слабо по числу 1, например, вывести имя константы, которая в исходнике объявлена на число 1? А вот теперь осознай, что enum - это еще один удобный способ объявить константы. Это не массив, не хэш, не ассоциативный массив. Просто набор констант.

Доступно? Лучше книжку почитай

Добавлено через 10 секунд
Чтобы стало доступнее. Объясню, что:
Code
1
enum numbers {one =1, two, three...}
Это то же, что и:
Code
1
2
3
4
const int one = 1;
conts int two = 2;
conts int three = 3;
. . .
Ну что, слабо по числу 1, например, вывести имя константы, которая в исходнике объявлена на число 1? А вот теперь осознай, что enum - это еще один удобный способ объявить константы. Это не массив, не хэш, не ассоциативный массив. Просто набор констант.

Доступно? Лучше книжку почитай
0
10 / 10 / 2
Регистрация: 18.08.2008
Сообщений: 127
18.09.2008, 01:23
DEN A ,я тоже нарвался на этот оператор . Но это программка наверное то что ты ищешь
C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
using namespace std;
int main(){
    char *p[13];;
    p[1]="JAN";p[2]="FEB";p[3]="MAR";p[4]="APR";p[5]="MAY";p[6]="YUN";
    p[7]="YUL";p[8]="AUG";p[9]="SEP";p[10]="OCT";p[11]="NOV";p[12]="DEC";
    for (int i=1;i<=12;i++)
        cout << p[i]<<endl  ;
    return 0;
}
0
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
18.09.2008, 01:37
enum - это не оператор. А о массивах указателей на строки я уже написал выше.
1
1 / 1 / 0
Регистрация: 16.09.2008
Сообщений: 25
18.09.2008, 09:05  [ТС]
Vourhey, спасибо все понятно надо читать больше=(
вот опять проблема, мне надо сравнить с каждым элементом масива mon и ещё только 3 элемента уже в самих элементах масива
ну грубо говоря mon[i][3]
0
10 / 10 / 2
Регистрация: 18.08.2008
Сообщений: 127
18.09.2008, 23:33
конечно по твоим фразам не понятно ,что надо делать .но надо делать это в цикле
вообще лучше представляя себя процессором
1) - mon[1][1] -?-mon[2][1]
mon[1][2] -?-mon[2][2]
mon[1][3] -?-mon[2][3] если условие выполнилось то сделать это , иначе то.)
2) - mon[1][1] -?-mon[3][1]
mon[1][2] -?-mon[3][2]
mon[1][3] -?-mon[3][3] аналогично
..........
дошел до конца ( 2- 3 шага достаточно )
посмотрел как меняются переменные и оформил циклом или цикл в цикле .
0
1 / 1 / 0
Регистрация: 16.09.2008
Сообщений: 25
19.09.2008, 21:05  [ТС]
прикольно=0
я тебя спрашиваю как обратится к mon[1][1] а ты=))
как цикл построить я знаю+)
0
Виталий Максимов
27.09.2008, 00:48
Я удивляюсь, как все эти люди не смогли понять, чего хочет автор вопроса!!! Пусть это уже и не актуально, но, быть может, кто-нибудь еще в этом нуждается или будет нуждаться... У нас есть перечисление, например:
C++
1
2
3
4
5
6
enum Priority
{
    LOW,
    NORMAL,
    HIGH,
};
Мы хотим, чтобы при выводе на экран элемента, выводилось не число, а ТЕКСТ! Для этого можно переопределить операцию вывода для потока << . Все что нам необходимо, это поддержка компилятором STL и заголовочный файл, для работы с потоками ввода/вывода: #include <iostream> Затем в самом начале программы доопределяем оператор для работы с нашим перечислением следующим образом:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
inline std::ostream& operator << (std::ostream &strm,const Priority& level)
{
    switch(level)
    {
    case LOW:
        strm<<"LOW";
        break;
    case NORMAL:
        strm<<"NORMAL";
        break;
    case HIGH:
        strm<<"HIGH";
    }
    return strm;
}
И потом мы можем выводить всё, как было задуманно:
C++
1
2
Priority A=LOW;
cout<<A<<" "<<HIGH<<" "<<NORMAL<<"\n";
Результат работы: "LOW HIGH NORMAL"
Удачи...
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
27.09.2008, 18:36
ндя...решение с массивом куда привлекательнее...
0
Просто Максим
04.07.2013, 22:56
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream> 
 
using namespace std; 
 
enum  data {JAN = 1, FEB, MAR, APR, MAY, YUN, YUL, AUG, SEP, OCT, NOV, DEC};
void info(data man) 
{
  int rate= man;// приведения к типу int
  cout<<"jan = "<<rate<<endl;
} 
 
int main() 
{ 
   info(JAN); 
  system("pause");
}
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.07.2013, 22:56
Помогаю со студенческими работами здесь

Проверка существования константы из enum
В пространство имен поместите перечисление MyEnum со следующими элементами типа ushort: zero – со значением 0, one – со значением 1 и two –...

Двоичное и восьмеричное представление константы $D
Написать программу, которая выводит двоичное и восьмеричное представление константы $D, которая в указанном виде, в начале работы, должна...

Преобразовать число в текстовое представление
Не могу понять , что и куда нужно добавить , при запуске данного макроса он показывает только целые числа и формате (20 , 9 и т.д.) Но...

Перевод числа в текстовое представление
как реализовать функцию, которая преобразует числа в буквенный вид. Пример: вводим число 623, в консоли выводит - шестьсот двадцать три?

Представить числом введенное текстовое представление цифры
Обьясните, что в этом коде делает цикл (for) ? Почему если его убрать, программа не работает? &quot;Создайте вектор, хранящий...


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка. Рецензия / Мнение/ Перевод https:/ / **********/ gallery/ thinkpad-x220-tablet-porn-gzoEAjs . . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru