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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.71
marina2
Рожденная для битвы
272 / 50 / 5
Регистрация: 08.11.2009
Сообщений: 1,022
#1

enum: цифры - C++

24.07.2011, 14:01. Просмотров 1797. Ответов 25
Метки нет (Все метки)

А можно в перечислениях использовать цифры?
Например:
C++
1
enum chislo {1, 2, 3, 4}
(только так не работает)

Просто есть файл, там записано длинное число, и каждую циферку нужно записать в ячейку массива...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.07.2011, 14:01
Здравствуйте! Я подобрал для вас темы с ответами на вопрос enum: цифры (C++):

Enum == int !=enum? - C++
enum Flags{ Flag1 = 1, Flag2 = 2}; int main() { Flags a = Flag1, b = Flag2; a = a | b; } error C2440: =: невозможно...

Enum - C++
Доброго времени суток Интересует что значит следующий код: enum Colors { RED, GREEN, BLUE };

enum - C++
всем здрасти, помогите разобраться с функцией enum к примеру есть код enum direction { RIGHT = 0x1, LEFT = 0x2, UP ...

enum - C++
#include <iostream> using std::cout; using std::endl; enum {red, green, blue}; int main() { cout<<sizeof(red)<<endl; ...

enum - C++
есть (в header.h) enum valut{dol, grn ,rub}; в другом cpp функция convert(valut v) . В еще другом файле функция main , оглашение int v , ...

enum - C++
enum alfa{a,b,c,d,e,f,g,h,i,k,l,m,n,o,p,q,r,s,t,v,x,y,z}; for(int i=strlen(text);i>=0;i--) { if(isalnum((unsigned char)text)) ...

25
grizlik78
Эксперт С++
1956 / 1449 / 115
Регистрация: 29.05.2011
Сообщений: 3,007
24.07.2011, 14:27 #16
Цитата Сообщение от marina2 Посмотреть сообщение
Всё-таки char это целочисленный тип.
Можете подробней, не очень догоняю(
Что именно? Что char это такой же тип, как и int, только с минимально возможным размером, неопределённой "знаковостью" и особой интерпретацией при вводе/выводе?
0
marina2
Рожденная для битвы
272 / 50 / 5
Регистрация: 08.11.2009
Сообщений: 1,022
24.07.2011, 14:27  [ТС] #17
Цитата Сообщение от Mиxaил Посмотреть сообщение
marina2, используем его порядковый номер в таблице ASCII с небольшим изменением ( - 48 )
Только это имелось в виду? А то я удивилась
0
Mиxaил
533 / 438 / 37
Регистрация: 10.12.2009
Сообщений: 1,857
24.07.2011, 14:29 #18
marina2, ну да, тут все просто =)
1
LosAngeles
Заблокирован
24.07.2011, 14:37 #19
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
enum Alert { green, yellow, election, red }; // traditional enum
 
    enum class Color { red, blue };   // scoped and strongly typed enum
                                      // no export of enumerator names into enclosing scope
                                      // no implicit conversion to int
    enum class TrafficLight { red, yellow, green };
 
    Alert a = 7;              // error (as ever in C++)
    Color c = 7;              // error: no int->Color conversion
 
    int a2 = red;             // ok: Alert->int conversion
    int a3 = Alert::red;      // error in C++98; ok in C++0x
    int a4 = blue;            // error: blue not in scope
    int a5 = Color::blue;     // error: not Color->int conversion
 
    Color a6 = Color::blue;   // ok
C++
1
2
3
4
5
6
7
8
9
enum class Color : char { red, blue };  // compact representation
 
    enum class TrafficLight { red, yellow, green };  // by default, the underlying type is int
 
    enum E { E1 = 1, E2 = 2, Ebig = 0xFFFFFFF0U };   // how big is an E?
                                                     // (whatever the old rules say;
                                                     // i.e. "implementation defined")
 
    enum EE : unsigned long { EE1 = 1, EE2 = 2, EEbig = 0xFFFFFFF0U };   // now we can be specific
0
Gepar
1177 / 533 / 20
Регистрация: 01.07.2009
Сообщений: 3,517
24.07.2011, 14:41 #20
Mиxaил, да marina2 по-моему сама не знает чего хочет.
На всякий случай чтобы каждая циферка уходила в массив (с рассчётом что файл не бинарный, а обычный txt):
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
#include <iostream>
#include <fstream>
 
using namespace std;
 
int main()
{
    ifstream file("file.txt");
    char c;
    file.seekg(0,ios::end);
    const int size=file.tellg();
    int array[size];
    int i=0;
    file.seekg(0);
 
    while(!(file.eof()))
    {
        file>>c;
        array[i]=c-48;
        i++;
 
    }
 
    for (int i=0;i<size;i++)
     cout<<array[i]<<' ';
    return 0;
 
}
0
marina2
Рожденная для битвы
272 / 50 / 5
Регистрация: 08.11.2009
Сообщений: 1,022
24.07.2011, 14:50  [ТС] #21
Цитата Сообщение от Gepar Посмотреть сообщение
Mиxaил, да marina2 по-моему сама не знает чего хочет.
Знаю, но просто хотела с перечислениями попробывать
0
Gepar
24.07.2011, 15:02
  #22

Не по теме:

marina2, так зачем же перечислять то что и так уже есть (числа)
Вы бы ещё вот так попробовали:

C++
1
enum f{class,int,double,while};

0
accept
4822 / 3243 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
25.07.2011, 05:56 #23
Цитата Сообщение от marina2
Знаю, но просто хотела с перечислениями попробывать
C
1
2
3
4
5
enum { ODIN = 1, DVA, TRI };
 
...
 
    printf("%d %d %d\n", ODIN, DVA, TRI);
0
Mиxaил
533 / 438 / 37
Регистрация: 10.12.2009
Сообщений: 1,857
26.07.2011, 00:51 #24
accept, так не пойдет для задания:

Цитата Сообщение от marina2 Посмотреть сообщение
Просто есть файл, там записано длинное число, и каждую циферку нужно записать в ячейку массива...

Не по теме:

этот ужасный ТРАНСЛИТ

0
accept
4822 / 3243 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
26.07.2011, 01:47 #25
C
1
2
3
4
5
6
    int arr[100], asize;
    
    for (asize = 0;
         asize < 100 && fscanf(ifp, "%1d", arr + asize) == 1;
         asize++)
        ;
0
easybudda
Модератор
Эксперт CЭксперт С++
9663 / 5613 / 952
Регистрация: 25.07.2009
Сообщений: 10,776
26.07.2011, 05:44 #26
школьный быдлокод
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
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
 
#define MAX_NUMBER_LENGTH 100
#define FILE_NAME "number.txt"
 
int main(void){
    FILE * f;
    int ch, len, i, digits[MAX_NUMBER_LENGTH];
 
    if ( ! ( f = fopen(FILE_NAME, "r") ) ){
        perror("fopen");
        exit(1);
    }
 
    for ( len = 0; len < MAX_NUMBER_LENGTH && ( ch = fgetc(f) ) != EOF && isdigit(ch); ++len )
        digits[len] = ch - '0';
 
    fclose(f);
    
    if ( ! len ){
        fprintf(stderr, "Can't read number from file!\n");
        exit(1);
    }
 
    for ( i = 0; i < len; ++i )
        printf("%d", digits[i]);
    printf("\n");
        
    exit(0);
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.07.2011, 05:44
Привет! Вот еще темы с ответами:

enum - C++
enum __Enumm { A a; B b; C c; }; Пишет ошибку. Объясните, пожалуйста, как правильно и как работать с enum'ами?

enum - C++
Ку! Имеется некое множество enum SomeSet { elem_1, elem_2, elem_3, // ... }; Это множество активно...

Даны цифры двух двузначных чисел. Получить цифры суммы - C++
Даны цифры двух двузначных чисел, записываемых в виде а2а1 и b2 b1, где а1 и b1— число единиц, а2 и b2 — число десятков Получить цифры...

Замена последней цифры на значение наименьшей цифры в записи числа N - C++
Ошибка в задании Условие:Дано натуральное число N. Получить новое число М, которое образуется из числа N путем замены последней цифры на...


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

Или воспользуйтесь поиском по форуму:
26
Yandex
Объявления
26.07.2011, 05:44
Ответ Создать тему
Опции темы

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