امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
به دادم برسيد !!!
نویسنده پیام
amir_eniac آفلاین
تازه وارد

ارسال‌ها: 4
موضوع‌ها: 2
تاریخ عضویت: بهمن ۱۳۸۴

تشکرها : 0
( 0 تشکر در 0 ارسال )
ارسال: #1
به دادم برسيد !!!
من تازه c++ را شروع كردم. ولي يك اشكال پيدا كردم پ هر كاري ميكنم درست نميشه.لطفا كمكم كنيد.
اينم كدها :
#include <iostream>
#include <conio>
#include <iomanip>
float salary (float *);

main()
{
float p ,sale;

cout << "enter the sales in dollar :" ;
cin >> p;
salary (&p);
cout << "salary is :" << setiosflags (ios::fixed | ios::showpoint)<<
setprecision(2) << sale << endl;
getch();
}
//***********************
float salary (float *h)
{
float ctr = 200.00 , sale ;
sale = ctr + (*h * 9.00 /100.00) ;
return (sale) ;
}

راستي اگر كد ها نا مشخص هستن كپي كنيد و جاي دگه پيست كنيد.
۲۲-بهمن-۱۳۸۴, ۱۵:۰۶:۴۹
ارسال‌ها
پاسخ
Mamad2003 آفلاین
کاربر با تجربه
****

ارسال‌ها: 1,150
موضوع‌ها: 18
تاریخ عضویت: آذر ۱۳۸۲

تشکرها : 9
( 388 تشکر در 232 ارسال )
ارسال: #2
 
دوست من سلام

كد شما بصورت زير تصحيح شد :

کد:
#include <iostream>
#include <conio.h>
#include <iomanip>
using namespace std;

float salary(float*);

void main()
{
float p ,sale;

cout << "enter the sales in dollar :" ;
cin >> p;
sale=salary (&p);
cout << "salary is :" << setiosflags (ios::fixed | ios::showpoint)<<
setprecision(2) << sale << endl;
getch();
}
//***********************
float salary (float *h)
{
float ctr = 200.00 , sale ;
sale = ctr + (*h * 9.00 /100.00) ;
return (sale) ;
}


اشكالات شما :

1-conio.h جز هدر هاي سي هست و توي STL نيست پس شما بايد پسوند h. رو ذكر كنيد !
2- استفاده نكردن از using namespace std . زمانيكه شما پسوندهاي h. رو براي هدرهاي استاندارد مثل iostream ذكر نكردين بايد مشخص كنيد كه از كدوم namespace براي توابع استاندارد توي برنامه خودتون ميخواييد استفاده كنيد و همين طور كه ميدونيد namespace توابع استاندارد std هست !
3-در كدي كه شما نوشته بوديد تابع salary كه داراي مقدار بازگشتي هست بدون توجه به مقدار بازگشتي فراخوني شده بود يعني شما فقط تابع salary رو توي main صدا زده بوديد اگر چه مقدار بازگشتي اون مهم هست !! در انتها شما متغير slae رو به خروجي مي فرستايد كه در اين صورت يك مقدار مخدوش يا همون Garbage value رو به شما بر مي گردوند . من اون خط رو به شكل زير تغيير دادم تا متغير slae شما معنا دار بشه !

کد:
sale=salary (&p);

گويند بهشت و حور و کوثر باشد  ..  جوي می و شير و شهد و شکر باشد
پر کن قدح باده و بر دستم نه      ..   نقدي ز هزار نسيه خوشتر باشد  
۲۲-بهمن-۱۳۸۴, ۱۵:۴۲:۵۹
ارسال‌ها
پاسخ
amir_eniac آفلاین
تازه وارد

ارسال‌ها: 4
موضوع‌ها: 2
تاریخ عضویت: بهمن ۱۳۸۴

تشکرها : 0
( 0 تشکر در 0 ارسال )
ارسال: #3
RE: به دادم برسيد !!!
سلام
لطفا در نوشتن این برنامه کمکم کنید:
عدد n را گرفته و ماتریسی به این صورت چاپ کند:
مثلا اگر n=3 باشد ماتریس به این صورت است
1 1 1 1 1
1 2 2 2 1
1 2 3 2 1
1 2 2 2 1
1 1 1 1 1

یا اگر n=4 باشد
1 1 1 1 1 1 1
1 2 2 2 2 2 1
1 2 3 3 3 2 1
1 2 3 4 3 2 1
1 2 3 3 3 2 1
1 2 2 2 2 2 1
1 1 1 1 1 1 1

و الی آخر. راستی اگر با C باشه خیلی بهتره.
با تشکر فراوان

۲۵-فروردین-۱۳۸۵, ۱۹:۴۹:۴۸
ارسال‌ها
پاسخ
Iron_Fist غایب
مدیر بازنشسته
*****

ارسال‌ها: 1,456
موضوع‌ها: 70
تاریخ عضویت: آبان ۱۳۸۴

تشکرها : 109
( 456 تشکر در 134 ارسال )
ارسال: #4
RE: به دادم برسيد !!!
ممد جان لذت می برم که انقدر کامل توضیح می دی !
من هم VC++ رو تازگی شروع کردم و حتما برای سوالاتم مزاحمت می شم ! [تصویر:  biggrin.gif]
۲۵-فروردین-۱۳۸۵, ۲۳:۰۳:۲۱
ارسال‌ها
پاسخ
Mamad2003 آفلاین
کاربر با تجربه
****

ارسال‌ها: 1,150
موضوع‌ها: 18
تاریخ عضویت: آذر ۱۳۸۲

تشکرها : 9
( 388 تشکر در 232 ارسال )
ارسال: #5
RE: به دادم برسيد !!!
نقل قول: سلام
لطفا در نوشتن این برنامه کمکم کنید:
عدد n را گرفته و ماتریسی به این صورت چاپ کند:
مثلا اگر n=3 باشد ماتریس به این صورت است..........

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

کد:
#include <stdio.h>
#include <conio.h>

void main()
{
    
    int a[10][10],g,p,t=0,i,j,tmp;
    printf("Please enter your number :");
    scanf("%d",&p);
    tmp=p;
    g=p--;

    while(g>=1)
    {
        for(i=p-t;i<=p+t;i++)
        {
            a[p-t][i]=g;
            a[p+t][i]=g;
            a[i][p-t]=g;
            a[i][p+t]=g;
        }

        g--;
        t++;
    }


    printf("Your matrix is :\n");
    for(i=0;i<2*tmp-1;i++)
    {
        for(j=0;j<2*tmp-1;j++)
            printf("%d ",a[i][j]);

        printf("\n");
    }

getch();

}

برای اینکه این برنامه با اعداد بزرگتر هم کار کنه ابعاد آرایه رو زیادتر کنید . در واقع طبق الگوریتم موجود اگر عدد شما n باشه اونوقت بعد آرایه شما باید 2n-1 باشه تا برنامه صحیح کار کنه !
امیدوارم مفید باشه !  

گويند بهشت و حور و کوثر باشد  ..  جوي می و شير و شهد و شکر باشد
پر کن قدح باده و بر دستم نه      ..   نقدي ز هزار نسيه خوشتر باشد  
(آخرین ویرایش در این ارسال: ۰۴-اردیبهشت-۱۳۸۵, ۰۳:۰۶:۵۴، توسط Mamad2003.)
۲۹-فروردین-۱۳۸۵, ۲۳:۵۵:۰۰
ارسال‌ها
پاسخ


پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS