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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.02.2011, 14:57   #1
khorolpavel
Пользователь
 
Регистрация: 15.12.2009
Сообщений: 25
По умолчанию Помогитe блок вложенных циклов(Pascal) заменить case в C++

Код:
if (d>=1) and (d<=14) then
begin
if (d=1) then  s:='метров' else if  (d=2) then s:='вершков'
else if  (d=3) then s:='аршинов' else if  (d=4) then s:='саженей'
else if  (d=5) then s:='пядей' else if  (d=6) then s:='верст'
else if  (d=7) then s:='дюймов' else if  (d=8) then s:='футов'
else if  (d=9) then s:='ярдов' else if  (d=10) then s:='миль'
else if  (d=11) then s:='миллиметров' else if  (d=12) then s:='сантиметров'
else if  (d=13) then s:='дециметров' else s:='километровы';
clrscr;
k:=(a[p]/a[d])*z;
writeln(k,' ',s);
end;

Последний раз редактировалось Stilet; 20.02.2011 в 15:28.
khorolpavel вне форума Ответить с цитированием
Старый 20.02.2011, 15:27   #2
kaljan775
:D
Форумчанин
 
Аватар для kaljan775
 
Регистрация: 26.09.2010
Сообщений: 570
По умолчанию

Код:
if ((d>=1) && (d<=14)){
	switch(d){
		case 1: s="метров';
			break;
		case 2: s="вершков";
			break;
		case 3: s="аршинов";
			break;
		case 4:	s="саженей";
			break;
		case 5: s="пядей";
			break;
		case 6: s="верст";
			break;
		case 7: s="дюймов"; 
			break;
		case 8: s="футов";
			break;
		case 9: s="ярдов";
			break;
		case 10: s="миль";
			break;
		case 11: s="миллиметров";
			break;
		case 12: s="сантиметров"'
			break;
		case 13: s="дециметров";
			break;
		default: s="километровы";
			break;
	}
	clrscr();//очистить экран
	k=(a[p]/a[d])*z;
	cout<<k<<' '<<s;
}
только учтите что у вас должна быть объявлена библиотека <conio.h>, <string>, и переменная s должна быть типа string
Пишу ПО, создаю сайты, делаю курсовые работы, за деньги
C#, .NET, MS SQL, AngularJS, HTML, jQuery
kaljan775 вне форума Ответить с цитированием
Старый 20.02.2011, 15:30   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
switch(d){
 1:s="метров" ;break;
 2:s="вершков";break;
...
 2:s="дециметров";break;
 default:s="километровы";

}
понятно?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 20.02.2011, 15:38   #4
khorolpavel
Пользователь
 
Регистрация: 15.12.2009
Сообщений: 25
По умолчанию

А зачем два && ставить, если с одним тоже работает?
khorolpavel вне форума Ответить с цитированием
Старый 20.02.2011, 15:39   #5
Hemul
Форумчанин
 
Регистрация: 03.10.2010
Сообщений: 321
По умолчанию

&& логическое и
& побитовое и
Hemul вне форума Ответить с цитированием
Старый 20.02.2011, 15:46   #6
khorolpavel
Пользователь
 
Регистрация: 15.12.2009
Сообщений: 25
По умолчанию

Не знаю, почему-то пишет ошибки, string не нравится, чаром никак заменить нельзя?
khorolpavel вне форума Ответить с цитированием
Старый 20.02.2011, 16:11   #7
kaljan775
:D
Форумчанин
 
Аватар для kaljan775
 
Регистрация: 26.09.2010
Сообщений: 570
По умолчанию

если делаете
Код:
char s[30];
к примеру
то вместо = надо писать
Код:
strcpy(s,"<словецки>");
Пишу ПО, создаю сайты, делаю курсовые работы, за деньги
C#, .NET, MS SQL, AngularJS, HTML, jQuery
kaljan775 вне форума Ответить с цитированием
Старый 20.02.2011, 16:34   #8
khorolpavel
Пользователь
 
Регистрация: 15.12.2009
Сообщений: 25
По умолчанию

Все замечательно, но вот новая прблема: вместо русских слов выводятся непонятные значки.

По такому принципу я перевожу переменную на русский язык, используя библиотеку <windows.h>

char g3[] = "Аршин - 3\n";
CharToOem(g3,g3);

А как быть с переменной s?

Последний раз редактировалось khorolpavel; 20.02.2011 в 16:37.
khorolpavel вне форума Ответить с цитированием
Старый 20.02.2011, 16:38   #9
kaljan775
:D
Форумчанин
 
Аватар для kaljan775
 
Регистрация: 26.09.2010
Сообщений: 570
По умолчанию

Код:
setlocale(0,"Rus");
SetConsoleOutputCP(1251);//вариативно
SetConsoleCP(1251);//вариативно
Пишу ПО, создаю сайты, делаю курсовые работы, за деньги
C#, .NET, MS SQL, AngularJS, HTML, jQuery
kaljan775 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Блок-схема и оператор case (swich) SunKnight Свободное общение 13 20.03.2011 14:42
Программирование вложенных циклов vanek1 Помощь студентам 2 28.11.2010 12:11
Блок-схема...(case of) 3 задачи в одной... PaScalpel Помощь студентам 2 23.10.2010 05:12
с использованием вложенных циклов вкусняшка Помощь студентам 4 31.03.2009 17:22
переменное число вложенных циклов Evil Sun Общие вопросы C/C++ 4 31.03.2009 09:59