Advertisement
mbah_bejo

SIAKAD LINKED LIST

Dec 10th, 2019
242
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.28 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <stdlib.h>
  4.  
  5. typedef struct mhs{
  6.     char nama[100];
  7.     char NRP[100];
  8.     float EAS;
  9.     float ETS;
  10.     float rata;
  11.     struct mhs* sambung;
  12. }mhs;
  13.     mhs data[100];
  14. int i;
  15. //int temp;
  16. mhs *awal;
  17.  
  18. void awali();
  19. void input ()
  20. {   //temp=0;
  21.     FILE *daleman;
  22.     daleman=fopen("data.bin", "ab");
  23.     char ans[1] = "Y";
  24.     system("cls");
  25.     mhs *dwi;
  26.     while(ans[0]=='Y' ||ans[0]=='y')
  27.     {
  28.         dwi =(mhs*) malloc(sizeof(mhs));
  29.     //printf("%d",temp);
  30.     printf("Nama Mahasiswa\t: ");gets(dwi->nama);
  31.         fprintf(daleman,"Nama Mahasiswa\t: %s\n", dwi->nama);
  32.     printf("NRP Mahasiswa\t: ");gets(dwi->NRP);
  33.         fprintf(daleman,"NRP Mahasiswa\t: %s\n", dwi->NRP);
  34.     printf("Nilai ETS\t: ");scanf("%f",&dwi->ETS);
  35.         fprintf(daleman,"Nilai ETS\t: %.0f\n",dwi->ETS);
  36.     printf("Nilai EAS\t: ");scanf("%f",&dwi->EAS);
  37.         fprintf(daleman,"Nilai EAS\t: %.0f\n",dwi->EAS);
  38.         fprintf(daleman,"Nilai Rata-rata\t: %.2f\n\n",(dwi->EAS+dwi->ETS)/2);
  39.      //getchar();
  40.     //data[temp].rata=(data[temp].EAS + data[temp].ETS)/2;
  41. //  printf("%s %s %f %f",data[i].nama,data[i].NRP, data[i].EAS, data[i].ETS);
  42.     //temp+=1;
  43.     dwi->sambung=NULL;
  44.    
  45.     if(awal==NULL) awal=dwi; // menghubungkan struct
  46.     else{   //untuk masukin data baru dari struct yg dah terhubung
  47.         mhs *dwi1;
  48.         dwi1 =awal;
  49.         while(dwi1->sambung!=NULL) //ngecek ampe mentok
  50.         {
  51.             dwi1 =dwi1->sambung;
  52.         }
  53.         dwi1->sambung=dwi;
  54.     }
  55.     printf("Lanjut Pengisian Data ? (Y/T) "); ans[0] = getchar();getchar();
  56.     printf("\n");
  57.     }
  58.     //i=temp;
  59.     //temp=i+1;
  60.     //printf("%d",i);
  61.     //int k;
  62. //  return i;
  63.     fclose(daleman);
  64.     awali();
  65. }
  66.  
  67. // void rata()
  68. //{ system("cls");
  69. //  int c = 0;
  70. //  for(c=0;c<i;c++)
  71. //  {
  72. //  printf("Nama Mahasiswa\t: %s\n",data[c].nama);
  73. //  printf("NRP Mahasiswa\t: %s\n",data[c].NRP);
  74. //  printf("Nilai Rata-Rata\t: %.2f\n\n",data[c].rata);
  75. //  }printf("Tekan Enter untuk Kembali ke menu awal") ;getchar();
  76. //      //int k;
  77. //  awal();
  78. // 
  79. //}
  80.  
  81. void tampil()
  82. { system("cls");
  83. FILE *daleman;
  84.     daleman=fopen("data.bin", "rb");
  85. //mhs *dwi2; dwi2=awal;
  86. //printf("%d",i);
  87. char isi;
  88. int cekin = fscanf(daleman,"%c",&isi);
  89.     while( cekin !=EOF)
  90.     {
  91.         printf("%c",isi);
  92.         //printf("%s",daleman);
  93.     //printf("Nama Mahasiswa\t: %s\n",dwi2->nama);
  94. //  printf("NRP Mahasiswa\t: %s\n",data[c].NRP);
  95. //  printf("Nilai ETS\t: %.1f\n",data[c].ETS);
  96. //  printf("Nilai EAS\t: %.1f\n",data[c].EAS);
  97. //  printf("Nilai Rata-Rata\t: %.2f\n\n",data[c].rata);
  98. //dwi2 = dwi2->sambung;
  99. cekin = fscanf(daleman,"%c",&isi);
  100.     }
  101.     printf("Tekan Enter untuk Kembali ke menu awal"); getchar();
  102.         //int k;
  103.         fclose(daleman);
  104.     awali();
  105. }
  106. void awali()
  107. {system("cls");
  108. int n;
  109.    
  110.     printf("--------------------------------------\n\nD A T A B A S E - D A T A B A S E A N\n\n");  printf("--------------------------------------\n\nD A T A B A S E - D A T A B A S E A N\n\n");
  111.     FILE *daleman, *luaran;
  112.     daleman=fopen("data.bin", "ab");
  113.     printf("1. Input Data\n2. Tampilkan Data\n3. Exit\n\n");\
  114.     printf("Masukkan Nomor perintah : ");
  115.     scanf("%d",&n);getchar();  
  116. //printf("%d",i);
  117.     switch(n)
  118.     {
  119.         case 1 : input(); break;
  120.     //  case 2 : rata(); break;
  121.         case 2 : tampil(); break;
  122.         default : system("cls");printf("    T E R I M A  K A S I H"); break;
  123.  
  124.     }
  125. }
  126.  
  127. int main(){
  128. //  int n;
  129.    
  130. awali();
  131. //  printf("--------------------------------------\n");
  132.     return 0;
  133. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement