Page 87 - MODUL ALGORTIMA DAN PEMROGRAMAN
P. 87

F.  Contoh Program
                  1.  Contoh 1 – Program penggunaan struct
                                                KODE PROGRAM BAHASA C
                  #include <stdio.h>
                  #include <string.h>

                  // Definisi struct data_dosen
                  typedef struct {
                    long int nip;
                    char nama[31];
                    char alamat[51];
                  } data_dosen;

                  int main() {
                    // Deklarasi variabel bertipe struct data_dosen
                    data_dosen dosen1, dosen2;

                    // Input data Dosen 1
                    printf("Data Dosen Pertama\n");
                    printf("---------------\n");
                    printf("NIP: ");
                    scanf("%ld", &dosen1.nip);  // %ld untuk long int

                    printf("Nama: ");
                    // Bersihkan buffer input (mirip fflush(stdin) di C++)
                    getchar();
                    fgets(dosen1.nama, 30, stdin);  // Gunakan fgets untuk input string
                  yang lebih aman

                    printf("Alamat: ");
                    getchar();
                    fgets(dosen1.alamat, 50, stdin);

                    printf("\n");

                    // Input data Dosen 2
                    printf("Data Dosen Kedua\n");
                    printf("---------------\n");
                    printf("NIP: ");
                    scanf("%ld", &dosen2.nip);

                    printf("Nama: ");
                    getchar();
                    fgets(dosen2.nama, 30, stdin);

                    printf("Alamat: ");
                    getchar();
                    fgets(dosen2.alamat, 50, stdin);

                    printf("\n");

                    // Output data Dosen 1 dan 2
                    printf("Data Dosen Pertama\n");
                    printf("---------------\n");
                    printf("NIP: %ld\n", dosen1.nip);
                    printf("Nama: %s", dosen1.nama);

                    // Hapus newline tambahan dari fgets menggunakan strcspn
                    strcspn(dosen1.nama, "\n");  // Hapus newline dari nama
                    printf("Alamat: %s\n", dosen1.alamat);

                    printf("\n");                                                                         64


                    printf("Data Dosen Kedua\n");
                    printf("---------------\n");
                    printf("NIP: %ld\n", dosen2.nip);
                    printf("Nama: %s", dosen2.nama);
   82   83   84   85   86   87   88   89   90   91   92