Search This Blog

membaca ipk yang ada di file.txt


/*NAMA : AL MUDATSTSIR   */
/*nim  : 1108001010059 */
/*program mencetak nama mahasiswa ipk tertinggi dan terendah */
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() {



 int a,l,g=0;
 char panjang[256];
 typedef struct date{       //sebuah typedef yang didalam nya ada 2 member nama dan ipk
  char nama_mahasiswa[100];
  float IPK;
 }Dota;
 Dota Kata[256];

   FILE *ifp;                     //pointer ke file
   ifp = fopen("data.txt","r");  // membuka file.txt


 while(fgets(panjang,200,(FILE*)ifp)!=NULL){   //perulangan untuk mengcopy tiap kata ke array        
 char *token;
 token = strtok(panjang, "\t");
 Kata[g].IPK = atof(token);

 token = strtok(NULL,"\t\n");
 strcpy(Kata[g].nama_mahasiswa,token);
 g++;
 }

 for (a=(g);--a>=0;){   //mengurutkan data dari z ke a
     for(l=0;l<a;l++){
  if(Kata[l].IPK < Kata[l+1].IPK){
    Kata[g+2] = Kata[l];
    Kata[l] = Kata[l+1];
    Kata[l+1] = Kata[g+2];
    }
  }
     }


 printf("NAMA MAHASISWA IPK YANG TERENDAH :9 orang \n\n");        //mencetak manual tulisan disamping
 for(a=g-1;a>0;a--){                                  //perulangan untuk mencari maksimumnya
       printf("%s\n", Kata[a].nama_mahasiswa);
      if(Kata[a].IPK != Kata[a-1].IPK){
      break;
      }
    }


 printf("\nDATA MAHASISWA IPK TERBESAR :8 orang\n \n");      //perulangan untuk mencari minimumnya
 for(a=0;a<g;a++){
    printf("%s\n",Kata[a].nama_mahasiswa);
    if(Kata[a].IPK!=Kata[a+1].IPK){
      break;
   

    }
 }

return 1;
}





0 Response to "membaca ipk yang ada di file.txt"

Post a Comment