Заблокирован
1

программа которая переводит введенные числа в буквенную начертанию (надо немного исправить)

25.12.2011, 23:48. Показов 1205. Ответов 1
Метки нет (Все метки)

Уважаемые программисты, помогите исправить программу, программа должна введенное с клавиатуры число переводить в письменное начертание, Например: пишем 254 выводит "dvesti pyatdesyat 4etire"
Я составил программу но она почему то не правильно работает, точнее вообще не находит ничего, не могли бы объяснить в чем проблема или помочь доработать программу, всем заранее благодарен.
Код
#include "stdafx.h"
#include <iostream>
using namespace std;

int main ( )
{ //char *k[9]={"sto","dvesti","3","4","5" ,"6","7","8","9"};
 char *s[19][15]=
 {
	{"null","odin","dva","try","4etire" ,"pyat","shest","sem","vosem","devat"},
	{"desyat","odinadcat","dvenadcat"," trindcat","4etirnadcat","pyatnadcat ",
	 "shistnadcat","simnadcat","vosemnad cat","deviatnadcat"},
	{"dvadcat"},
	{"tridcat"},
	{"sorok"},
	{"piatdeciat"},
	{"shestdeciat"},
	{"semdeiat"},
	{"vosemdeciat"},
	{"devianosto"},
	{"sto"},
	{"dvesti"},
	{"tristo"},
	{"4etiristo"},
	{"pyatsot"},
	{"shestsot"},
	{"semsot"},
	{"vosemsot"},
	{"devyatsot"}
 };

 for(int x=2;x<10;x++)
	for(int y=1;y<10;y++)
	{
		s[x][y]=s[0][y];
	}
	printf("vvedite 4islo v deapozone ot 1 do 999 :");
	int i=0;
	while (i);
	{
		scanf("%d",&i);
		if(i<37)
		{
			if(i<29)
			{ 
				if (i<20)
				{
					if (i<10) printf("%s",s[0]);
					else 
					{
						if(i>=10 && i<20) printf("%s",s[1][i%10]);
					}
				}
				else 
				{
					if((i%10)==0) printf("%s",s[i/10][0]);
					else {printf("%s %s\n",s[i/10][0],s[i/10][i%10]);
					}
				}
			}
			else
			{
				if((i%100)==0) printf("%s",s[i/100+9][0]);
				else 
				{
					if ((i%10)==0) printf ("%s %s", s[i/100+9][0],s[i/10][0]);
					else
					{
						printf ("%s %s %s",s[i/100+9][0],s[i/10][0],s[i/10][i%10]);
					}
				}
			}
		}
		else {printf ("error!\n");}
	}
 system("pause");
 return 0;
}
Добавлено через 33 минуты
Цитата Сообщение от Динар Габбасов Посмотреть сообщение
while (i); { scanf("%d",&i); if(i<999) { if(i<99) { if (i<20) { if (i<10) printf("%s",s[0])
исправил на , но все равно проблема осталось
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.12.2011, 23:48
Ответы с готовыми решениями:

Программа, которая переводит числа в слова
Здрасти всем. Есть код: #include &lt;conio.h&gt; #include &lt;stdio.h&gt; #include &lt;iostream&gt; #include...

Программа, которая запрашивает у пользователя 6-буквенную строку
Напишите программу, которая запрашивает у пользователя 6-буквенную строку, а затем выводит на экран...

Программа, которая переводит числа из 10 системы в другие
Программа, которая переводит числа из 10 системы в другие. Мы прошли while, for. Как-то замудрено...

Программа которая переводит из 16-ую в 10-ую с.с.
Здравствуйте, помогите плиз. Эта программа переводит десятичное число в шестнадцатеричное...

1
5 / 5 / 0
Регистрация: 22.11.2011
Сообщений: 85
01.10.2012, 16:04 2
Подниму темку
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.10.2012, 16:04
Помогаю со студенческими работами здесь

Программа которая переводит из 2ой системы в 10ую
Создать программу которая переводит из двоичной системы в десятичную. P.S вообще то я знаю как...

Программа, которая переводит число из 2-й системы счисления в 16-ую
Программа, которая переводит число из 2-й системы счисления в 16-ую.

Не компилится программа, которая переводит градусы Цельсия по Фарангейту и наоборот
Это 2 моя прога, первая была простая которая выводила Hello World так что не судите если код...

Программа, которая отправляет данные, введенные в нее
Я С++ только начал изучать, но хотелось узнать, возможно ли сделать программу, которая отправляет...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru