Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.01.2010, 18:20   #1
ya.kudr
 
Регистрация: 14.01.2010
Сообщений: 7
По умолчанию перевод из символьного в числовой

скажите пожалуйста как перевести из unsigned char в число...код выглядит примерно так
Код:
#include "stdafx.h"
#include <iostream>
#include <conio.h>
#include <math.h>
using namespace::std;
class money
{
public:
	long x,y,q;
	unsigned char a,b,w;
	int summ();
}NN;
int money::summ()
{
	cout<<"vvedite rub."<<endl;
	cin>>x;
	cout<<"vvedite kopeiki"<<endl;
	cin>>a;
	cout<<"coli4 rub pribavit"<<endl;
	cin>>y;
	cout<<"col-vo cop."<<endl;
	cin>>b;
	q=x+y;
	w=a+b;
	cout<<"rub "<<q<<endl;
	cout<<"cop "<<w<<endl;
	_getch();
	return 0;
}
int _tmain(int argc, _TCHAR* argv[])
{ 
	NN.summ();
	_getch();
	return 0;
}
мне надо чтобы он выводил не букву а число...
ya.kudr вне форума Ответить с цитированием
Старый 14.01.2010, 18:22   #2
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

можно приведением к int
Код:
cout << (int)a;
netrino вне форума Ответить с цитированием
Старый 14.01.2010, 18:27   #3
ya.kudr
 
Регистрация: 14.01.2010
Сообщений: 7
По умолчанию

спасибо)))только боюсь не подойдет

суть в том что это будут копейки и их надо будет прибавить к рублям через запятую

Последний раз редактировалось MaTBeu; 14.01.2010 в 19:13.
ya.kudr вне форума Ответить с цитированием
Старый 14.01.2010, 18:38   #4
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

Так может, просто вводите рубли (rubl), вводите копейки (kop). Потом:
Код:
double rubl2 = rubl + 0.01 * kop;
И потом работаете с этими новыми дробными рублями!
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума Ответить с цитированием
Старый 14.01.2010, 18:51   #5
ya.kudr
 
Регистрация: 14.01.2010
Сообщений: 7
По умолчанию

в условии четко определено что рубли должны быть long, а копейки unsigned char...так что вот
ya.kudr вне форума Ответить с цитированием
Старый 14.01.2010, 19:07   #6
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

Тогда попробуйте использовать функцию atoi (stdlib.h). Правда, она принимает в качестве аргумента const char*, так что хорошо бы явно преобразовать char в unsigned char.
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума Ответить с цитированием
Старый 14.01.2010, 19:12   #7
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

Цитата:
Сообщение от ya.kudr Посмотреть сообщение
в условии четко определено что рубли должны быть long, а копейки unsigned char...так что вот
Я не понял, а чем не подходит предложенный мною вариант?
Код:
long rub = 1000;
unsigned char coins = 54;

cout << rub << ',' << (int)a;
Или проблема в другом?
netrino вне форума Ответить с цитированием
Старый 14.01.2010, 19:22   #8
ya.kudr
 
Регистрация: 14.01.2010
Сообщений: 7
По умолчанию

а как вводить числа???
ya.kudr вне форума Ответить с цитированием
Старый 14.01.2010, 20:09   #9
ya.kudr
 
Регистрация: 14.01.2010
Сообщений: 7
Вопрос

Цитата:
Сообщение от netrino Посмотреть сообщение
Я не понял, а чем не подходит предложенный мною вариант?
Код:
long rub = 1000;
unsigned char coins = 54;

cout << rub << ',' << (int)a;
Или проблема в другом?
только он не переводит а берет свои...то есть например вместо 9-> он берет 57...
ya.kudr вне форума Ответить с цитированием
Старый 14.01.2010, 20:16   #10
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

ну тогда нельзя, для типа char методы форматированного ввода/вывода перегружены брать символы, а не числа. Как вариант:
Код:
unsigned int temp_coins;
unsigned char coins;

cin >> temp_coins;
coins = temp_coins;
Или( но лучше не надо )
Код:
std::istream& operator>> (std::istream& in, unsigned char& c)
{
	unsigned int n;
	in >> n;
	c = n;
	return in;
}
netrino вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Написать программу которая для заданного символьного ряда подсчитывает количество слов! komarvl Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 4 11.12.2009 01:42
Преобразование текста в числовой код Krax Помощь студентам 11 28.03.2009 00:02
Преобразовать текст в числовой olimpus Microsoft Office Excel 17 12.11.2008 07:58
Числовой формат файла Mylady1985 Помощь студентам 4 31.01.2008 12:08
суммы членов числовой последовательности tonic Microsoft Office Excel 2 04.01.2008 00:24