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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.02.2011, 23:56   #1
Alexander1205
Пользователь
 
Аватар для Alexander1205
 
Регистрация: 22.01.2011
Сообщений: 78
По умолчанию bin_dec_hex

Доброго всем времени суток! Написал прогу по переводу чисел из двоичной системы в десятеричную и наоборот,но нужно "допилить ее напильником" и отобразить перевод из десятеричной в шестнадцатиричную через меню.Благодарен всем,кто подскажет.
Код:
#include<iostream>
#include<conio.h>
using namespace std;
void bin();
void dec();

void main()
{
	setlocale(0,"rus");
	char variant;
	do{
		cout<<" Вариант 1 - перевод числа из двоичной в десятичную форму\n";
		cout<<" Вариант 2 - перевод числа из десятичной в двоичную форму\n";
		cout<<" Выберите варианты : 1,2\n>";
		variant=getch();
		switch(variant){
		case'1':bin();
			break;
		case'2':dec();
			break;
		default:
			cout<<" Неизвестно !\n";
			getch();
		}
	}while(variant=='1'||variant=='2');
}
void bin(){
	int i=0,mas[100],chislo=0,rest=0,res;
	cout<<" Введите десятичное число \n>";
	cin>>chislo;
	do{
		res=chislo/2;
		rest=chislo%2;
		mas[i]=rest;
		chislo=res;
		i++;
	}
	while(res>=2);
	cout<<" Двоичное число = "<<res;
	for(int c=0;c<i;c++){
		cout<<mas[c];
	}
	cout<<"\n\n";
}
void dec(){
	int sum=0,chislo=0,c=0;
	cout<<" Введите двоичное число :\n";
	cin>>chislo;
	while(chislo!=0){
		sum+=chislo%10*pow(2.0,c);
		chislo=chislo/10;
		c++;
	}
	cout<<" Десятичное число = "<<sum<<"\n";
	cout<<"\n\n";
}

Последний раз редактировалось Stilet; 25.02.2011 в 10:44.
Alexander1205 вне форума Ответить с цитированием
Старый 25.02.2011, 02:09   #2
Obey-Kun
Линуксоид
Участник клуба
 
Аватар для Obey-Kun
 
Регистрация: 31.07.2009
Сообщений: 1,403
По умолчанию

Цитата:
void main()
исправь на int main(), а то так нельзя писать.
Я схожу с ума или это глючит реальность?
Jabber ID: obey@obey.su
Obey-Kun вне форума Ответить с цитированием
Старый 25.02.2011, 02:46   #3
revaldo666
Форумчанин
 
Регистрация: 24.06.2010
Сообщений: 251
По умолчанию

Цитата:
Сообщение от Obey-Kun Посмотреть сообщение
исправь на int main(), а то так нельзя писать.
почему так нельзя писать??

Это не ява и не пхп там где есть строгие стандарты,
майкрософт на эти стандарты забили...и сделали по своему.
такчто воид маин допускается для платформ виндовс.
revaldo666 вне форума Ответить с цитированием
Старый 25.02.2011, 02:52   #4
Obey-Kun
Линуксоид
Участник клуба
 
Аватар для Obey-Kun
 
Регистрация: 31.07.2009
Сообщений: 1,403
По умолчанию

Потому что C++ - это кроссплатформенный язык, и если уж писать на нём код, до пусть он будет переносимым. Писать не по стандартам - как минимум плохой тон.
Алсо, не в каждом компиляторе для windows оно соберётся. ОС вообще роли не играет.

Цитата:
Это не ява и не пхп там где есть строгие стандарты,
Офигеть. "В C++ нет строгих стандартов". Так и запишем.
Я схожу с ума или это глючит реальность?
Jabber ID: obey@obey.su
Obey-Kun вне форума Ответить с цитированием
Старый 25.02.2011, 09:55   #5
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,707
По умолчанию

Цитата:
майкрософт на эти стандарты забили...и сделали по своему.
Не совсем, в последнее время двигаются в нормальную сторону.
p51x вне форума Ответить с цитированием
Старый 25.02.2011, 10:46   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
отобразить перевод из десятеричной в шестнадцатиричную
Извиняюсь, а функция типа itoa() запрещена?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 25.02.2011, 11:26   #7
Ru_DoLF
Ubuntu 10.04
Пользователь
 
Аватар для Ru_DoLF
 
Регистрация: 15.07.2010
Сообщений: 51
По умолчанию

Цитата:
Это не ява и не пхп там где есть строгие стандарты
В пхп особенно!!
Цитата:
майкрософт на эти стандарты забили
Кто сказал что он пишет в MSVS?
P.S. А писать так нельзя потому что в этом случае стаб не получит информации о том как завершилась программа.
Язык образует среду мышления и формирует представление о том, о чем мы думаем (Б. Л. Уорф)
Ru_DoLF вне форума Ответить с цитированием
Ответ


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