Advertisement
ZetaReticuli

Structure di dalam Structure

Oct 14th, 2016
251
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.29 KB | None | 0 0
  1. // Tugas 05 Matrikulasi ALGORITMA & STRUKTUR DATA
  2. // menginput data mahasiswa dan tanggal lahir
  3. // menggunakan Structure
  4. // Dosen : Dr. Indrastanti Ratna Widiasari, S.T., M.T.
  5. // FAKULTAS TEKNOLOGI INFORMASI
  6. // UNIVERSITAS KRISTEN SATYA WACANA
  7. // 2016
  8. #include <stdio.h>
  9. #include <conio.h>
  10. #include <string.h>
  11.  
  12. //mendeklarasikan structure dengan nama Tanggal
  13. struct Tanggal
  14. {
  15.     unsigned int hari;
  16.     unsigned int bulan;
  17.     unsigned int tahun;
  18.  
  19. };
  20. //mendeklarasikan structure dengan nama TMhs
  21. struct TMhs
  22. {
  23.     char NIM[9];
  24.     char Nama[21];
  25.  
  26.     float nilaiAkhir;
  27.     char *index;
  28.     struct Tanggal ;
  29. };
  30.  
  31.  
  32. main()
  33.  
  34. {
  35. int maks;
  36. printf("Berapa jumlah data yang akan di input (1-10) ? : ");
  37. scanf("%i", &maks);
  38.  
  39.  struct TMhs mhs[maks],tanggal1[maks];
  40.  int i;
  41.  for (i=0;i<maks;i++)
  42.  
  43.         {
  44.  
  45.          printf("Isikan Data di bawah ini :\n");
  46.          printf("NIM :");
  47.          fflush(stdin);
  48.          gets(mhs[i].NIM);
  49.  
  50.          printf("Nama :");
  51.          fflush(stdin);
  52.          gets(mhs[i].Nama);
  53.  
  54.          printf("Nilai IPK : ");
  55.          scanf("%f", &mhs[i].nilaiAkhir);
  56.  
  57. printf("Masukkan tanggal lahir(angka 1-31) : ");
  58. scanf("%d", &tanggal1[i].hari);
  59.  
  60. printf("Masukkan Bulan lahir(angka 1-12) : ");
  61. scanf("%d", &tanggal1[i].bulan);
  62.  
  63. printf("Masukkan Tahun lahir(angka 4 digit, contoh 1945) : ");
  64. scanf("%d", &tanggal1[i].tahun);
  65.  
  66.          if (mhs[i].nilaiAkhir >=3.5) mhs[i].index="Cumlaude";
  67.          else if (mhs[i].nilaiAkhir >=3.0) mhs[i].index="Sangat Memuaskan";
  68.          else if (mhs[i].nilaiAkhir >=2.0) mhs[i].index="Memuaskan";
  69.          }
  70.  
  71.     printf("Data yang telah dimasukkan :\n");
  72. printf("------------------------------------------------------------------------------------------\n");
  73. printf("|    NIM     |     NAMA               |    IPK    |   PREDIKAT          | TGL LAHIR      |\n");
  74. printf("------------------------------------------------------------------------------------------\n");
  75.     for (i=0;i<maks;i++)
  76.  
  77. printf("| %-9s  |  %-18s    |   %3.2f    |  %-18s |   %2d-%2d-%4d   |\n",
  78.    mhs[i].NIM, mhs[i].Nama, mhs[i].nilaiAkhir, mhs[i].index, tanggal1[i].hari,tanggal1[i].bulan,tanggal1[i].tahun );
  79. printf("------------------------------------------------------------------------------------------\n");
  80.  
  81. getch();
  82. return 0;
  83.  
  84. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement