/* Solusi penyelesaian dengan menggunakan variabel global
Variabel global dapat di akses langsung oleh setiap fungsi
tanpa harus dijadikan parameter fungsi. Untuk dapat mengakses setiap variabel global, nama variabel harus ditulis sama Tidak berarti variabel global tidak dapat diubah sebagai parameter fungsi. kalau sebagai parameter fungsi, aturannya tidak berbeda dengan variabel lokal
Contoh di bawah, setiap alat dibuat masing-masing 1 fungsi menyalakan mematikan dan cetak tagian sendiri-sendiri, perhatikan polanya sama semua. */ #include <stdio.h> #include <stdlib.h> #include <time.h>
void hidupkanalat(){ system("cls"); char hidup='0'; do{ hidup=menuhidupkanalat(); if(hidup=='1'){ system("cls"); if(MesinListrik1 == ON){ printf("Lampu1 sudah dalam keadaan menyala\n");} else{ NyalakanLampu1(); printf("Lampu1 berhasil dinyalakan\n"); } getch(); } else if(hidup=='2'){ system("cls"); if(MesinListrik2 == ON){ printf("Lampu2 sudah dalam keadaan menyala\n");} else{ NyalakanLampu2(); printf("Lampu2 berhasil dinyalakan\n"); } getch(); } else if(hidup=='3'){ system("cls"); if(MesinListrik3 == ON){ printf("Komputer sudah dalam keadaan menyala\n");} else{ NyalakanKomputer(); printf("Komputer berhasil dinyalakan\n"); } getch(); } else if(hidup=='4'){ system("cls"); if(MesinListrik4 == ON){ printf("AC sudah dalam keadaan menyala\n");} else{ NyalakanAC(); printf("AC berhasil dinyalakan\n"); } getch(); } else if(hidup=='5'){ system("cls"); if(MesinListrik5 == ON){ printf("TV sudah dalam keadaan menyala\n");} else{ NyalakanTV(); printf("TV berhasil dinyalakan\n"); } getch(); } }while(hidup!='6'); }
void matikanalat(){ system("cls"); int i,j; char mati='0'; do{ mati=menumatikanalat(); if(mati=='1'){ system("cls"); if(MesinListrik1 == OFF){ printf("Lampu1 tidak dalam keadaan menyala\n");} else{ MatikanLampu1(); printf("Lampu1 berhasil dimatikan setelah hidup selama %.3lf detik\n",waktuproses1);} getch(); } else if(mati=='2'){ system("cls"); if(MesinListrik2 == OFF){ printf("Lampu2 tidak dalam keadaan menyala\n"); } else{ MatikanLampu2(); printf("Lampu2 berhasil dimatikan setelah hidup selama %.3lf detik\n",waktuproses2);} getch(); } else if(mati=='3'){ system("cls"); if(MesinListrik3 == OFF){ printf("Komputer tidak dalam keadaan menyala\n"); } else{ MatikanKomputer(); printf("Komputer berhasil dimatikan setelah hidup selama %.3lf detik\n",waktuproses3);} getch(); } else if(mati=='4'){ system("cls"); if(MesinListrik4 == OFF){ printf("AC tidak dalam keadaan menyala\n"); } else{ MatikanAC(); printf("AC berhasil dimatikan setelah hidup selama %.3lf detik\n",waktuproses4);} getch(); } else if(mati=='5'){ system("cls"); if(MesinListrik5 == OFF){ printf("TV tidak dalam keadaan menyala\n"); } else{ MatikanTV(); printf("TV berhasil dimatikan setelah hidup selama %.3lf detik\n",waktuproses5);} getch(); } }while(mati!='6'); printf("\n"); CetakTagihanLampu1(); CetakTagihanLampu2(); CetakTagihanKomputer(); CetakTagihanAC(); CetakTagihanTV(); }