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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Дан текстовый файл. Вывести все слова, начинающиеся с заданной буквы http://www.cyberforum.ru/cpp-beginners/thread417505.html
Дан текстовый файл. Вывести все слова, начинающиеся с заданной буквы (к примеру "а"). Составить программу на C++. Заранее благодарю.
C++ [C++] Дан массив из n слов произвольной длины До шести утра нужно решить задачу: Дан массив из n слов произвольной длины (длина слова не рпевышает 80 символов). В качестве символов могут использоваться только арабские цифры . Удалить из массива слово , содержащее наименьшее количество четных цифр. http://www.cyberforum.ru/cpp-beginners/thread417491.html
Как работает программа C++
Поясните пожаль что и для чего в этой программе ? и что за что отвечает заранее спасибо #include "stdafx.h" #include <iostream> using namespace std; void user_func(int arr, int size) { int i,n,t = 0,p = 0,c = 0; for(i = 0; i < size; i++)
C++ Модульное программирование. Подпрограммы.
#include <stdio.h> #include <conio.h> #define n 7 int kol (не понимаю, что суда писать) { int l; if(h!=0) {t=0; while(h!=0){l=h%2; h=h/2; if(l==1)t=t+1;};}; return 1;}
C++ оператор if http://www.cyberforum.ru/cpp-beginners/thread417463.html
В небоскребе N этажей и всего один подъезд; на каждом этаже по 3 квартиры; лифт может останавливаться только на нечетных этажах. Человек садится в лифт и набирает номер нужной ему квартиры М. На какой этаж должен доставить лифт пассажира?
C++ Задача про водопровод Город Восточный постоянно страдает от недостатка воды. Для устранения этой проблемы была построена новая водопроводная труба. Строительство трубы началось с обоих концов одновременно, и спустя некоторое время половины соединились. Ну, почти. Первая половина трубы заканчивалась в точке (x1, y1), а вторая - в точке (x2, y2). К сожалению, осталось лишь несколько отрезков трубы различной длины.... подробнее

Показать сообщение отдельно
Динар Габбасов
Заблокирован

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

25.12.2011, 23:48. Просмотров 479. Ответов 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])
исправил на , но все равно проблема осталось
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru