Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <string.h>
- #include <stdlib.h>
- typedef struct {
- char *Nama;
- float JamM;
- float JamK;
- float JamR;
- float JumK;
- float TotB;
- } pengguna;
- typedef struct {
- float HH;
- float MM;
- float SS;
- } Jam;
- int N=1;
- int i=0;
- pengguna Dt_Rental[100];
- Jam Jam_Masuk[100];
- Jam Jam_Keluar[100];
- void input(){
- system("cls");
- printf("USER %d\n",i+1);
- printf("Nama :"); Dt_Rental[i].Nama = (char*) malloc (30 * sizeof(char)); fflush(stdin); gets(Dt_Rental[i].Nama);
- printf("Jam Masuk : "); scanf("%f %f %f",&Jam_Masuk[i].HH,&Jam_Masuk[i].MM,&Jam_Masuk[i].SS);
- while (Jam_Masuk[i].HH<0 || Jam_Masuk[i].MM<0 || Jam_Masuk[i].SS<0 || Jam_Masuk[i].HH>23 || Jam_Masuk[i].MM>59 || Jam_Masuk[i].SS>59){
- printf("Format Jam Salah\n");
- printf("Jam Masuk : "); scanf("%f %f %f",&Jam_Masuk[i].HH,&Jam_Masuk[i].MM,&Jam_Masuk[i].SS);
- }
- printf("Jam Keluar : "); scanf("%f %f %f",&Jam_Keluar[i].HH,&Jam_Keluar[i].MM,&Jam_Keluar[i].SS);
- while (Jam_Keluar[i].HH<0 || Jam_Keluar[i].MM<0 || Jam_Keluar[i].SS<0 || Jam_Keluar[i].HH>23 || Jam_Keluar[i].MM>59 || Jam_Keluar[i].SS>59) {
- printf("Format Jam Salah\n2");
- printf("Jam Keluar : "); scanf("%f %f %f",&Jam_Keluar[i].HH,&Jam_Keluar[i].MM,&Jam_Keluar[i].SS);
- }
- printf("Kertas Yang Dipakai (Lembar)\t: "); scanf("%f",&Dt_Rental[i].JumK);
- }
- void hitung(){
- Dt_Rental[i].JamM = (Jam_Masuk[i].HH * 3600) + (Jam_Masuk[i].MM * 60) + Jam_Masuk[i].SS;
- Dt_Rental[i].JamK = (Jam_Keluar[i].HH * 3600) + (Jam_Keluar[i].MM * 60) + Jam_Keluar[i].SS;
- Dt_Rental[i].JamR = (Dt_Rental[i].JamK - Dt_Rental[i].JamM) / 3600;
- Dt_Rental[i].TotB = (Dt_Rental[i].JamR * 3000) + (Dt_Rental[i].JumK * 250);
- if (Dt_Rental[i].TotB > 10000)
- Dt_Rental[i].TotB = Dt_Rental[i].TotB - 1000;
- }
- void tampil(){
- system("cls");
- int a,x=0;
- while (x<N){
- printf("---------------- USER %-2d ----------------\n",x);
- printf("Nama : %s\n",Dt_Rental[x].Nama);
- printf("Masuk : %.0f.%.0f.%.0f (WIB)\n",Jam_Masuk[x].HH,Jam_Masuk[x].MM,Jam_Masuk[x].SS);
- printf("Keluar : %.0f.%.0f.%.0f (WIB)\n",Jam_Keluar[x].HH,Jam_Keluar[x].MM,Jam_Keluar[x].SS);
- printf("Durasi : %.0f Jam\n",Dt_Rental[x].JamR);
- printf("Kertas : %.0f Lembar\n",Dt_Rental[x].JumK);
- printf("Total : Rp %.4f\n",Dt_Rental[x].TotB);
- x++;
- }
- printf("Ketik Apa Saja, Untuk Kembali Ke Menu");
- getche();
- main();
- }
- void rental(){
- int a;
- while(i<N){
- input();
- hitung();
- i++;
- printf("Ketik 0, Untuk Kembali Ke Menu\nKetik 1 Untuk Melanjutkan\n "); scanf("%d",&a);
- switch (a){
- case 0 : main(); break;
- case 1 : N++; break;
- }
- }
- }
- void menu(){
- system("cls");
- printf("+-------------- SELAMAT DATANG --------------+\n");
- printf("| USER TERDAFTAR %4d |\n",i);
- printf("+--------------------------------------------+\n");
- printf("| 1. INPUT USER |\n");
- printf("| 2. TAMPILKAN DATA |\n");
- printf("| 9. KELUAR |\n");
- printf("+--------------------------------------------+\n");
- }
- int main(){
- int a=0;
- menu();
- printf("Pilih : "); scanf("%d",&a);
- switch (a){
- case 9 : return 0; break;
- case 1 : rental(); break;
- case 2 : tampil(); break;
- default : main();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement