Advertisement
mydiaz

3 - Typedef Mahasiswa

Mar 11th, 2022
492
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.95 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. int jmlMahasiswa;
  5. struct nilai
  6. {
  7.     char nama[50];
  8.     float nTugas, nUTS, nUAS;
  9. };
  10.  
  11. typedef struct nilai nilaiMhs;
  12.  
  13. void input(nilaiMhs *);
  14. void tampil(nilaiMhs *);
  15.  
  16. main()
  17. {
  18.     struct nilai mahasiswa[50];
  19.  
  20.     printf("\nMENGHITUNG NILAI AKHIR\nMATA KULIAH KONSEP PEMROGRAMAN\n\n");
  21.  
  22.     input(mahasiswa);
  23.     tampil(mahasiswa);
  24. }
  25. void input(nilaiMhs *data)
  26. {
  27.     int i;
  28.     printf("\nBerapa jumlah mahasiswa ? ");
  29.     scanf("%d", &jmlMahasiswa);
  30.  
  31.     printf("\nMasukan DATA mahasiswa");
  32.     for (i = 0; i < jmlMahasiswa; i++)
  33.     {
  34.         printf("\nMahasiswa ke - %d", i + 1);
  35.  
  36.         printf("\nNama\t\t : ");
  37.         scanf("%s", (*data).nama);
  38.  
  39.         printf("Nilai Tugas\t : ");
  40.         scanf("%f", &(*data).nTugas);
  41.  
  42.         printf("Nilai UTS\t : ");
  43.         scanf("%f", &(*data).nUTS);
  44.  
  45.         printf("Nilai UAS\t : ");
  46.         scanf("%f", &(*data).nUAS);
  47.         data++;
  48.     }
  49. }
  50. void tampil(nilaiMhs *data)
  51. {
  52.     int i, j;
  53.     float nAkhir;
  54.     char grade;
  55.  
  56.     printf("\n\n\t\t\t\t DAFTAR NILAI\n");
  57.     printf("\t\t\t MATA KULIAH KONSEP PEMROGRAMAN\n");
  58.     printf("-------------------------------------------------------------------------\n");
  59.     printf("|\tNama\t\t|\t\t Nilai\t\t\t|\t|\n");
  60.     printf("| No   \tMahasiswa \t| Tugas \t UTS \t UAS \t Akhir \t| Grade |\n");
  61.     printf("-------------------------------------------------------------------------\n");
  62.  
  63.     for (j = 0; j < jmlMahasiswa; j++)
  64.     {
  65.         nAkhir = (0.2 * (*data).nTugas) + (0.4 * (*data).nUAS) + + (0.4 * (*data).nUTS);
  66.         if (nAkhir >= 80)
  67.             grade = 'A';
  68.         else if (nAkhir >= 70)
  69.             grade = 'B';
  70.         else if (nAkhir >= 60)
  71.             grade = 'C';
  72.         else if (nAkhir >= 50)
  73.             grade = 'D';
  74.         else
  75.             grade = 'E';
  76.  
  77.         printf("| %d \t%s\t\t| %.0f\t\t %.0f\t %.0f\t %.1f\t| %c\t|\n",
  78.                j + 1, (*data).nama, (*data).nTugas, (*data).nUTS, (*data).nUAS, nAkhir, grade);
  79.         data++;
  80.     }
  81.     printf("-------------------------------------------------------------------------\n");
  82.     printf("\n\nTotal Mahasiswa = %d", jmlMahasiswa);
  83. }
  84.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement