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

перевод из числа в прописной вид не массив - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Шаблонный класс, принимающий InputIterators в конструкторе http://www.cyberforum.ru/cpp-beginners/thread772944.html
Есть Stack.h #ifndef _STACK_H_ #define _STACK_H_ #include <cstddef> #include <iterator> template <class T> class Stack { public:
C++ Определить количество натуральных трехзначных чисел, сумма цифр которых равна заданному числу N 1. Определить количество натуральных трехзначных чисел, сумма цифр которых равна заданному числу N. http://www.cyberforum.ru/cpp-beginners/thread772925.html
C++ сумма элементов ряда
http://imghost.tambovnet.org/thumbs/f49a6abc43ed3f52cde40d5913765d56.jpg
Как запретить вызов конструктора 2-ой раз C++
Как можно сделать чтобы конструктор не вызывался 2-раз #include <iostream> #include "Model.h" int main() {
C++ Программирование матричных операций. Упорядочить элементы первой половины вектора X по возрастанию абсолютных значений http://www.cyberforum.ru/cpp-beginners/thread772876.html
Разработать алгоритм и программу на языке С++ решения следующих взаимосвязанных задач: 1) рассчитать элементы квадратной матрицы A = (aij ), i,j = 0,1,2,...,n-1 по заданной формуле; 2) сформировать из матрицы A элементы вектора X = (xi), i = 0,1,2,...,n-1 по заданному правилу; 3) провести заданное упорядочение элементов матрицы А или вектора Х. 3) упорядочить элементы первой...
C++ Code Blocks и OpenCV подскажите хоть одну рабочую ссылку на установку OpenCV в codeBlocks ? пробую http://myncbi.blogspot.com/2012/04/how-to-configure-codeblocks-for-opencv.html выкидывает ошибку (рис) OpenCV2.3 CodeBlocks 12.11 подробнее

Показать сообщение отдельно
Евгений89
 Аватар для Евгений89
99 / 99 / 9
Регистрация: 17.04.2011
Сообщений: 554
Завершенные тесты: 2
14.04.2013, 21:45  [ТС]     перевод из числа в прописной вид не массив
Товарищи!
Нуждаюсь в вашей помощи.Незнаю как обработать ммиллиарды миллионы и тысячи.и когда ввожу точку что бы разделить сумму. должно выводить вторую функцию с центами а мне пишет неинициализирована локальная переменная (пришлось этот блок закоментировать что бы хоть как то работало).Что не так, завтра уже сдавать ((
Вот собственно код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
#include <iostream>
#include <string>
using namespace std;
 
 
const char *Units[] = {"","один ", "два ", "три ", "четыре ", "пять " ,  "шесть ", "семь ", "восемь ", "девять "};
 
const char *Women[] = {"","одна ", "две "};
                  
const char *Secondten[]={"десять ","одиннацать ", "двенадцать ", "тринадцать ", "четырнадцать ",
                        "пятнадцать ", "шестнадцать ", "семнадцать ", "восемнадцать ", "девятнадцать "};
 
const char *Tens[]={"","","двадцать ", "тридцать ", "сорок ", "пятдесят " ,
                     "шестдесят ", "семдесят ", "восемдесят ", "девяносто "};
 
 
const char *Hundreds[]={"","сто ", "двести ", "триста ", "четыреста ", "пятьсот ",
                          "шестьсот ", "семьсот ", "восемьсот ", "девятьсот "};
 
const char *mln[5][3]={{"миллиард","миллиарда","миллиардов"},
                       {"миллион " ,"миллиона " ,"миллионов "},
                       {"тысяча " ,"тысячи ","тысяч "},
                       {"доллар" ,"доллара " ,"долларов "},
                       {"цент ", "цента ", "центов "}};
 
//функция определения длины строки
int length(int *str){
    int i=0;
         while(str[i]++){
           i++;
                  }
    return i;
}
// функция долларов
string Dollar(unsigned int Number){
bool flag = false;
int hundreds,second,ed;
string result="";
 
ed=Number%10;
second=(Number/10)%10;
hundreds=Number/100;
 
if(hundreds>0) result+=Hundreds[hundreds];
if(second>0){
    if ((second==1)&&(ed!=0)) 
    { result +=(Secondten[ed]);
    return result; }
    else result +=(Tens[second]);
  }
  if (ed>0) 
  { if (((ed>2)&&(second!=1))||(!flag)) 
      result +=(Units[ed]);
    else result +=(Women[ed]);
  }
  if(Number==0) cout<<"ноль ";
if(second==1) result+=mln[3][2];
else switch(ed){
case 0:case 5:case 6:case 7:case 8:case 9: result+=mln[3][2];break;
case 2:case 3:case 4: result+=mln[3][1];break;
case 1: result+=mln[3][0];
}
result+=' ';
  return result;
}
/*
//функция центов
string Cent(unsigned int Number){
    bool flag=false;
    int ed,second;
    string result="";
 
if(second>0){
    if ((second==1)&&(ed!=0)) 
    { result +=(Secondten[ed]);
    return result; }
    else result +=(Tens[second]);
  }
  if (ed>0) 
  { if (((ed>2)&&(second!=1))||(!flag)) 
      result +=(Units[ed]);
    else result +=(Women[ed]);
  }
  if(Number==0) cout<<"ноль ";
if(second==1) result+=mln[4][2];
else switch(ed){
case 0:case 5:case 6:case 7:case 8:case 9: result+=mln[4][2];break;
case 2:case 3:case 4: result+=mln[4][1];break;
case 1: result+=mln[4][0];
}
result+=' ';
  return result;
}
*/
 int main(){
setlocale(LC_ALL,"rus");
 
char str[80]={0};
int Number;
cout<<"Введите числовое значение от 0 до [+/-] 4 294 967 295 \n";
cout<<"В качестве разделителя используйте . или , \n";
cout<<"После разделителя можно ввести максимум 2 цифры. \n";
cin>>Number;
cout<<"Перевод числа в числительное:\n";
//if(str[Number]='.'){Number++; Cent(Number);}
cout<<Dollar(Number);
cout<<"\n";
cout<<"\n";
return 0;
 }
Добавлено через 2 часа 0 минут
Что так ни кто и не поможет?((((
 
Текущее время: 08:56. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru