Entri Populer

tugas Untuk mata kuliah RISTI

untuk tugas matkul risti Diurutkan dari yang paling bawah
dan di sana sudah ada absensi dan nomer soal yang akan dikerjakan oleh masing - masing mahasiswa

Rabu, 22 September 2010

source code parkiran mobil

#include "stdio.h"
#include "string.h"
#include "stdlib.h"
#include "conio.h"
#include "iostream.h"



typedef struct mbl2
{
    int jm;
    int mnt;
}keluar;

typedef struct mbl
{
    int jam;
    int menit;
}masuk;

struct mobil{

    char  nopol[10];
    mbl masuk;
    mbl2 keluar;
    char status[10];
    int  tarif;
    int  tarif2;
    int  tot_tarif;
   
};
mobil data[10];


void memasukan_data(int &n)
{
   
    int a=0;
    char kode_cari[15];
    system("cls");

    fflush(stdin);
   
    printf("------------------------\n");
    printf(" Entry Data Mobil Masuk    \n");
    printf("------------------------\n");
    printf("\n");
    printf("\n");
    printf("\n");
    printf("masukkan NOPOL mobil    =");
    gets (kode_cari);
    for(int i=0;i
    {
        if(strcmp(data[i].nopol,kode_cari)==0)
        {
            a=1;
        }
    }
    strcpy(data[n].nopol,kode_cari);
    if(a==0)
    {
       
        printf("\n\nStatus mobil yang diparkir !\n\n");
       
        printf("masukkan status parkir =");
        gets(data[n].status);

        if(data[n].status=="tidakparkir")
        {
            printf("\nanda memang payah jika tidak parkir");
        }

        printf("\n\nJam masuk mobil (format 24 jam)!\n\n");

        printf("masukkan jam =");
        scanf("%d",&data[n].masuk.jam);
        printf("masukkan menit =");
        scanf("%d",&data[n].masuk.menit);

        printf("\ndata ke-%d sudah disimpan\n",n+1);
    }
    else
    {
        puts ("data tidak valid[kembar]");
        data[n].nopol[0]=NULL;
        n--;
    }
   
    puts("tekan 'ENTER' untuk lanjut");
    getch();
    n++;
}


void keluarkan_data(int &n)
{
   
    int a=1;
    char kode_cari[15];
    system("cls");

    fflush(stdin);
   
    printf("-------------------------\n");
    printf(" Entry Data Mobil Keluar \n");
    printf("-------------------------\n");
    printf("\n");
    printf("\n");
    printf("\n");

    printf("masukkan NOPOL mobil    =");
    gets (kode_cari);
    for(int i=0;i
    {
        if(strcmp(data[i].nopol,kode_cari)==1)
        {
            a=0;
        }
    }
    strcpy(data[n].nopol,kode_cari);
    if(a==0)
    {
       
        printf("\n\nStatus mobil yang diparkir !\n\n");
       
        printf("masukkan status parkir =");
        gets(data[n].status);

        printf("\n\nJam keluar mobil (format 24 jam)!\n\n");

        printf("masukkan jam =");
        scanf("%d",&data[n].keluar.jm);
        printf("masukkan menit =");
        scanf("%d",&data[n].keluar.mnt);

        printf("\ndata ke-%d sudah disimpan\n",n+1);

       

        if(n==0)
        {
            puts("penghapusan gagal");
        }
        else
        {
            printf("------------------------------------------\n");
            printf("    Mobil Yang Keluar Dari Parking Lot    \n");
            printf("------------------------------------------\n");
            for (int i=0;i
                printf("NOPOL Mobil =%s    ",data[i].nopol);
        }
                fflush(stdin);
                puts(" ");
                printf("masukkan NOPOL Mobil {yang akan keluar}:");
                gets (kode_cari);

                for(int i=0;i
                {
                    if(strcmp(data[i].nopol,kode_cari)==0)
                    {
                        printf("\n");
                        printf(">>>Data Ditemukan<<<");
                        printf("\n\n");
                        printf("data mobil ke - %d telah keluar !\n",n+1);
               
                        for(int k=i;k
                        {
                            strcpy(data[k].nopol,data[k+1].nopol);
                            data[k].masuk.jam=data[k+1].masuk.jam;
                            data[k].masuk.menit=data[k+1].masuk.menit;
                            data[k].keluar.jm=data[k+1].keluar.jm;
                            data[k].keluar.mnt=data[k+1].keluar.mnt;
                            strcpy(data[k].status,data[k+1].status);
                        }
                        n--;
                    }

                    printf("\n\nTarif Parkir\n\n");

                    printf("Tarif per jam : Rp 1000,-\n");
                    printf("Jika lebih dari 1 menit maka dihitung 2 jam\n");
                    printf("\n");
                    printf("\n");

                    data[n].tarif=(data[n].keluar.jm)-(data[n].masuk.jam);
                    data[n].tarif2=(data[n].keluar.mnt)-(data[n].masuk.menit);

               
                    data[n].tarif=data[n].tarif*1000;
                    if(data[n].tarif2>0)
                    data[n].tot_tarif=data[n].tarif+1000;

                    printf("Total tarif anda adalah %d \n",data[n].tot_tarif);


                }
                puts(" ");
                puts("ENTER");
                getch();
           

    }

    else
    {
        puts ("data tidak valid[kembar]");
        data[n].nopol[0]=NULL;
        n--;
    }
   
    puts("tekan 'ENTER' untuk lanjut");
    getch();
    n++;
}


       
void menampilkan(int &n)
{
   
    system("cls");

    fflush(stdin);

    FILE *fparkir;
    fparkir = fopen("dbase.txt","at");

    if(n==0)
    {
        puts("Percetakan Data Gagal");
    }
    else
    {
        printf("=======================================================================\n");
        printf("No.|NO.POLISI|MOBIL MASUK Jam&Menit\t|MOBIL KELUAR Jam&Menit\t|TARIF\t|\n");
        printf("========================================================================\n");
        for (int i=0;i
        {
            printf("\n%d  |%s\t\t|%d : %d\t|%d : %d\t|%d\t|\n",i+1,data[i].nopol,data[i].masuk.jam,data[i].masuk.menit,data[i].keluar.jm,data[i].keluar.mnt,data[i].tot_tarif);
            fprintf(fparkir,"\n%d  |%s\t\t|%d : %d\t|%d : %d\t|%d\t|\n",i+1,data[i].nopol,data[i].masuk.jam,data[i].masuk.menit,data[i].keluar.jm,data[i].keluar.mnt,data[i].tot_tarif);
        }
           
        getch();

    }
        fclose (fparkir);
    puts("ENTER");
    getch();
}

/*void tot_pendapatan(int &n)
{
    fflush(stdin);
    for(int i=0;i
    int total = data[n].tot_tarif*i;
}*/


void mencari(int n)
{
    char cari[15];

    system("cls");
    fflush(stdin);
    puts(" ");
    printf("masukkan NOPOL mobil yang akan dicari:");
    gets(cari);

    for(int i=0;i
    {
        if(strcmp(data[i].nopol,cari)==0)
        {
            printf("\n");
            printf("NOPOL ditemukan");
            printf("\n\n");
        }

    if(n==0)
    {
        puts("Pengubahan Gagal");
    }else
    {
        printf("=======================================================================\n");
        printf("No.|NO.POLISI|MOBIL MASUK Jam&Menit\t|MOBIL KELUAR Jam&Menit\t|TARIF\t|\n");
        printf("========================================================================\n");
        for (int i=0;i
        {
            printf("\n%d  |%s\t\t|%d : %d\t|%d : %d\t|%d\t|\n",i+1,data[i].nopol,data[i].masuk.jam,data[i].masuk.menit,data[i].keluar.jm,data[i].keluar.mnt,data[i].tot_tarif);
           
        }

        getch();
    }
   
    }

}


void main(void)
{
    int pilihan,n=0;
    do
    {
        fflush(stdin);
        system("cls");
        printf("=====================================================\n");
        printf("\t Program Data Parkir Mobil PT.MAJU TERUS \n");
        printf("=====================================================\n");
        printf("1.    Entry Data Mobil Masuk \n");
        printf("2.    Entry Data Mobil Keluar dan tarif\n");
        printf("3.    Search Data Mobil \n");   
        printf("4.    Data Show \n");
        printf("5.    Exit\n");
        printf("\n masukkan pilihan anda (1-6) :");
        scanf("%d",&pilihan);
        switch (pilihan)
        {
        case 1 :
            memasukan_data(n);
            break;
        case 2 :
            keluarkan_data(n);
            break;
        case 3 :
            mencari(n);
            break;
        case 4 :
            menampilkan(n);
            break;
        case 5 :

            puts ("Anda telah keluar dari program ini !");
            puts ("terima kasih telah memakai program ini !");
            break;
        default :
            puts("maaf,menunya hanya enam saja !!!");
            puts("ENTER untuk lanjut");
            getch();
        }
        printf("\n");
    }
    while (pilihan !=6);
}

1 komentar: