• Tidak ada hasil yang ditemukan

KUMPULAN PROGRAM C++ TUGAS AKHIR MATA KULIAH PBP D I S U S U N OLEH

N/A
N/A
Protected

Academic year: 2021

Membagikan "KUMPULAN PROGRAM C++ TUGAS AKHIR MATA KULIAH PBP D I S U S U N OLEH"

Copied!
11
0
0

Teks penuh

(1)

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

(2)
(3)

A. PROGRAM C++ PELAYANAN RUMAH SAKIT

Konsep:

- program C++ berdiagram objek.

- jenis program ada INPUT --> OUTPUT.. #include <iostream>

#include <iomanip> 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 <strong class="highlight">hospital</strong> 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 <strong class="highlight">program</strong> will compute patient <strong class="highlight">hospital</strong> 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 <strong class="highlight">hospital</strong>: "; cin >> days;

cout << "The daily rate: "; cin >> roomRate;

cout << "Charges for <strong class="highlight">hospital</strong> service: "; cin >> services;

cout << "Hospital medicaion charges; "; cin >> medication;

cout << patientCharges (days, roomRate, services, medication) << endl; totalCharges=(days*roomRate) + services + medication;

(4)

//Outpatient case 'O':

case 'o': cout << "Charges for <strong class="highlight">hospital</strong> 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') {

(5)

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 */

(6)

/* 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 */

(7)

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 */

(8)

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 */

(9)

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

(10)

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 <iostream.h> #include <vector.h> int main(){

int n,i,j,tmp1,tmp2;

vector <unsigned long long> arr; bool odd; cin>>n; arr.push_back(0); arr.push_back(1); if (n>=1) cout<<arr[1]<<’\n’; for (i=2;i<=n;i++){ odd=i%2; tmp1=0; for (j=1;j<=i/2;j++){ tmp2=arr[j]; arr[j]=tmp1+arr[j]; tmp1=tmp2; }

for (j=1;j<=i/2;j++) cout<<arr[j]<<’ ‘; if (odd) {

arr.push_back(2*tmp1); cout<<arr[i/2+1]<<’ ‘; }

for (j=i/2;j>=1;j–) cout<<arr[j]<<’ ‘; cout<<’\n’;

(11)

return 0; }

Referensi

Dokumen terkait