Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class money
- {
- static const int MAX=30;
- long double cash;
- char ustring[MAX];
- char out[MAX];
- public:
- money(){cash=0.0; out[0]='$';}//конструктор, который добавляет в массив out символ '$' нулевым индексом
- void ldtoms()
- {
- setlocale(LC_ALL,"");
- cout <<"Введите число: "; cin >>cash;
- _gcvt_s(ustring, MAX, cash, 16);//КРИВОЕ! преобразование в массив: заместо десятичной точки выводит запятую
- cout <<"Массив ustring[]: " <<ustring <<endl;
- int i=strlen(ustring);
- int g;//индекс символа запятой
- int z=0;//счетчик поставленных запятых
- int t=0;//счетчик символов между запятыми
- for(int v=0; v<i; v++){//цикл нахождения индекса запятой
- if(ustring[v]==','){
- g=v-1;
- break;
- }else{
- g=v;//не требуется
- }
- }
- for(int j=MAX; (j-z)>0; j--){//цикл заполнения массива out[] начиная с последнего индекса с поправкой на z-количество добавленных запятых
- if(i>=0){//замена запятой после формулы на точку
- if(i==g+1){
- out[j-z]='.';
- i--;
- continue;
- }
- out[j-z]=ustring[i];//копированеи элементов массива
- }else{//если закончилось копирование символов в out[] из ustring[]
- for(int jj=0; jj<=(strlen(ustring)+z); jj++){//цикл перемещения символов в массиве к началу
- int temp;
- temp=out[j-z+jj];
- out[j-z+jj]=out[j-z+jj+1];
- out[j-z+jj+1]=temp;
- }
- continue;
- }
- if(i<=g){//если достигли индекса расположения запятой или дальше
- ++t;//счетчик символов после запятой +1
- if((t==3)&&(i>0)){//если прошло три символа, пора ставить запятую
- ++z;//поставленых запятых +1
- out[j-z]=',';//ставим запятую
- t=0;//обнуляем счетчик символов
- }
- }
- i--;
- }
- out[strlen(ustring)+1+z]='\0';//постановка после цикла перемещения символов символа окончания строки(z-количество добавленных запятых, +1-учет символа '$')
- cout <<"Массив out[]: " <<out <<endl;
- }
- };
- int _tmain(int argc, _TCHAR* argv[])
- {
- money m;
- m.ldtoms();
- system("pause");
- return 0;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement