KUMPULAN PROGRAM C++ TUGAS AKHIR MATA KULIAH PBP
D I S U S U N OLEH 1. FRANSESCO AGNES RANUBAYA NIM : 2008 120 48 2. SAMSUL NIM : 2008 120 3. KORNELIUS RIKI NIM : 2008 120 AKADEMI MANAJEMEN KOMPUTER DAN INFORMATIKA AMKI KETAPANG 2009
DAFTAR ISI
A. PROGRAM C++ PELAYANAN RUMAH SAKIT Konsep: - program C++ berdiagram objek. - jenis program ada INPUT --> OUTPUT.. #include
#include using namespace std; // Function prototypes char getChoice(); double patientCharges(int, double, double, double); // In-patient double patientCharges(double, double); // Out-patient int main() { char patientType; // I=in-patient, O=out-patient int days; // Number of days of hospital stay double roomRate, // Daily room rate medication, // Total medication charges services, // Total for tests and other services totalCharges; // Total of all charges // Input and validate patient type cout << "This program will compute patient hospital charges.\n"; cout << "Enter I for in-patient or O for out-patient: "; patientType=getChoice(); //Process the menu selection switch (patientType) { //Inpatient case 'I': case 'i': cout << "The number of days spent in the hospital: "; cin >> days; cout << "The daily rate: "; cin >> roomRate; cout << "Charges for hospital service: "; cin >> services; cout << "Hospital medicaion charges; "; cin >> medication; cout << patientCharges (days, roomRate, services, medication) << endl; totalCharges=(days*roomRate) + services + medication; break;
//Outpatient case 'O': case 'o': cout << "Charges for hospital services: "; cin >> services; cout << "Hospital medication charges: "; cin >> medication; cout << patientCharges (services, medication) << endl; totalCharges= services + medication; }
// Display the billing statment cout << fixed << showpoint << setprecision(2) << endl << endl; cout << "******************************\n"; if (patientType == 'I' && patientType == 'i') cout << "Room charges $" << setw(8) << days*roomRate << endl; if (services > 0.0) cout << "Lab & Services $" << setw(8) << services << endl; if (medication > 0.0) cout << "Medication $" << setw(8) << medication << endl; cout << "Total charges $" << setw(8) << totalCharges << endl; cout << "******************************\n";
return 0; }// End of main function //************************************... // Definition of function getChoice * // Accepts and returns user's validated menu choice. * //************************************... char getChoice() { char letter; // Holds user's letter choice // Get the user's choice cin >> letter; // Validate the choice while (letter != 'I' && letter != 'i' && letter != 'O' && letter != 'o') { cout << "Enter I or O: ";
cin >> letter; } // Return the choice return letter; } /*************************************... * patientCharge * * This function is called by main to calculate and return * * total patient charges for in-patients * **************************************... double patientCharges(int days, double rate, double med, double serv) { return (days*rate) + med + serv; }// end overload function patientCharges /*************************************... * patientCharge * * This function is called by main to calculate and return * * total patient charges for out-patients * **************************************... double patientCharges(double med, double serv) { return med + serv; }// end overload function patientCharges
B. Program berstruktur pengulangan dengan counter: Petunjuk: 1. Gunakan langkah-langkah pembuatan template program seperti pada program sederhana I (“Hello World!) yang lalu , tetapi gunakan Project_name yang berbeda,misalnya Program5 2. Gantilah blok program fungsi main ( ingat,yang dimaksud blok adalah barisan perintah diantara { dan } dari fungsi main),dengan yang berikut: int counter; /* number of grade to be entered next */ int grade; /* grade value */ int total; /* sum of grades input by user */ int average; /* average of grades */
/* initialization phase */ total = 0; /* initialize total */ counter = 1; /* initialize loop counter */ /* processing phase */ while ( counter <= 10 ) { /* loop 10 times */ printf( "Enter grade: " ); /* prompt for input */ scanf( "%d", &grade ); /* read grade from user */ total = total + grade; /* add grade to total */ counter = counter + 1; /* increment counter */ } /* end while */ /* termination phase */ average = total / 10; /* integer division */ printf( "Class average is %d\n", average ); /* display result */ return 0; /* indicate program ended successfully */ Output Program: Enter grade: 98 Enter grade: 76 Enter grade: 71 Enter grade: 87 Enter grade: 83 Enter grade: 90 Enter grade: 57 Enter grade: 79 Enter grade: 82 Enter grade: 94 Class average is 81
C. Program berstruktur pengulangan dengan sentinel: Petunjuk: 1. Gunakan langkah-langkah pembuatan template program sama seperti di atas, tetapi gunakan Project_name yang berbeda,misalnya Program6 2. Gantilah blok program fungsi main,dengan yang berikut: int counter; /* number of grades entered */ int grade; /* grade value */ int total; /* sum of grades */ float average; /* number with decimal point for average */ /* initialization phase */ total = 0; /* initialize total */ counter = 0; /* initialize loop counter */ /* processing phase */ /* get first grade from user */
printf( "Enter grade, -1 to end: " ); /* prompt for input */ scanf( "%d", &grade ); /* read grade from user */ /* loop while sentinel value not yet read from user */ while ( grade != -1 ) { total = total + grade; /* add grade to total */ counter = counter + 1; /* increment counter */ /* get next grade from user */ printf( "Enter grade, -1 to end: " ); /* prompt for input */ scanf("%d", &grade); /* read next grade */ } /* end while */ /* termination phase */ /* if user entered at least one grade */ if ( counter != 0 ) { /* calculate average of all grades entered */ average = ( float ) total / counter; /* avoid truncation */ /* display average with two digits of precision */ printf( "Class average is %.2f\n", average ); } /* end if */ else { /* if no grades were entered, output message */ printf( "No grades were entered\n" ); } /* end else */ return 0; /* indicate program ended successfully */
Output Program: Enter grade, -1 to end: 75 Enter grade, -1 to end: 94 Enter grade, -1 to end: 97 Enter grade, -1 to end: 88 Enter grade, -1 to end: 70 Enter grade, -1 to end: 64 Enter grade, -1 to end: 83 Enter grade, -1 to end: 89 Enter grade, -1 to end: -1 Class average is 82.50 Enter grade, -1 to end: -1 No grades were entered
D. Program berstruktur kondisi switch dan pengulangan dengan sentinel.Sentinel yang digunakan adalah karakter EOF yaitu apabila user menekan tombol Ctrl+Z Petunjuk: 1. Gunakan langkah-langkah pembuatan template program sama seperti program sebelumnya, tetapi gunakan Project_name yang berbeda,misalnya Program7 2. Gantilah blok program fungsi main,dengan yang berikut: int grade; /* one grade */ int aCount = 0; /* number of As */ int bCount = 0; /* number of Bs */ int cCount = 0; /* number of Cs */ int dCount = 0; /* number of Ds */ int fCount = 0; /* number of Fs */ printf( "Enter the letter grades.\n" ); printf( "Enter the EOF character to end input.\n" ); /* loop until user types end-of-file key sequence */ while ( ( grade = getchar() ) != EOF ) { /* determine which grade was input */ switch ( grade ) { /* switch nested in while */ case 'A': /* grade was uppercase A */ case 'a': /* or lowercase a */ ++aCount; /* increment aCount */ break; /* necessary to exit switch */ case 'B': /* grade was uppercase B */ case 'b': /* or lowercase b */ ++bCount; /* increment bCount */ break; /* exit switch */
case 'C': /* grade was uppercase C */ case 'c': /* or lowercase c */ ++cCount; /* increment cCount */ break; /* exit switch */ case 'D': /* grade was uppercase D */ case 'd': /* or lowercase d */ ++dCount; /* increment dCount */ break; /* exit switch */ case 'F': /* grade was uppercase F */ case 'f': /* or lowercase f */ ++fCount; /* increment fCount */ break; /* exit switch */ case '\n': /* ignore newlines, */ case '\t': /* tabs, */ case ' ': /* and spaces in input */ break; /* exit switch */ default: /* catch all other characters */ printf( "Incorrect letter grade entered." ); printf( " Enter a new grade.\n" ); break; /* optional; will exit switch anyway */ } /* end switch */ } /* end while */ /* output summary of results */ printf( "\nTotals for each letter grade are:\n" ); printf( "A: %d\n", aCount ); /* display number of A grades */ printf( "B: %d\n", bCount ); /* display number of B grades */ printf( "C: %d\n", cCount ); /* display number of C grades */ printf( "D: %d\n", dCount ); /* display number of D grades */ printf( "F: %d\n", fCount ); /* display number of F grades */ return 0; /* indicate program ended successfully */ Output Program: Enter the letter grades. Enter the EOF character to end input.
a b c C A d f C E Incorrect letter grade entered. Enter a new grade. D
A b ^Z Totals for each letter grade are: A: 3 B: 2 C: 3 D: 2 F: 1 E. Program C+ + untuk segitiga Pascal #include #include int main(){ int n,i,j,tmp1,tmp2; vector arr; bool odd; cin>>n; arr.push_back(0); arr.push_back(1); if (n>=1) cout<=1;j–) cout<
return 0; }