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

Перечислимый тип enum ,что это? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Найти элементы матрицы, меньшие среднего арифметического http://www.cyberforum.ru/cpp-beginners/thread959631.html
Как написать два цикла в одно, при выводе наименьшего среднего арифметического? //* С клавиатуры вводится размерность целочисленной матрицы, затем сама матрица.Найти элементы меньшие среднего...
C++ Линейный список Есть такая детская считалка: n детей стали в круг. Начиная отсчет от первого, убирают каждого k-го ребёнка, замыкая круг после каждого удаления. Нужна программа, которая за значением n и k выводит... http://www.cyberforum.ru/cpp-beginners/thread959627.html
C++ Необходимо вывести в консоль меню с пунктами
Не могу понять как сделать меню?
Программа перевода целого числа без знака в двоичную систему счисления C++
Здравствуйте . Помогите , пожалуйста , реализовать программу перевода целого числа без знака в двоичную систему счисления , при этом выдать результат от младшего байта к старшему . Объясните ,...
C++ Не происходит конвертация типа int в float http://www.cyberforum.ru/cpp-beginners/thread959612.html
int r = 130; r = (float)r/255; r равен 0. Почему не произошла конвертация типа?
C++ Как можно сравнить введенные символы с теми что есть в массиве? Как можно сравнить что было введено с клавиатуры? #include <iostream> using namespace std; int main() { char x={"норма"}; {"нормально";} {"нармально";} {"жить можно";} {"все ок";} {"норм";}... подробнее

Показать сообщение отдельно
DmitryM5
Love~
51 / 51 / 3
Регистрация: 27.08.2013
Сообщений: 863
Записей в блоге: 1

Перечислимый тип enum ,что это? - C++

22.09.2013, 13:15. Просмотров 510. Ответов 3
Метки (Все метки)

Не пойму зачем он нужен,если все равно он возвращает целые числа?
Как обращаться именно к имени(string) элемента типа enum?К примеру вывести имя из enum.Не помогает даже cast ...
В моем понимании,будто бы это просто воображение,и я представляю,что 1-это первый элемент(имя у меня в голове),2-это второй элемент (имя у меня в голове)...ит.д.
Кто нибудь объясните на примере моей задачи,вывод пришлось делать,хотя думал проще можно вывести....:

Единицы длины пронумерованы следующим образом: 1 — дециметр, 2 — километр, 3 — метр, 4 — миллиметр, 5 — сантиметр. Дан номер единицы длины (целое число в диапазоне 1–5) и длина отрезка в этих единицах (вещественное число). Найти длину отрезка в метрах.
Указание: используйте в решении перечисление для единиц длины.

part4.h:
C++
1
2
3
4
5
6
#ifndef PART4_H
#define PART4_H
enum  dlina{dc=1,km,m,mm,sm};
void printdlina(int i);
double find(int i,double v);
#endif /*PART4_H*/
Task6.cpp:
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
/
#include <iostream>
#include <locale>
#include "part4.h"
 
using namespace std;
void printdlina(int i) {
     switch(i) {
     case 1: {
         cout<<"Дециметр"<<endl;
         break;
     }
     case 2: {
         cout<<"Километр"<<endl;
         break;
     }
     case 3: {
         cout<<"Метр"<<endl;
         break;
     }
      case 4: {
         cout<<"Миллиметр"<<endl;
         break;
    }
    
     }
}
 
 
double find(int i,double v) {
    if ( (i<1)||(i>5) ) {
        throw std::range_error("number of day should be in a range [1, 5]");
    }
     dlina a=static_cast<dlina>(i); 
 
     switch(a) {
     case 1: 
         return v/10;
     case 2: 
         return v*1000;
     case 3: 
         return v;
     case 4: 
         return v/1000;
     case 5:
         return v/100;
     }
}
main4.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <locale>
#include "part4.h"
 
using namespace std;
 
int main() {
    std::locale::global(std::locale(""));
    int i;
    double v;
    cout<<"Введите номер единицы длины (1-5) и значение этой длины "<<endl;
    cin>>i>>v;
    cout<<"Исходная длина ";
    printdlina(i);
    cout<<" Значение = "<<v;
    cout<<" После перевода в метры значение  = "<<find(i,v)<<endl;
    system("pause");
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru