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

инициализация значений - C++

Восстановить пароль Регистрация
 
Mr. Pyatachok
 Аватар для Mr. Pyatachok
8 / 8 / 0
Регистрация: 30.06.2011
Сообщений: 250
03.03.2012, 21:52     инициализация значений #1
Всем привет!
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
#include<iostream.h>
#include<conio.h>
#include<windows.h>
#include<math.h>
#include<string>
 
class Money
{
        private:
    long rub;           //long int
    unsigned char cop;
        public:
    void Init(long i_rub,unsigned char i_cop);
};
 
void Money::Init(long i_rub, unsigned char i_cop)
{
    i_rub=rub;
    i_cop=cop;
    cout<<"Инициализация значений: "<<i_rub<<" "<<i_cop<<endl;
}
 
 
 
int main()
{
    Money money;
 
    money.Init(21,12);
    
    getch();
    return 0;
}
А правильно ли все работает?
Проверьте пожалуйста, заранее всем спасибо
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.03.2012, 21:52     инициализация значений
Посмотрите здесь:

Инициализация массива C++
C++ Создание и инициализация
C++ Инициализация вектора
инициализация C++
Инициализация указателей C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
R136a1
 Аватар для R136a1
142 / 111 / 15
Регистрация: 14.04.2011
Сообщений: 261
03.03.2012, 22:05     инициализация значений #2
не проще ли через конструктор?
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
#include <iostream>
 
class Money
{
                private:
        long rub;                       //long int
        unsigned char cop;
                public:
        Money(long,unsigned );
};
 
Money::Money(long i_rub, unsigned i_cop)
{
        rub = i_rub;
        cop = i_cop;
        std::cout<<"Инициализация значений: "<<i_rub<<" "<<i_cop<<std::endl;
}
 
 
 
int main()
{
        Money money(21L,12);
        return 0;
}
Добавлено через 1 минуту
почему i_cop вы объявляете как char кстати?
Mr. Pyatachok
 Аватар для Mr. Pyatachok
8 / 8 / 0
Регистрация: 30.06.2011
Сообщений: 250
03.03.2012, 22:30  [ТС]     инициализация значений #3
по заданию написано просто инициализировать, а что, через char неправильно?
R136a1
 Аватар для R136a1
142 / 111 / 15
Регистрация: 14.04.2011
Сообщений: 261
03.03.2012, 22:34     инициализация значений #4
Цитата Сообщение от Mr. Pyatachok Посмотреть сообщение
по заданию написано просто инициализировать
через конструктор и инициализировали
Цитата Сообщение от Mr. Pyatachok Посмотреть сообщение
а что, через char неправильно?
если вы собираетесь хранить в i_cop символ, то правильно. Если число, то нет.
Mr. Pyatachok
 Аватар для Mr. Pyatachok
8 / 8 / 0
Регистрация: 30.06.2011
Сообщений: 250
03.03.2012, 22:44  [ТС]     инициализация значений #5
вообще-то я собираюсь хранить символ,а вот перевод другое дело
ValeryS
Модератор
6376 / 4842 / 443
Регистрация: 14.02.2011
Сообщений: 16,045
03.03.2012, 22:48     инициализация значений #6
Цитата Сообщение от R136a1 Посмотреть сообщение
Сообщение от Mr. Pyatachok
а что, через char неправильно?
если вы собираетесь хранить в i_cop символ, то правильно. Если число, то нет.
с какого перепугу unsigned char значение 0 - 255 а копеек то всего 0-99 в диапазон влазим
другое дело что экономии памяти скорее всего не получится память выравняется на 4 байта (если мы про Intel pentium и Windows) посему используй что int что char размер класса будет один

Добавлено через 41 секунду
Цитата Сообщение от Mr. Pyatachok Посмотреть сообщение
вообще-то я собираюсь хранить символ
символ чего???
тогда уж строку
Mr. Pyatachok
 Аватар для Mr. Pyatachok
8 / 8 / 0
Регистрация: 30.06.2011
Сообщений: 250
03.03.2012, 22:51  [ТС]     инициализация значений #7
Раз про перевод заговорили, то подскажите пожалуйста, как при вводе через одну функцию (и в этой же функции перевод) работать с рпеобразованным значением?
Или предложите альтернативу, а то я, может быть, и не прав
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
#include<iostream.h>
#include<conio.h>
#include<windows.h>
#include<math.h>
#include<string>
 
class Money
{
        private:
    long rub;           //long int
    unsigned char cop;
        public:
    void Read();
    void Init(long i_rub,unsigned char i_cop);
};
 
void Money::Init(long i_rub, unsigned char i_cop)
{
    rub=i_rub;
    cop=i_cop;
    cout<<"Инициализация значений: "<<i_rub<<" "<<i_cop<<endl;
}
 
void Money::Read()
{
    float number;
 
    cin>>number;
    int(rub)=(int)number;
    int(cop)=floor((100*(number-rub))+0.5);
 
    cout<<rub<<endl;
    cout<<cop;
}
 
int main()
{
    Money money;
 
    money.Init(21,48);
    money.Read();
 
    getch();
    return 0;
}
Gepar
 Аватар для Gepar
1173 / 529 / 20
Регистрация: 01.07.2009
Сообщений: 3,511
03.03.2012, 22:51     инициализация значений #8
Цитата Сообщение от ValeryS Посмотреть сообщение
символ чего???
Ну вероятно символ валюты же
r - рубль
d - долЯр
b - "зайчики"
Mr. Pyatachok
 Аватар для Mr. Pyatachok
8 / 8 / 0
Регистрация: 30.06.2011
Сообщений: 250
03.03.2012, 22:54  [ТС]     инициализация значений #9
да символ неизвестного (хоть чего, без разницы), по заданию автор ничего про это не упомянул, да и черт с ним, для этого случая я if напишу
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.03.2012, 22:55     инициализация значений
Еще ссылки по теме:

инициализация объекта C++
Инициализация и вывод значений массива C++
C++ Инициализация класса, возврат значений

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

Или воспользуйтесь поиском по форуму:
ValeryS
Модератор
6376 / 4842 / 443
Регистрация: 14.02.2011
Сообщений: 16,045
03.03.2012, 22:55     инициализация значений #10
Цитата Сообщение от Gepar Посмотреть сообщение
Ну вероятно символ валюты же
ты вообще объявления класса читал
Цитата Сообщение от Mr. Pyatachok Посмотреть сообщение
long rub; //long int
unsigned char cop;
rub рубли
cop копейки
где здесь символ валюты??
Yandex
Объявления
03.03.2012, 22:55     инициализация значений
Ответ Создать тему
Опции темы

Текущее время: 12:43. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru