Advertisement
Agus_Darmawan

solve presentasi Irvan

Aug 7th, 2019
246
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 4.05 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #include <windows.h>
  5.  
  6. void tambahDataWarga();
  7. void tampilDataWarga();
  8. void gotoxy();
  9.  
  10. //deklarasi file
  11. FILE *f;
  12. COORD coord = {0,0};
  13. //materi struct
  14. typedef struct Warga{
  15.     char nama[100];
  16.     char alamat[100];
  17.     char ktp[15];
  18.     int umur;
  19.     char jenisKelamin;
  20. } Warga;
  21. //inisialisasi struct
  22. Warga b;
  23.  
  24. void gotoxy(int x, int y){
  25.     coord.X = x;
  26.     coord.Y = y;
  27.     SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),coord);
  28. }
  29.  
  30. void tambahDataWarga(){
  31.  
  32.  
  33.     struct Warga biodataBaru;
  34.  
  35.     f = fopen("textPercobaan.txt", "a");
  36.  
  37.     if(f == NULL) {
  38.         printf("File tidak bisa diproses!");
  39.         exit(1);
  40.     }
  41.  
  42.     printf("Masukkan nama anda: ");
  43.     fflush(stdin); gets(biodataBaru.nama);
  44.     printf("Masukkan asal daerah: ");
  45.     fflush(stdin); gets(biodataBaru.alamat);
  46.     printf("Masukkan no ktp: ");
  47.  
  48.     gotoxy(0,14); printf("Warning: ");
  49.     char potongan;
  50.     int i;
  51.     int x = 17;
  52.     int y = 9;
  53.     for(i = 0; i <= 15; ){
  54.         gotoxy(x,y); fflush(stdin); potongan = getch();
  55.         if(((potongan - '0') < 0) || (((potongan - '0') > 9))){
  56.             gotoxy(9,14); printf("jangan memasukkan selain number!");
  57.             gotoxy(x,y);
  58.         }else{
  59.             gotoxy(x,y); printf("%c",potongan);
  60.             biodataBaru.ktp[i] = potongan;
  61.  
  62.             // naikkan koordinat x
  63.             x++;
  64.             // digunakan untuk mengisi posisi array yang selanjutnya
  65.             i++;
  66.         }//akhir if else
  67.     } // akhir for
  68.     gotoxy(0,14); printf("                                                                             "); // untuk  menghapus tulisan warning: dan pesan errornya
  69.  
  70.     gotoxy(0,12); printf("Masukkan umur anda: ");
  71.     scanf("%i",&biodataBaru.umur);
  72.  
  73.     printf("Pilih jenis kelamin [l/p]: ");
  74.     fflush(stdin); biodataBaru.jenisKelamin = getchar();
  75.  
  76.     fwrite(&biodataBaru, sizeof(biodataBaru), 1, f);
  77.     fclose(f);
  78. }
  79.  
  80. void tampilDataWarga(){
  81.  
  82.     f = fopen("textPercobaan.txt", "r");
  83.  
  84.     if(f == NULL){
  85.         // kalo error. program loncat kesini
  86.         printf("File tidak bisa diproses!\n");
  87.         printf("Mungkin file belum ada, silahkan pilih tambahkan data warga\n");
  88.         exit(1);
  89.     }
  90.  
  91.     // kalo ga error. program loncat kesini
  92.     int i = 1;
  93.  
  94.     printf("====== Tampilkan Semua Data ======\n");
  95.  
  96.  
  97.     //for(;;){
  98.     while(fread(&b, sizeof(b), 1, f)){
  99.         //(fread(&b, sizeof(b), 1, f));
  100.  
  101.         //if(feof(f)) break;
  102.  
  103.  
  104.         printf("%i.\tNama: %s\n", i , b.nama);
  105.         printf("\tAsal: %s\n", b.alamat);
  106.         printf("\tKTP: ");
  107.         int j;
  108.         for(j = 0; j <=15; j++){
  109.             printf("%c",b.ktp[j]);
  110.         }
  111.  
  112.         printf("\n\tUmur: %i\n",b.umur);
  113.         printf("\tJenis Kelamin: %c\n",b.jenisKelamin);
  114.  
  115.         i++;
  116.     }
  117.  
  118.     fclose(f);
  119.     printf("===================================\n");
  120. }
  121.  
  122. int main(){
  123.     char pilihMenuUtama;
  124.  
  125.     do {
  126.         //system itu gunanya untuk memanggil semua fungsi yang bisa di panggil di dalam cmd
  127.     system("cls");
  128.  
  129.         printf("Menu Utama\n");
  130.         printf("1. Tampilkan Data Warga\n");
  131.         printf("2. Tambahkan Data Warga\n");
  132.         printf("3. Keluar\n");
  133.         printf("Pilihan anda: ");
  134.         fflush(stdin);
  135.         pilihMenuUtama = getchar();
  136.  
  137.         getchar();
  138.         printf("\n\n");
  139.  
  140.         switch(pilihMenuUtama){
  141.             case '1':{
  142.                 tampilDataWarga();
  143.                 printf("tekan sembarang untuk melanjutkan"); getch();
  144.                 break;
  145.             }
  146.             case '2':{
  147.                 tambahDataWarga();
  148.                 printf("tekan sembarang untuk melanjutkan"); getch();
  149.                 break;
  150.             }
  151.             case '3':{
  152.                 printf("tekan sembarang untuk keluar"); getch();
  153.                 break;
  154.             }
  155.             default:{
  156.                 printf("tekan angka 1 atau 2 atau 3"); getch();
  157.                 break;
  158.             }
  159.         }
  160.     } while(pilihMenuUtama != '3');
  161.  
  162.     return 0;
  163. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement