Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

функция с указателями. Как правильно объявить?

63K
08 сентября 2010 года
Todeskin
1 / / 08.09.2010
Что надо написать в int main для того, что бы программа начала работать:
что бы вывела семнадцать или другое любое n??????????

//программа с функцией замены числа прописью
#include <iostream>
char *towords(int )
int main()
{
int n=17;
int f=--n;
int* p;
p=&f;
(*p)--;
*p==?//////////!!!!!!!!!что должно быть между скобками, чтобы работало?
char b[];
towords = &b;
towords(a);
cout<< "number is " << b << endl;
return 0;
}

char *towords(int numb){
//массив, для определения разряда, в котором находимся(сотни,десятки,еденицы...)
int osn[11]={0,1,10,100,1000,10000,100000,1000000,10000000,100000000,1000000000};

//массив оснований
char *basis[11][10]={
{"","","","","","","","","",""},
{"","один","два","три","четыре","пять","шесть","семь","восемь","девять"},
{"","десять","двадцать","тридцать","сорок","пятьдесят","шестьдесят","семьдесят","восемьдесят","девяносто"},
{"","сто","двести","триста","четыреста","пятьсот","шестьсот","семьсот","восемьсот","девятьсот"},
{"","одна","две","три","четыре","пять","шесть","семь","восемь","девять"},
{"","десять","двадцать","тридцать","сорок","пятьдесят","шестьдесят","семьдесят","восемьдесят","девяносто"},
{"","сто","двести","триста","четыреста","пятьсот","шестьсот","семьсот","восемьсот","девятьсот"},
{"","один","два","три","четыре","пять","шесть","семь","восемь","девять"},
{"","десять","двадцать","тридцать","сорок","пятьдесят","шестьдесят","семьдесят","восемьдесят","девяносто"},
{"","сто","двести","триста","четыреста","пятьсот","шестьсот","семьсот","восемьсот","девятьсот"},
{"","один","два","три ","четыре","пять","шесть","семь","восемь","девять"}};

//массив окончаний
char *termination[10][10]={
{"","","","тысяч","","","миллионов","","","миллиардов"},
{"","","","тысяча","","","миллион","","","миллиард"},
{"","","","тысячи","","","миллиона","","","миллиарда"},
{"","","","тысячи","","","миллиона","","","миллиарда"},
{"","","","тысячи","","","миллиона","","","миллиарда"},
{"","","","тысяч","","","миллионов","","","миллиардов"},
{"","","","тысяч","","","миллионов","","","миллиардов"},
{"","","","тысяч","","","миллионов","","","миллиардов"},
{"","","","тысяч","","","миллионов","","","миллиардов"},
{"","","","тысяч","","","миллионов","","","миллиардов"}};

char *dec[10]={"десять","одиннадцать","двенадцать","тринадцать","четырнадцать","пятнадцать","шестнадцать","семнадцать","восемнадцать","девятнадцать"};

int n1=numb;
int cnt=0;

//подсчет количесива цифр в числе
while (numb){
numb/=10;
++cnt;
}

char result[100]={};
int celoe=0;

while (n1){
if (!((cnt+1) % 3)){
if ((n1/osn[cnt])==1){
n1%=osn[cnt];
--cnt;
celoe=n1/osn[cnt];
n1%=osn[cnt];
strcat(result, dec[celoe]);
--cnt;
if (!(cnt % 3)){
strcat(result, " ");
strcat(result, termination[0][cnt]);
strcat(result, " ");
}
}
if (!cnt) break;
}
celoe=n1/osn[cnt];
n1%=osn[cnt];
strcat(result, basis[cnt][celoe]);
--cnt;
strcat(result, " ");
if (!(cnt % 3)){
strcat(result, termination[celoe][cnt]);
strcat(result, " ");
}
}
CharToOem(result,result);
return result;
}
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог