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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Динар Габбасов
Заблокирован
#1

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

25.12.2011, 23:48. Просмотров 476. Ответов 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])
исправил на , но все равно проблема осталось
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.12.2011, 23:48     программа которая переводит введенные числа в буквенную начертанию (надо немного исправить)
Посмотрите здесь:

Программа, которая переводит числа в слова C++
Программа которая выводит на экран геометрическую фигуру(исправить) C++
Программа которая выводит на экран геометрическую фигуру(исправить) C++
Программа, которая отправляет данные, введенные в нее C++
Написать программу, которая переводит числа по основанию 8 в 4. Выполнить операцию деления C++
C++ Программа которая переводит из 2ой системы в 10ую
C++ Составить рекурсивной функции, которая переводит числа из десятичной системы счисления в шестнадцатилетнюю
Не компилится программа, которая переводит градусы Цельсия по Фарангейту и наоборот C++
Программа на C++, которая переводит цветовую модель RGB в модель HSV C++
C++ Программа которая переводит дюймы в сантиметры и сантиметры в дюймы. В чем ошибка?
Написать программу, которая переводит числа с шестнадцатеричной системы в десятичную C++
Программа, которая запрашивает у пользователя 6-буквенную строку C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
fantompg
5 / 5 / 0
Регистрация: 22.11.2011
Сообщений: 86
01.10.2012, 16:04     программа которая переводит введенные числа в буквенную начертанию (надо немного исправить) #2
Подниму темку
Yandex
Объявления
01.10.2012, 16:04     программа которая переводит введенные числа в буквенную начертанию (надо немного исправить)
Ответ Создать тему
Опции темы

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