paradise_human
پنج شنبه 23 اردیبهشت 1389, 00:49 صبح
سلام دوستان.
این برنامه ی تبدیل اعداد به حروفه ...
میتونید بهم کمک کنید تا مشکلشو رفع کنم ؟
از لحاظ سینتکسی مشکلی نداره و تقریبا کامل هم هست ولی نمیدونم چرا خروجی مد نظرمو نمیده ؟
#include <iostream>
#include <conio.h>
#include <stdlib.h>
#include <math.h>
using namespace std;
void main();
//==================================
class Reading
{private:
int my_number;
int teliardgan;
int sadgane_teliardgan;
int dahgane_teliardgan;
int yekane_teliardgan;
int meliardgan;
int sadgane_meliardgan;
int dahgane_meliardgan;
int yekane_meliardgan;
int melyongan;
int sadgane_melyongan;
int dahgane_melyongan;
int yekane_melyongan;
int hezargan;
int sadgane_hezargan;
int dahgane_hezargan;
int yekane_hezargan;
int sadgan;
int dahgan;
int yekan ;
public:
Reading(int);
void print_yek_ta_noh(int);
void print_yazadah_ta_nozdah(int);
void print_bist_ta_navad(int);
friend void main();
};
//=============================================
Reading::Reading(int b)
{
my_number=b;
teliardgan=int(my_number/1000000000000);
sadgane_teliardgan=int(teliardgan/100);
dahgane_teliardgan=int(teliardgan-(sadgane_teliardgan*100)/10);
yekane_teliardgan=int(teliardgan-(sadgane_teliardgan*100+dahgane_teliardgan*10));
meliardgan=int(my_number-(teliardgan*1000000000000)/1000000000);
sadgane_meliardgan=int(meliardgan/100);
dahgane_meliardgan=int(meliardgan-(sadgane_meliardgan*100)/10);
yekane_meliardgan=int(meliardgan-(sadgane_meliardgan*100+dahgane_meliardgan*10));
melyongan=int(my_number-(teliardgan*1000000000000+meliardgan*1000000000)/1000000);
sadgane_melyongan=int(melyongan/100);
dahgane_melyongan=int(melyongan-(sadgane_melyongan*100)/10);
yekane_melyongan=int(melyongan-(sadgane_melyongan*100+dahgane_melyongan*10));
hezargan=int(my_number-(teliardgan*1000000000000+meliardgan*1000000000+me lyongan*1000000)/1000);
sadgane_hezargan=int(hezargan/100);
dahgane_hezargan=int(hezargan-(sadgane_hezargan*100)/10);
yekane_hezargan=int(hezargan-(sadgane_hezargan*100+dahgane_hezargan*10));
sadgan =int ( (my_number-(teliardgan*1000000000000+meliardgan*1000000000+me lyongan*1000000+hezargan*1000) )/100 ) ;
dahgan =int ( (my_number-(teliardgan*1000000000000+meliardgan*1000000000+me lyongan*1000000+hezargan*1000+sadgan*100) )/10 ) ;
yekan = int ( (my_number-(teliardgan*1000000000000+meliardgan*1000000000+me lyongan*1000000+hezargan*1000+sadgan*100+dahgan*10 )));
}
//================================================== ================================================== =================================
void Reading::print_yek_ta_noh(int a)
{
switch(a)
{
case 1:cout<<"yek";break;
case 2:cout<<"du";break;
case 3:cout<<"se";break;
case 4:cout<<"chahar";break;
case 5:cout<<"pang";break;
case 6:cout<<"shish";break;
case 7:cout<<"haft";break;
case 8:cout<<"hasht";break;
case 9:cout<<"noh";break;
default:cout<<"";
}
}
//================================================== ===
void Reading::print_yazadah_ta_nozdah(int a)
{
switch(a)
{
case 10:cout<<"dah";break;
case 11:cout<<"yazda";break;
case 12:cout<<"davazdah";break;
case 13:cout<<"sizdah";break;
case 14:cout<<"chahardah";break;
case 15:cout<<"panzdah";break;
case 16:cout<<"shanzadah";break;
case 17:cout<<"hefdah";break;
case 18:cout<<"hejdah";break;
case 19:cout<<"nonzadah";break;
default:cout<<"";
}
}
//================================================== =
void Reading::print_bist_ta_navad(int a)
{
switch(a)
{
case 20:cout<<"bist ";break;
case 30:cout<<"si ";break;
case 40:cout<<"chehel ";break;
case 50:cout<<"pangah ";break;
case 60:cout<<"shast ";break;
case 70:cout<<"haftad ";break;
case 80:cout<<"hastad ";break;
case 90:cout<<"navad ";break;
default:cout<<"";
}
}
//================================================== ==
void main()
{
int b;
cin>>b;
Reading x(b);
x.print_yek_ta_noh(x.sadgane_teliardgan);
if (x.sadgane_teliardgan>0)
cout<<" sad ";
if (x.dahgane_teliardgan>1)
{cout<<"o";
x.print_bist_ta_navad ( (x.dahgane_teliardgan*10) ) ;
}
if (x.dahgane_teliardgan==1)
{cout<<"o";
x.print_yazadah_ta_nozdah( (x.dahgane_teliardgan*10+x.yekane_teliardgan) ) ;
}
if (x.dahgane_teliardgan!=1)
{cout<<"o";
x.print_yek_ta_noh(x.yekane_teliardgan);
}
if (x.teliardgan>0)
{cout<<" teliard ";
cout<<"o";
}
//=========================================
x.print_yek_ta_noh(x.sadgane_meliardgan);
if (x.sadgane_meliardgan>0)
cout<<" sad ";
if (x.dahgane_meliardgan>1)
{cout<<"o";
x.print_bist_ta_navad ( (x.dahgane_meliardgan*10) ) ;
}
if (x.dahgane_meliardgan==1)
{cout<<"o";
x.print_yazadah_ta_nozdah( (x.dahgane_meliardgan*10+x.yekane_meliardgan) ) ;
}
if (x.dahgane_meliardgan!=1)
{cout<<"o";
x.print_yek_ta_noh(x.yekane_meliardgan);
}
if (x.meliardgan>0)
{cout<<" meliard ";
cout<<"o";
}
//===============================================
x.print_yek_ta_noh(x.sadgane_melyongan);
if (x.sadgane_melyongan>0)
cout<<" sad ";
if (x.dahgane_melyongan>1)
{cout<<"o";
x.print_bist_ta_navad ( (x.dahgane_melyongan*10) ) ;
}
if (x.dahgane_melyongan==1)
{cout<<"o";
x.print_yazadah_ta_nozdah( (x.dahgane_melyongan*10+x.yekane_melyongan) ) ;
}
if (x.dahgane_melyongan!=1)
{cout<<"o";
x.print_yek_ta_noh(x.yekane_melyongan);
}
if (x.melyongan>0)
{cout<<" melyon ";
cout<<"o";
}
//=================================================
x.print_yek_ta_noh(x.sadgane_hezargan);
if (x.sadgane_hezargan>0)
cout<<" sad ";
if (x.dahgane_hezargan>1)
{cout<<"o";
x.print_bist_ta_navad ( (x.dahgane_hezargan*10) ) ;
}
if (x.dahgane_hezargan==1)
{cout<<"o";
x.print_yazadah_ta_nozdah( (x.dahgane_hezargan*10+x.yekane_hezargan) ) ;
}
if (x.dahgane_hezargan!=1)
{cout<<"o";
x.print_yek_ta_noh(x.yekane_hezargan);
}
if (x.hezargan>0)
{cout<<" hezar ";
cout<<"o";
}
//=================================================
x.print_yek_ta_noh(x.sadgan);
if (x.sadgan>0)
cout<<" sad ";
if (x.dahgan>1)
{cout<<"o";
x.print_bist_ta_navad ( (x.dahgan*10) ) ;
}
if (x.dahgan==1)
{cout<<"o";
x.print_yazadah_ta_nozdah( (x.dahgan*10+x.yekan) ) ;
}
if (x.dahgan!=1)
{cout<<"o";
x.print_yek_ta_noh(x.yekan);
}
}
این برنامه ی تبدیل اعداد به حروفه ...
میتونید بهم کمک کنید تا مشکلشو رفع کنم ؟
از لحاظ سینتکسی مشکلی نداره و تقریبا کامل هم هست ولی نمیدونم چرا خروجی مد نظرمو نمیده ؟
#include <iostream>
#include <conio.h>
#include <stdlib.h>
#include <math.h>
using namespace std;
void main();
//==================================
class Reading
{private:
int my_number;
int teliardgan;
int sadgane_teliardgan;
int dahgane_teliardgan;
int yekane_teliardgan;
int meliardgan;
int sadgane_meliardgan;
int dahgane_meliardgan;
int yekane_meliardgan;
int melyongan;
int sadgane_melyongan;
int dahgane_melyongan;
int yekane_melyongan;
int hezargan;
int sadgane_hezargan;
int dahgane_hezargan;
int yekane_hezargan;
int sadgan;
int dahgan;
int yekan ;
public:
Reading(int);
void print_yek_ta_noh(int);
void print_yazadah_ta_nozdah(int);
void print_bist_ta_navad(int);
friend void main();
};
//=============================================
Reading::Reading(int b)
{
my_number=b;
teliardgan=int(my_number/1000000000000);
sadgane_teliardgan=int(teliardgan/100);
dahgane_teliardgan=int(teliardgan-(sadgane_teliardgan*100)/10);
yekane_teliardgan=int(teliardgan-(sadgane_teliardgan*100+dahgane_teliardgan*10));
meliardgan=int(my_number-(teliardgan*1000000000000)/1000000000);
sadgane_meliardgan=int(meliardgan/100);
dahgane_meliardgan=int(meliardgan-(sadgane_meliardgan*100)/10);
yekane_meliardgan=int(meliardgan-(sadgane_meliardgan*100+dahgane_meliardgan*10));
melyongan=int(my_number-(teliardgan*1000000000000+meliardgan*1000000000)/1000000);
sadgane_melyongan=int(melyongan/100);
dahgane_melyongan=int(melyongan-(sadgane_melyongan*100)/10);
yekane_melyongan=int(melyongan-(sadgane_melyongan*100+dahgane_melyongan*10));
hezargan=int(my_number-(teliardgan*1000000000000+meliardgan*1000000000+me lyongan*1000000)/1000);
sadgane_hezargan=int(hezargan/100);
dahgane_hezargan=int(hezargan-(sadgane_hezargan*100)/10);
yekane_hezargan=int(hezargan-(sadgane_hezargan*100+dahgane_hezargan*10));
sadgan =int ( (my_number-(teliardgan*1000000000000+meliardgan*1000000000+me lyongan*1000000+hezargan*1000) )/100 ) ;
dahgan =int ( (my_number-(teliardgan*1000000000000+meliardgan*1000000000+me lyongan*1000000+hezargan*1000+sadgan*100) )/10 ) ;
yekan = int ( (my_number-(teliardgan*1000000000000+meliardgan*1000000000+me lyongan*1000000+hezargan*1000+sadgan*100+dahgan*10 )));
}
//================================================== ================================================== =================================
void Reading::print_yek_ta_noh(int a)
{
switch(a)
{
case 1:cout<<"yek";break;
case 2:cout<<"du";break;
case 3:cout<<"se";break;
case 4:cout<<"chahar";break;
case 5:cout<<"pang";break;
case 6:cout<<"shish";break;
case 7:cout<<"haft";break;
case 8:cout<<"hasht";break;
case 9:cout<<"noh";break;
default:cout<<"";
}
}
//================================================== ===
void Reading::print_yazadah_ta_nozdah(int a)
{
switch(a)
{
case 10:cout<<"dah";break;
case 11:cout<<"yazda";break;
case 12:cout<<"davazdah";break;
case 13:cout<<"sizdah";break;
case 14:cout<<"chahardah";break;
case 15:cout<<"panzdah";break;
case 16:cout<<"shanzadah";break;
case 17:cout<<"hefdah";break;
case 18:cout<<"hejdah";break;
case 19:cout<<"nonzadah";break;
default:cout<<"";
}
}
//================================================== =
void Reading::print_bist_ta_navad(int a)
{
switch(a)
{
case 20:cout<<"bist ";break;
case 30:cout<<"si ";break;
case 40:cout<<"chehel ";break;
case 50:cout<<"pangah ";break;
case 60:cout<<"shast ";break;
case 70:cout<<"haftad ";break;
case 80:cout<<"hastad ";break;
case 90:cout<<"navad ";break;
default:cout<<"";
}
}
//================================================== ==
void main()
{
int b;
cin>>b;
Reading x(b);
x.print_yek_ta_noh(x.sadgane_teliardgan);
if (x.sadgane_teliardgan>0)
cout<<" sad ";
if (x.dahgane_teliardgan>1)
{cout<<"o";
x.print_bist_ta_navad ( (x.dahgane_teliardgan*10) ) ;
}
if (x.dahgane_teliardgan==1)
{cout<<"o";
x.print_yazadah_ta_nozdah( (x.dahgane_teliardgan*10+x.yekane_teliardgan) ) ;
}
if (x.dahgane_teliardgan!=1)
{cout<<"o";
x.print_yek_ta_noh(x.yekane_teliardgan);
}
if (x.teliardgan>0)
{cout<<" teliard ";
cout<<"o";
}
//=========================================
x.print_yek_ta_noh(x.sadgane_meliardgan);
if (x.sadgane_meliardgan>0)
cout<<" sad ";
if (x.dahgane_meliardgan>1)
{cout<<"o";
x.print_bist_ta_navad ( (x.dahgane_meliardgan*10) ) ;
}
if (x.dahgane_meliardgan==1)
{cout<<"o";
x.print_yazadah_ta_nozdah( (x.dahgane_meliardgan*10+x.yekane_meliardgan) ) ;
}
if (x.dahgane_meliardgan!=1)
{cout<<"o";
x.print_yek_ta_noh(x.yekane_meliardgan);
}
if (x.meliardgan>0)
{cout<<" meliard ";
cout<<"o";
}
//===============================================
x.print_yek_ta_noh(x.sadgane_melyongan);
if (x.sadgane_melyongan>0)
cout<<" sad ";
if (x.dahgane_melyongan>1)
{cout<<"o";
x.print_bist_ta_navad ( (x.dahgane_melyongan*10) ) ;
}
if (x.dahgane_melyongan==1)
{cout<<"o";
x.print_yazadah_ta_nozdah( (x.dahgane_melyongan*10+x.yekane_melyongan) ) ;
}
if (x.dahgane_melyongan!=1)
{cout<<"o";
x.print_yek_ta_noh(x.yekane_melyongan);
}
if (x.melyongan>0)
{cout<<" melyon ";
cout<<"o";
}
//=================================================
x.print_yek_ta_noh(x.sadgane_hezargan);
if (x.sadgane_hezargan>0)
cout<<" sad ";
if (x.dahgane_hezargan>1)
{cout<<"o";
x.print_bist_ta_navad ( (x.dahgane_hezargan*10) ) ;
}
if (x.dahgane_hezargan==1)
{cout<<"o";
x.print_yazadah_ta_nozdah( (x.dahgane_hezargan*10+x.yekane_hezargan) ) ;
}
if (x.dahgane_hezargan!=1)
{cout<<"o";
x.print_yek_ta_noh(x.yekane_hezargan);
}
if (x.hezargan>0)
{cout<<" hezar ";
cout<<"o";
}
//=================================================
x.print_yek_ta_noh(x.sadgan);
if (x.sadgan>0)
cout<<" sad ";
if (x.dahgan>1)
{cout<<"o";
x.print_bist_ta_navad ( (x.dahgan*10) ) ;
}
if (x.dahgan==1)
{cout<<"o";
x.print_yazadah_ta_nozdah( (x.dahgan*10+x.yekan) ) ;
}
if (x.dahgan!=1)
{cout<<"o";
x.print_yek_ta_noh(x.yekan);
}
}