Algoritma Pemrograman I : C++ Latihan Struct, Array dan Function (Expedisi Pengiriman Barang)

08/12/2012 09:49

Soal Latihan

/* TAMPILAN INPUT */

******************************************************

BSI EXPEDITION

SELALU MENJAGA AMANAH SEGENAP JIWA

                                                     ******************************************************

Nama Pelanggan         :.........<input>

Tgl * Bulan                  :.........<input>

Jumlah Pengiriman     :.........<input>

                                                           

Data Pengiriman   Ke : <data>

Kode Kota Tujuan      :.........<input>

Berat Barang            :.........<input>

 

/* TAMPILAN Output */

******************************************************

Faktur Pengiriman :

******************************************************

Nama Pelanggan         :                       Tgl & Bulan  :

******************************************************

No       Kota Tujuan                Berat               Harga

….       …………...                 ……                …….

….       ……………                ……                …….

******************************************************

Total Keseluruhan       :

Pajak                           :

Total Pembayaran       :

Ketentuan  Soal:

Kode

Tujuan

Berat

Harga

1

Bandung

>=100

40000

 

 

>=40

20000

 

 

 

10000

2

Semarang

>=100

75000

 

 

>=40

30000

 

 

 

20000

3

Yogya

>=100

80000

 

 

>=40

40000

 

 

 

20000

 

Total Keseluruhan = Total keseluruhan + harga

Pajak = 10% dari total keseluruhan

Total pembayaran = total keseluruhan + pajak

 

 

Listing Program:

#include<stdio.h>

#include<conio.h>

#include<iostream.h>

    struct

    {   

        char kode, *tj;

        int brt, hrg;

    }dewi[8];

    char np[20], tgl[18];

    long int tokes=0, pajak, tobay;

    int a, jml;

main()

{

    cout<<"\t***************************************"<<endl;

    cout<<"\t\t   BSI EXPEDITION "<<endl;

    cout<<"\t\SELALU MENJAGA AMANAH SEGENAP JIWA"<<endl;

    cout<<"\t***************************************"<<endl;

    cout<<" Nama Pelanggan          : ";gets(np);

    cout<<" Tgl & Bulan             : ";gets(tgl);

    cout<<endl;

    cout<<" Jumlah Pengiriman       : ";cin>>jml;

    for(a=1;a<=jml;a++)

    {

        cout<<" Data Pengiriman Ke-     : "<<a<<endl;

        cout<<" Kode Kota Tujuan        : ";cin>>dewi[a].kode;

        cout<<" Berat Barang            : ";cin>>dewi[a].brt;

            switch(dewi[a].kode)

            {   

                case '1' :

                {dewi[a].tj="Bandung";}

                    if(dewi[a].brt>=100)

                        {dewi[a].hrg=40000;}

                    else if(dewi[a].brt>=40)

                        {dewi[a].hrg=20000;}

                    else

                        {dewi[a].hrg=10000;}

                break;

 

                case '2':

                {dewi[a].tj="Semarang";}

                    if(dewi[a].brt>=100)

                        {dewi[a].hrg=75000;}

                    else if(dewi[a].brt>=40)

                        {dewi[a].hrg=30000;}

                    else

                        {dewi[a].hrg=20000;}

                break;

 

                case '3' :

                {dewi[a].tj="Yogya";}

                    if(dewi[a].brt>=100)

                        {dewi[a].hrg=80000;}

                   else if(dewi[a].brt>=40)

                        {dewi[a].hrg=40000;}

                    else

                        {dewi[a].hrg=20000;}

                break;

            }

    tokes=tokes + dewi[a].hrg;

    pajak=0.10 * tokes;

    tobay=tokes + pajak;

    }

 

clrscr();

cout<<***************************************** "<<endl;

cout<<" Faktur Pengiriman  : "<<endl;

cout<<"**************************************** "<<endl;

cout<<" Nama Pelanggan : "<<np<<ends<<ends<<ends<<ends<<ends<<ends;                                                cout<<"Tgl&bln : "<<tgl<<endl;

cout<<"**************************************** "<<endl;

    gotoxy(2,6);cout<<"No";

    gotoxy(6,6);cout<<"Kota Tujuan";

    gotoxy(19,6);cout<<"Berat";

    gotoxy(26,6);cout<<"Harga";

 

    for(a=1;a<=jml;a++)

    {

        gotoxy(2,7+a);cout<<a;

        gotoxy(6,7+a);cout<<dewi[a].tj;   

        gotoxy(19,7+a);cout<<dewi[a].brt;

        gotoxy(26,7+a);cout<<dewi[a].hrg;

    }

    cout<<"**************************************** "<<endl;

    cout<< " Total Keseluruhan  : "<<tokes<<endl;

    cout<< " Pajak              : "<<pajak<<endl;

    cout<< " Total Pembayaran   : "<<tobay<<endl;   

    cout<<"**************************************** "<<endl;

    getch();

}