Created
October 16, 2021 13:18
-
-
Save kresnasatya/ce4171f6a0039beda3ecf81039e805c8 to your computer and use it in GitHub Desktop.
Menginput data dosen yang tipe datanya adalah struct.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <stdio.h> | |
#include <stdlib.h> | |
#include <string.h> | |
struct Alamat { | |
char NamaJalan[255]; | |
char NomorRumah[255]; | |
char Kota[255]; | |
char Provinsi[255]; | |
}; | |
struct TanggalLahir { | |
int Tanggal; | |
int Bulan; | |
int Tahun; | |
}; | |
struct Dosen { | |
char NoDosen[255]; | |
char NIDN[255]; | |
char Nama[255]; | |
struct Alamat almt; | |
struct TanggalLahir tgllahir; | |
}; | |
int main() { | |
struct Dosen dosen[5]; | |
char NoDosen[255]; | |
char NIDN[255]; | |
char Nama[255]; | |
char NamaJalan[255]; | |
char NomorRumah[255]; | |
char Kota[255]; | |
char Provinsi[255]; | |
int Tanggal; | |
char Tanggal_str[255]; | |
int Bulan; | |
char Bulan_str[255]; | |
int Tahun; | |
char Tahun_str[255]; | |
printf("Pengisian data dosen \n"); | |
for (int i = 0; i < 2; i++) { | |
printf("Nomor Dosen: "); | |
fgets(NoDosen, sizeof(NoDosen), stdin); | |
NoDosen[strcspn(NoDosen, "\n")] = '\0'; | |
strcpy(dosen[i].NoDosen, NoDosen); | |
printf("Nama: "); | |
fgets(Nama, sizeof(Nama), stdin); | |
Nama[strcspn(Nama, "\n")] = '\0'; | |
strcpy(dosen[i].Nama, Nama); | |
printf("NIDN: "); | |
fgets(NIDN, sizeof(NIDN), stdin); | |
NIDN[strcspn(NIDN, "\n")] = '\0'; | |
strcpy(dosen[i].NIDN, NIDN); | |
// printf("\n Alamat \n"); | |
printf("Nama Jalan: "); | |
fgets(NamaJalan, sizeof(NamaJalan), stdin); | |
NamaJalan[strcspn(NamaJalan, "\n")] = '\0'; | |
strcpy(dosen[i].almt.NamaJalan, NamaJalan); | |
printf("Nomor Rumah: "); | |
fgets(NomorRumah, sizeof(NomorRumah), stdin); | |
NomorRumah[strcspn(NomorRumah, "\n")] = '\0'; | |
strcpy(dosen[i].almt.NomorRumah, NomorRumah); | |
printf("Kota: "); | |
fgets(Kota, sizeof(Kota), stdin); | |
Kota[strcspn(Kota, "\n")] = '\0'; | |
strcpy(dosen[i].almt.Kota, Kota); | |
printf("Provinsi: "); | |
fgets(Provinsi, sizeof(Provinsi), stdin); | |
Provinsi[strcspn(Provinsi, "\n")] = '\0'; | |
strcpy(dosen[i].almt.Provinsi, Provinsi); | |
printf("\n Tanggal Lahir \n"); | |
printf("Tanggal: "); | |
fgets(Tanggal_str, sizeof(Tanggal_str), stdin); | |
Tanggal_str[strcspn(Tanggal_str, "\n")] = '\0'; | |
Tanggal = strtol(Tanggal_str, NULL, 10); | |
while (Tanggal < 1 || Tanggal > 31) { | |
printf("Tanggal harus dari 1 sampai 31 \n"); | |
printf("Tanggal: "); | |
fgets(Tanggal_str, sizeof(Tanggal_str), stdin); | |
Tanggal_str[strcspn(Tanggal_str, "\n")] = '\0'; | |
Tanggal = strtol(Tanggal_str, NULL, 10); | |
} | |
dosen[i].tgllahir.Tanggal = Tanggal; | |
printf("Bulan: "); | |
fgets(Bulan_str, sizeof(Bulan_str), stdin); | |
Bulan_str[strcspn(Bulan_str, "\n")] = '\0'; | |
Bulan = strtol(Bulan_str, NULL, 10); | |
while (Bulan < 1 || Bulan > 12) { | |
printf("Bulan harus dari 1 sampai 12 \n"); | |
printf("Bulan: "); | |
fgets(Bulan_str, sizeof(Bulan_str), stdin); | |
Bulan_str[strcspn(Bulan_str, "\n")] = '\0'; | |
Bulan = strtol(Bulan_str, NULL, 10); | |
} | |
dosen[i].tgllahir.Bulan = Bulan; | |
printf("Tahun: "); | |
fgets(Tahun_str, sizeof(Tahun_str), stdin); | |
Tahun_str[strcspn(Tahun_str, "\n")] = '\0'; | |
Tahun = strtol(Tahun_str, NULL, 10); | |
dosen[i].tgllahir.Tahun = Tahun; | |
} | |
printf("Pengisian data dosen selesai. \n"); | |
for (int i = 0; i < 2; i++) { | |
printf("Nomor Dosen: %s \n", dosen[i].NoDosen); | |
printf("NIDN: %s \n", dosen[i].NIDN); | |
printf("Nama: %s \n", dosen[i].Nama); | |
printf("Alamat \n"); | |
printf("Nama Jalan: %s \n", dosen[i].almt.NamaJalan); | |
printf("Nomor Rumah: %s \n", dosen[i].almt.NomorRumah); | |
printf("Kota: %s \n", dosen[i].almt.Kota); | |
printf("Provinsi: %s \n", dosen[i].almt.Provinsi); | |
printf("Tanggal Lahir \n"); | |
printf("Tanggal: %d \n", dosen[i].tgllahir.Tanggal); | |
printf("Bulan: %d \n", dosen[i].tgllahir.Bulan); | |
printf("Tahun: %d \n", dosen[i].tgllahir.Tahun); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment