نمایش نتایج 1 تا 4 از 4

نام تاپیک: ((تبدیل تاریخ شمسی عددی به حروفی))

  1. #1

    Exclamation ((تبدیل تاریخ شمسی عددی به حروفی))

    با سلام خدمت دوستان...!
    ---------------------------------------------------------------------------------------------------------------
    برنامه ای بنویسید که تاریخ شمسی را گرفته (بصورت عددی) و به حروف بنویسید بطور مثال برای تاریخ 1391/10/17 در خروجی نشان دهد.
    Hevda home Day mahe
    hezaro sisado navado yek

    یه راهنمایی هم کرده که سردر نیاوردم ، اینکه گفته:سال حداکثر پنج رقمی باشد%
    حامد خان دیگه این با مشکل مطرح کردم ها دیگه دبه نکنی حذف کنی؟؟؟
    تورو خدا کمکم کنید پنج شنبه باید تحویل بدم!!!
    ---------------------------------------------------------------------------------------------------------------
    دوستان من فقط یک قسمتش رو تونستم اما بازم این اشکال داره!
    وقتی پنج رقمی میدی به فرض (11560) بنویسه یازده هزار سی صد و شصت اما نمیدونم دیگه چیکارش کنم درس کار کنه؟
    کسی میدونه چطوری میشه از اینم راحت تر نوشت؟
    البته بگم این فقط قسمت سال ورودیش هستش،ماه و روزش مونده که اونم تا حدودی ازاین قسمت راحتر هستش!اگه اونم بتونم

    #include<iostream.h>
    #include<conio.h>
    #include<stdio.h>
    int main ()
    {
    int a,b,c,w,k,f,r,n,z,m,h;
    clrscr();
    cin>>a;
    b=a%10; // b
    c=a/10;
    w=c%10; // w
    f=c/10;
    r=f%10; // r
    n=f/10;
    m=n%10; // m
    h=n/10;
    z=h%10; // z
    //================================
    long int n1,n2,n3,n4,n5,x1,m1;
    n1=z*10+m;
    n2=n1*10+r;
    n3=n2*10+w;
    x1=n3*10+b;

    {if (a>9999)
    //cout<<z<<" "<<m<<" "<<r<<" "<<w<<" "<<b<<" "<<endl;

    {if (z==1)cout<<"dahhezaro ";else if (z==2)cout<<"besto ";
    else if (z==3)cout<<"seio ";else if (z==4)cout<<"chahalo ";
    else if (z==5)cout<<"panjaho ";else if (z==6)cout<<"shasto ";
    else if (z==7)cout<<"haftado ";else if (z==8)cout<<"hashtado ";
    else if (z==9)cout<<"navado ";}

    {if (m==1)cout<<"hezaro";else if (m==2)cout<<"doo hezaro";
    else if (m==3)cout<<"see hezaro";else if (m==4)cout<<"chahar hezaro";
    else if (m==5)cout<<"panj hezaro";else if (m==6)cout<<"shesh hezaro";
    else if (m==7)cout<<"haft hezaro";else if (m==8)cout<<"hasht hezaro";
    else if (m==9)cout<<"noh hezaro";}

    {if (r==1)cout<<" sado";else if (r==2)cout <<" devisto";
    else if (r==3)cout<<" siesado";else if (r==4)cout<<" charsado";
    else if (r==5)cout<<" pansado";else if (r==6)cout<<" shishsado";
    else if (r==7)cout<<" hafsado";else if (r==8)cout<<" hashsado";
    else if (r==9)cout<<" nohsado";}

    {if (w==1)cout<<" daho";else if (w==2)cout<<" best";
    else if (w==3)cout<<" siy";else if (w==4)cout<<" chahal";
    else if (w==5)cout<<" panjah";else if (w==6)cout<<" shast";
    else if (w==7)cout<<" haftad";else if (w==8)cout<<" hashtad";
    else if (w==9)cout<<" navad";}

    {if (b==1)cout<<"o yek";else if (b==2)cout<<"o doo";
    else if (b==3)cout<<"o see";else if (b==4)cout<<"o chahar";
    else if (b==5)cout<<"o panj";else if (b==6)cout<<"o shiesh";
    else if (b==7)cout<<"o haft";else if (b==8)cout<<"o hasht";
    else if (b==9)cout<<"o noeh";}
    }
    else if (a>999)
    {
    {if (m==1)cout<<"hezaro";else if (m==2)cout<<"doo hezaro";
    else if (m==3)cout<<"see hezaro";else if (m==4)cout<<"chahar hezaro";
    else if (m==5)cout<<"panj hezaro";else if (m==6)cout<<"shesh hezaro";
    else if (m==7)cout<<"haft hezaro";else if (m==8)cout<<"hasht hezaro";
    else if (m==9)cout<<"noh hezaro";}

    {if (r==1)cout<<" sado";else if (r==2)cout <<" devisto";
    else if (r==3)cout<<" siesado";else if (r==4)cout<<" charsado";
    else if (r==5)cout<<" pansado";else if (r==6)cout<<" shishsado";
    else if (r==7)cout<<" hafsado";else if (r==8)cout<<" hashsado";
    else if (r==9)cout<<" nohsado";}

    {if (w==1)cout<<" daho";else if (w==2)cout<<" best";
    else if (w==3)cout<<" siy";else if (w==4)cout<<" chahal";
    else if (w==5)cout<<" panjah";else if (w==6)cout<<" shast";
    else if (w==7)cout<<" haftad";else if (w==8)cout<<" hashtad";
    else if (w==9)cout<<" navad";}

    {if (b==1)cout<<"o yek";else if (b==2)cout<<"o doo";
    else if (b==3)cout<<"o see";else if (b==4)cout<<"o chahar";
    else if (b==5)cout<<"o panj";else if (b==6)cout<<"o shiesh";
    else if (b==7)cout<<"o haft";else if (b==8)cout<<"o hasht";
    else if (b==9)cout<<"o noeh";}
    }
    }
    getch();
    }

  2. #2
    کاربر دائمی آواتار mahak006
    تاریخ عضویت
    شهریور 1387
    محل زندگی
    کرج
    سن
    32
    پست
    278

    نقل قول: ((تبدیل تاریخ شمسی عددی به حروفی))

    با دستورات select()و for میشه پیاده سازیش کرد . از عملگر % روی اعداد صحیح استفاده کن .
    سال رو اگه در آوردی ، بقیش زیاد کاری داره . همشو با select () بنویس . ۱۲ ماه رو case های مختلفش قرار بده . چون برنامه لازم نیست چک کنه که تاریخ درست هست یا نه ( مثلا نخواسته که اگه بره نیمه دوم عدد روز رو ۳۱ گذاشتی ارور بگیره ) پس روز رو جدا از ماه حساب کن و لازم نیست تو هر case روز ها رو جداگونه بررسی کنی .
    ر کل برنامه راحتیه . فقط باید چیزای تکراری زیادی بنویسی .

  3. #3

    نقل قول: ((تبدیل تاریخ شمسی عددی به حروفی))

    دوست عزیز ممنون از جوابت
    اما یه مشکلی که دارم گفتن عدد از ورودی هست که نمیتونم با کراکتر ازهم جدا کنم
    مثال اینکه باید از وورودی 1391/12/12 بنویسم اما چون نمیتونم با کاراکتر از هم جدا کنم 1391 12 12 با فاصله از هم جدا میکنم؟
    راحلی هست؟؟؟

  4. #4
    کاربر دائمی آواتار mahak006
    تاریخ عضویت
    شهریور 1387
    محل زندگی
    کرج
    سن
    32
    پست
    278

    نقل قول: ((تبدیل تاریخ شمسی عددی به حروفی))

    نقل قول نوشته شده توسط Mrt-amin مشاهده تاپیک
    دوست عزیز ممنون از جوابت
    اما یه مشکلی که دارم گفتن عدد از ورودی هست که نمیتونم با کراکتر ازهم جدا کنم
    مثال اینکه باید از وورودی 1391/12/12 بنویسم اما چون نمیتونم با کاراکتر از هم جدا کنم 1391 12 12 با فاصله از هم جدا میکنم؟
    راحلی هست؟؟؟
    میتونی از token استفاده کنی . اما زیاد استادا به روش دریافت داده توجه نمی کنن . همین جوری هم می توی جدا جدا بگیری . اما اگه از token استفاده کنی ، باید اول مقدار ورودی رو کامل تو یه رشته بریزی و بعدش شروع کنی به گرفتن مقدار token از رشته و هر موقع token برابر '/' شد بری سراغ متغیر بعدی . token هم به صورت هدر فایل وجود داره و هم می تونی تو یه حلقه تعریفش کنی . من روش دوم رو رفتم .
    به این صورت که از اول رشته یه حلقه می ذاری که هر بار کارکتر iام رو تو متغیری از نوع char ( که همون token دستی خودت می شه ) ، میریزی و بعدش اون متغیر رو مورد ارزیابی قرار می دی و بعد از ارزیابی i++ انجام می دی تا کارکتر بعدی رو بگیری . شرط پایان حلقه هم رسیده به کارکتر '0\' هستش ( همون NULL به شکل کارکتری هستش .‌)

