پروژه برنامه مویسی

پروژه برنامه نویسی

پروژه برنامه مویسی

پروژه برنامه نویسی

12-3

این سوال کمی طولانی است اما کاربردی تر هست.

--------

پارکینگی برای سه ساعت توقف حداقل 2 دلار و برای هر ساعت اضافه بر سه ساعت 0.50 دلار از راننده می گیرد. برای هر دوره ی 24 ساعتی حداکثر مبلغ پرداخت 10 دلار است. فرض کنید هیچ خودرویی بیشتر از دو ساعت توقف نمی کند. برنامه ای به زبان ++C بنویسید که مبلغ پرداختی را برای هر یک از سه مشتری که روز قبل خوذروی خود را در این پارکینگ پارک کرده اند محاسبه کرده و مبلغ پرداختی را نمایش دهد. کاربر باید تعداد ساعات توقف را برای هر مشتری وارد نماید. برنامه باید نتایج را به صورت جدول زیر در خروجی نمایش دهد و جمع کل مبلغ های روز گذشته را نیز محاسبه کرده و نمایش دهد. در برنامه باید از تابع calculateCharges برای مبلغ پرداختی هر یک از مشتری ها استفاده کنید.

Car        Hours          Charge

1           1.5              2.00

2           4.0              2.50

3           24.0            10.00

Total     29.5            14.50

-----------------------------------------------------------------------------

#include<iostream>

using std::cout;

using std::endl;

using std::cin;

using std::ios;

#include<iomanip>

using std::setw;

using std::setprecision;

using std::setiosflags;

#include<cmath>

double calculateCharges( double );

int main()

{

double hour, currentCharge, totalCharges = 0.0, totalHours = 0.0;

int first = 1;

cout << "Enter the hours parked for 3 care: ";

for( int i = 1; i <= 3; i++ ) {

cin >> hour;

totalHours += hour;

if ( first ) {

cout << setw( 5 ) << "Car" << setw( 15 ) << "Hours"

<< setw( 15 ) << "Charge\n";

first = 0;   // prevents this from printing again

}

totalCharges += (currentCharge = calculateCharges( hour ) );

cout << setiosflags(ios::fixed | ios::showpoint )

<< setw( 3 ) << i << setw( 17 ) << setprecision( 1 ) << hour

<< setw( 15 ) << setprecision( 2 ) << currentCharge << "\n";

}

cout << setw( 7 ) << "Total" << setw( 13 ) << setprecision( 1 )

<< totalHours << setw( 15 ) << setprecision( 2 )

<< totalCharges << endl;

return 0;

double calculateCharges( double hours )

{

double charge;

if ( hours < 3.0 )

charge = 2.0;

else if ( hours < 19.0 )

charge = 2.0 + .5 * ceil( hours - 3.0 );

else

charge = 10.0;

return charge;

}

نظرات 0 + ارسال نظر
امکان ثبت نظر جدید برای این مطلب وجود ندارد.