Cyberlife
جمعه 03 دی 1389, 15:31 عصر
سلام
من برنامه ای از یکی از دوستام گرفتم که کار این برنامه تبدیل عدد به معادل حروفی آن است. من میخوام
بدونم که هر کدام از دستورات به کار رفته در این برنامه چه کاری انجام میدهند.
خوب اول بفرمایید که این برنامه با C نوشته شده یا ++C ٬ و بعد از اون درباره دستوراتی که توی اون به کار
رفته واینکه هر دستور چه کاری انجام میده توضیح بدید. البته این برنامه دستورهای تکراری زیادی داره ٬
بنابراین در دستورات تکراری فقط یکی از اونها رو توضیح بدید. با تشکر
#include <iostream.h>
#include <conio.h>
int main()
{
RE:clrscr();
int s=0,i2=0,x[99];
char y[99]={0};
//Daryaft Adad
cout<<"Lotfan yek adad Vared Konid:\n";
do
{
i2++;
y[i2]=getche();
}while(y[i2]!=13);
i2--;
//Tashkhis Argham
for(register int i=1;i2>=1;i2--)
{
x[i]=y[i2]-48;
i++;
}
i--;
//Namayesh Adad
clrscr();
cout<<"Adad Shoma: ";
for(register int i3=i;i3>=1;i3--)
cout<<x[i3];
cout<<endl<<"Hasel:\n";
//Tarjome adad be horof
for(;i>=1;i--)
{
if(s==1)
{
switch(x[i])
{
case 0:cout<<"";break;
case 1:cout<<"yazdah ";break;
case 2:cout<<"davazdah ";break;
case 3:cout<<"sizdah ";break;
case 4:cout<<"chahardah ";break;
case 5:cout<<"panzdah ";break;
case 6:cout<<"shanzdah ";break;
case 7:cout<<"hevdah ";break;
case 8:cout<<"hejdah ";break;
case 9:cout<<"nozdah ";break;
}
s=0;
}
else
{
if(i%3==2)
{
switch(x[i])
{
case 0:cout<<"";break;
case 1:s=1;break;
case 2:cout<<"bisto ";break;
case 3:cout<<"sio ";break;
case 4:cout<<"chehelo ";break;
case 5:cout<<"panjaho ";break;
case 6:cout<<"shasto ";break;
case 7:cout<<"haftado ";break;
case 8:cout<<"hashtado ";break;
case 9:cout<<"navado ";break;
}
}
else
{
switch(x[i])
{
case 0:cout<<"";break;
case 1:cout<<"yek ";break;
case 2:cout<<"do ";break;
case 3:cout<<"se ";break;
case 4:cout<<"chahar ";break;
case 5:cout<<"panj ";break;
case 6:cout<<"shesh ";break;
case 7:cout<<"haft ";break;
case 8:cout<<"hasht ";break;
case 9:cout<<"noh ";break;
default:goto ESC;
}
}
}
if((x[i+2]==0&&x[i]==0)||(x[i]==0&&x[i-2]==0))
{
cout<<"";
}
else
{
if(i%3==0)
cout<<"sado ";
else if(i==4)
cout<<"hezaro ";
else if(i==7)
cout<<"miliono ";
else if(i==10)
cout<<"triliardo ";
ESC:
}
}
gotoxy(0,22);
cout<<endl<<endl<<"Lotfan kelidi ra baraye tarjome adadi digar feshar dahid"<<endl;
getch();
goto RE;
}
//end
من برنامه ای از یکی از دوستام گرفتم که کار این برنامه تبدیل عدد به معادل حروفی آن است. من میخوام
بدونم که هر کدام از دستورات به کار رفته در این برنامه چه کاری انجام میدهند.
خوب اول بفرمایید که این برنامه با C نوشته شده یا ++C ٬ و بعد از اون درباره دستوراتی که توی اون به کار
رفته واینکه هر دستور چه کاری انجام میده توضیح بدید. البته این برنامه دستورهای تکراری زیادی داره ٬
بنابراین در دستورات تکراری فقط یکی از اونها رو توضیح بدید. با تشکر
#include <iostream.h>
#include <conio.h>
int main()
{
RE:clrscr();
int s=0,i2=0,x[99];
char y[99]={0};
//Daryaft Adad
cout<<"Lotfan yek adad Vared Konid:\n";
do
{
i2++;
y[i2]=getche();
}while(y[i2]!=13);
i2--;
//Tashkhis Argham
for(register int i=1;i2>=1;i2--)
{
x[i]=y[i2]-48;
i++;
}
i--;
//Namayesh Adad
clrscr();
cout<<"Adad Shoma: ";
for(register int i3=i;i3>=1;i3--)
cout<<x[i3];
cout<<endl<<"Hasel:\n";
//Tarjome adad be horof
for(;i>=1;i--)
{
if(s==1)
{
switch(x[i])
{
case 0:cout<<"";break;
case 1:cout<<"yazdah ";break;
case 2:cout<<"davazdah ";break;
case 3:cout<<"sizdah ";break;
case 4:cout<<"chahardah ";break;
case 5:cout<<"panzdah ";break;
case 6:cout<<"shanzdah ";break;
case 7:cout<<"hevdah ";break;
case 8:cout<<"hejdah ";break;
case 9:cout<<"nozdah ";break;
}
s=0;
}
else
{
if(i%3==2)
{
switch(x[i])
{
case 0:cout<<"";break;
case 1:s=1;break;
case 2:cout<<"bisto ";break;
case 3:cout<<"sio ";break;
case 4:cout<<"chehelo ";break;
case 5:cout<<"panjaho ";break;
case 6:cout<<"shasto ";break;
case 7:cout<<"haftado ";break;
case 8:cout<<"hashtado ";break;
case 9:cout<<"navado ";break;
}
}
else
{
switch(x[i])
{
case 0:cout<<"";break;
case 1:cout<<"yek ";break;
case 2:cout<<"do ";break;
case 3:cout<<"se ";break;
case 4:cout<<"chahar ";break;
case 5:cout<<"panj ";break;
case 6:cout<<"shesh ";break;
case 7:cout<<"haft ";break;
case 8:cout<<"hasht ";break;
case 9:cout<<"noh ";break;
default:goto ESC;
}
}
}
if((x[i+2]==0&&x[i]==0)||(x[i]==0&&x[i-2]==0))
{
cout<<"";
}
else
{
if(i%3==0)
cout<<"sado ";
else if(i==4)
cout<<"hezaro ";
else if(i==7)
cout<<"miliono ";
else if(i==10)
cout<<"triliardo ";
ESC:
}
}
gotoxy(0,22);
cout<<endl<<endl<<"Lotfan kelidi ra baraye tarjome adadi digar feshar dahid"<<endl;
getch();
goto RE;
}
//end