• پایان فعالیت بخشهای انجمن: امکان ایجاد موضوع یا نوشته جدید برای عموم کاربران غیرفعال شده است

هر کدام از دستورات به کار رفته در این برنامه چه کاری انجام میدهند ؟

Cyberlife

Registered User
تاریخ عضویت
28 مارس 2009
نوشته‌ها
1,517
لایک‌ها
624
محل سکونت
MACS0647-JD
سلام

من برنامه ای از یکی از دوستام گرفتم که کار این برنامه تبدیل عدد به معادل حروفی آن است. من میخوام

بدونم که هر کدام از دستورات به کار رفته در این برنامه چه کاری انجام میدهند.

خوب اول بفرمایید که این برنامه با C نوشته شده یا ++C ٬ و بعد از اون درباره دستوراتی که توی اون به کار

رفته واینکه هر دستور چه کاری انجام میده توضیح کامل بدید. البته این برنامه دستورهای تکراری زیادی داره ٬

بنابراین در دستورات تکراری فقط یکی از اونها رو توضیح بدید. با تشکر

کد:
[LEFT]#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[/LEFT]
 
Last edited:

Cyberlife

Registered User
تاریخ عضویت
28 مارس 2009
نوشته‌ها
1,517
لایک‌ها
624
محل سکونت
MACS0647-JD
با سی پلاس هست
خودش توضیح داده که
کجاش متوجه نشدید؟

سلام

ممنون میشم کار این چند خط رو برام توضیح بدید. یعنی اینکه هر خط چه کاری انجام میده

کد:
[LEFT]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)
{
[/LEFT]
 

>-->O

همکار بازنشسته
تاریخ عضویت
25 نوامبر 2009
نوشته‌ها
2,530
لایک‌ها
468
محل سکونت
㋡ همین جا ㋡
PHP:
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); شرط گذاشته تا زمانی که متغییر مخالف 13 باشه که کد اینتر هست
i2--; 
//Tashkhis Argham
for(register int i=1;i2>=1;i2--) اینهم برای تشخیص دادن رقم های ورودی هست
{
x[i]=y[i2]-48; اینهم عددی که وارد شده رو منهای 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)
{
 
بالا