smemamian
دوشنبه 09 بهمن 1391, 00:43 صبح
سلام دوستان
برنامه زیر مبتدی نوشته شده ولی یک مشکل داره ! اینه که گاهی درست کار می کنه
گاهی هم نه !
برنامه به این صورت هست که اگر من عدد 55 رو وارد می کنم باید بنویسه : PanjahOpanj !
راه ی بهتر برای نوشتن چنین برنامه چی پیشنهاد می کنید ؟
#include <iostream>
#include <cstring>
#include <cstdlib>
using namespace std;
int main()
{
char* Number;
int Size=1 , Temp=0;
char *One_N[10] = { "" , "Yek" , "Doo" , "Se" , "Chahar" , "Panj" , "Shesh" ,
"Haft" ,"Hasht","Noh"};
char *Two_N[10] = { "","Yazdah","Davazdah","Sizdah","Chehardah","Ponzdah",
"Shanzdah","Hefdah","Hijdah","Nonzdah"};
char *Two_Ten_N[10] = {"","Dah","Bist","Sii","Chehel","Panjah","Shast","Hafdad","Hashtad"
,"Navad"};
cout <<"Plz Enter Numbr :\n" ;
cin >> Number ;
Size = strlen(Number);
Temp = atoi(Number);
if(Size==1)
{
for(int i=1 ; i<=9 ; i++)
{
if(Temp==i)
cout << "Your Number = " << Temp << " Persian Text = "
<< One_N[i] << endl ;
}
}
if(Size==2)
{
if(Temp==10)
cout << "Your Number = " << Temp <<
" Persian Text = " << Two_Ten_N[1] << endl;
else if(Temp >= 11 && Temp <= 19)
for(int i=11 ; i <=19 ; i++)
if(Temp==i)
cout << "Your Number = " << Temp << " Persian Text = "
<< Two_N[i-10] << endl ;
else if (Temp >= 20 && Temp <= 29)
{
if(Temp==20)
cout << "Your Number = " << Temp <<
" Persian Text = " << Two_Ten_N[2] << endl;
else
for(int i=21 ; i <=29 ; i++)
if(Temp==i)
cout << "Your Number = " << Temp << " Persian Text = "
<< Two_Ten_N[2] << "O" << One_N[i-20] << endl ;
}
else if(Temp >= 30 && Temp <= 39)
{
if(Temp==30)
cout << "Your Number = " << Temp <<
" Persian Text = " << Two_Ten_N[3] << endl;
else
for(int i=31 ; i <=39 ; i++)
if(Temp==i)
cout << "Your Number = " << Temp << " Persian Text = "
<< Two_Ten_N[3] << "O" << One_N[i-30] << endl ;
}
else if (Temp >= 40 && Temp <= 49)
{
if(Temp==40)
cout << "Your Number = " << Temp <<
" Persian Text = " << Two_Ten_N[4] << endl;
else
for(int i=41 ; i <=49 ; i++)
if(Temp==i)
cout << "Your Number = " << Temp << " Persian Text = "
<< Two_Ten_N[4] << "O" << One_N[i-40] << endl ;
}
else if (Temp >= 50 && Temp <= 59)
{
if(Temp==50)
cout << "Your Number = " << Temp <<
" Persian Text = " << Two_Ten_N[5] << endl;
else
for(int i=51 ; i <=59 ; i++)
if(Temp==i)
cout << "Your Number = " << Temp << " Persian Text = "
<< Two_Ten_N[5] << "O" << One_N[i-50] << endl ;
}
else if(Temp >= 60 && Temp <= 69)
{
if(Temp==60)
cout << "Your Number = " << Temp <<
" Persian Text = " << Two_Ten_N[6] << endl;
else
for(int i=61 ; i <=69 ; i++)
if(Temp==i)
cout << "Your Number = " << Temp << " Persian Text = "
<< Two_Ten_N[6] << "O" << One_N[i-60] << endl ;
}
else if (Temp >= 70 && Temp <= 79)
{
if(Temp==70)
cout << "Your Number = " << Temp <<
" Persian Text = " << Two_Ten_N[7] << endl;
else
for(int i=71 ; i <=79 ; i++)
if(Temp==i)
cout << "Your Number = " << Temp << " Persian Text = "
<< Two_Ten_N[7] << "O" << One_N[i-70] << endl ;
}
else if (Temp >= 80 && Temp <= 89)
{
if(Temp==80)
cout << "Your Number = " << Temp <<
" Persian Text = " << Two_Ten_N[8] << endl;
else
for(int i=81 ; i <=89 ; i++)
if(Temp==i)
cout << "Your Number = " << Temp << " Persian Text = "
<< Two_Ten_N[8] << "O" << One_N[i-80] << endl ;
}
else (Temp >= 90 && Temp <= 99);
{
if(Temp==90)
cout << "Your Number = " << Temp <<
" Persian Text = " << Two_Ten_N[9] << endl;
else
for(int i=91 ; i <=99 ; i++)
if(Temp==i)
cout << "Your Number = " << Temp << " Persian Text = "
<< Two_Ten_N[9] << "O" << One_N[i-90] << endl ;
}
}
cin.get();
return 0;
}
برنامه زیر مبتدی نوشته شده ولی یک مشکل داره ! اینه که گاهی درست کار می کنه
گاهی هم نه !
برنامه به این صورت هست که اگر من عدد 55 رو وارد می کنم باید بنویسه : PanjahOpanj !
راه ی بهتر برای نوشتن چنین برنامه چی پیشنهاد می کنید ؟
#include <iostream>
#include <cstring>
#include <cstdlib>
using namespace std;
int main()
{
char* Number;
int Size=1 , Temp=0;
char *One_N[10] = { "" , "Yek" , "Doo" , "Se" , "Chahar" , "Panj" , "Shesh" ,
"Haft" ,"Hasht","Noh"};
char *Two_N[10] = { "","Yazdah","Davazdah","Sizdah","Chehardah","Ponzdah",
"Shanzdah","Hefdah","Hijdah","Nonzdah"};
char *Two_Ten_N[10] = {"","Dah","Bist","Sii","Chehel","Panjah","Shast","Hafdad","Hashtad"
,"Navad"};
cout <<"Plz Enter Numbr :\n" ;
cin >> Number ;
Size = strlen(Number);
Temp = atoi(Number);
if(Size==1)
{
for(int i=1 ; i<=9 ; i++)
{
if(Temp==i)
cout << "Your Number = " << Temp << " Persian Text = "
<< One_N[i] << endl ;
}
}
if(Size==2)
{
if(Temp==10)
cout << "Your Number = " << Temp <<
" Persian Text = " << Two_Ten_N[1] << endl;
else if(Temp >= 11 && Temp <= 19)
for(int i=11 ; i <=19 ; i++)
if(Temp==i)
cout << "Your Number = " << Temp << " Persian Text = "
<< Two_N[i-10] << endl ;
else if (Temp >= 20 && Temp <= 29)
{
if(Temp==20)
cout << "Your Number = " << Temp <<
" Persian Text = " << Two_Ten_N[2] << endl;
else
for(int i=21 ; i <=29 ; i++)
if(Temp==i)
cout << "Your Number = " << Temp << " Persian Text = "
<< Two_Ten_N[2] << "O" << One_N[i-20] << endl ;
}
else if(Temp >= 30 && Temp <= 39)
{
if(Temp==30)
cout << "Your Number = " << Temp <<
" Persian Text = " << Two_Ten_N[3] << endl;
else
for(int i=31 ; i <=39 ; i++)
if(Temp==i)
cout << "Your Number = " << Temp << " Persian Text = "
<< Two_Ten_N[3] << "O" << One_N[i-30] << endl ;
}
else if (Temp >= 40 && Temp <= 49)
{
if(Temp==40)
cout << "Your Number = " << Temp <<
" Persian Text = " << Two_Ten_N[4] << endl;
else
for(int i=41 ; i <=49 ; i++)
if(Temp==i)
cout << "Your Number = " << Temp << " Persian Text = "
<< Two_Ten_N[4] << "O" << One_N[i-40] << endl ;
}
else if (Temp >= 50 && Temp <= 59)
{
if(Temp==50)
cout << "Your Number = " << Temp <<
" Persian Text = " << Two_Ten_N[5] << endl;
else
for(int i=51 ; i <=59 ; i++)
if(Temp==i)
cout << "Your Number = " << Temp << " Persian Text = "
<< Two_Ten_N[5] << "O" << One_N[i-50] << endl ;
}
else if(Temp >= 60 && Temp <= 69)
{
if(Temp==60)
cout << "Your Number = " << Temp <<
" Persian Text = " << Two_Ten_N[6] << endl;
else
for(int i=61 ; i <=69 ; i++)
if(Temp==i)
cout << "Your Number = " << Temp << " Persian Text = "
<< Two_Ten_N[6] << "O" << One_N[i-60] << endl ;
}
else if (Temp >= 70 && Temp <= 79)
{
if(Temp==70)
cout << "Your Number = " << Temp <<
" Persian Text = " << Two_Ten_N[7] << endl;
else
for(int i=71 ; i <=79 ; i++)
if(Temp==i)
cout << "Your Number = " << Temp << " Persian Text = "
<< Two_Ten_N[7] << "O" << One_N[i-70] << endl ;
}
else if (Temp >= 80 && Temp <= 89)
{
if(Temp==80)
cout << "Your Number = " << Temp <<
" Persian Text = " << Two_Ten_N[8] << endl;
else
for(int i=81 ; i <=89 ; i++)
if(Temp==i)
cout << "Your Number = " << Temp << " Persian Text = "
<< Two_Ten_N[8] << "O" << One_N[i-80] << endl ;
}
else (Temp >= 90 && Temp <= 99);
{
if(Temp==90)
cout << "Your Number = " << Temp <<
" Persian Text = " << Two_Ten_N[9] << endl;
else
for(int i=91 ; i <=99 ; i++)
if(Temp==i)
cout << "Your Number = " << Temp << " Persian Text = "
<< Two_Ten_N[9] << "O" << One_N[i-90] << endl ;
}
}
cin.get();
return 0;
}