تاپیک های مشابه

  1. تابعی که برای تبدیل تاریخ شمسی به میلادی استفاده میشه!
    نوشته شده توسط zeinab03 در بخش برنامه نویسی در Delphi
    پاسخ: 2
    آخرین پست: چهارشنبه 12 بهمن 1384, 03:38 صبح
  2. تبدیل تاریخ شمسی به میلادی
    نوشته شده توسط ssmehizadeh در بخش برنامه نویسی در Delphi
    پاسخ: 1
    آخرین پست: دوشنبه 12 دی 1384, 12:35 عصر
  3. تبدیل تاریخ شمسی به میلادی
    نوشته شده توسط فاطمه هاشمیان در بخش C#‎‎
    پاسخ: 1
    آخرین پست: سه شنبه 24 خرداد 1384, 19:44 عصر
  4. تبدیل قیمت های عددی به حروفی
    نوشته شده توسط rezaei manesh در بخش VB.NET
    پاسخ: 8
    آخرین پست: یک شنبه 11 اردیبهشت 1384, 23:05 عصر
  5. شرمنده! تابع تبدیل تاریخ شمسی به میلادی
    نوشته شده توسط shsoft در بخش VB.NET
    پاسخ: 2
    آخرین پست: سه شنبه 02 دی 1382, 21:41 عصر

قوانین ایجاد تاپیک در تالار

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