Setiap tipe data dapat dibuat dalam bentuk array. Begitu
juga dengan tipe data yang dibuat dengan perintah struct.
seperti yang sebelumnya disini yang membedakan hanya datanya berbentuk array. dan struct disini tidak hanya satu, tetapi banyak struct disini ditentukan oleh panjang array dari struct tersebut. kalau contoh dibawah ini banyak struct di pengaruhi oleh variabel "maks". untuk lebih jelasnya lihat contoh berikut.
Contoh program di bawah ini dapat menjelaskan cara penggunaan
array yang bertipe data buatan.
#include <stdio.h>
#include <conio.h>
#include <string.h>
#define maks 3
struct TMhs
{
char NIM[9];
char Nama[21];
int
NilaiUTS,NilaiUAS,NilaiQuis;
float NilaiAkhir;
char index;
};
main()
{
TMhs mhs[maks]; //
array struct
int i;
for(i=0;i<maks;i++)
{
printf("Pengisian
Data Mahasiswa Ke-%i\n",i+1);
printf("NIM :
");fflush(stdin);gets(mhs[i].NIM);
printf("NAMA :
");fflush(stdin);gets(mhs[i].Nama);
printf("Nilai
QUIZ : ");scanf("%d",&mhs[i].NilaiQuis);
printf("Nilai
UTS :
");scanf("%d",&mhs[i].NilaiUTS);
printf("Nilai
UTAS : ");scanf("%d",&mhs[i].NilaiUAS);
mhs[i].NilaiAkhir=0.2*mhs[i].NilaiQuis+0.3*mhs[i].NilaiUTS+0.5*mhs[i].NilaiUAS;
if(mhs[i].NilaiAkhir>=80)
mhs[i].index='A';else
if(mhs[i].NilaiAkhir>=60)
mhs[i].index='B';else
if(mhs[i].NilaiAkhir>=40)
mhs[i].index='C';else
if(mhs[i].NilaiAkhir>=20)
mhs[i].index='D';else
if(mhs[i].NilaiAkhir>=0) mhs[i].index='E';
};
clrscr();
printf("Data
yang telah dimasukan adalah : \n");
printf("----------------------------------------------------------------------\n");
printf("| NIM
| NAMA | QUIS | UTS | UAS | N A
| INDEX |\n");
printf("----------------------------------------------------------------------\n");
for(i=0;i<maks;i++)
{
printf("| %-8s
| %-20s | %3i | %3i | %3i | %6.2f
| %c
|\n",
mhs[i].NIM,mhs[i].Nama,mhs[i].NilaiQuis,mhs[i].NilaiUTS,
mhs[i].NilaiUAS,mhs[i].NilaiAkhir,mhs[i].index);
}
printf("----------------------------------------------------------------------\n");
getch();
return 0;
}
|
Kalau program tersebut dijalankan maka jalannya program
dalam dilihat di bawah ini :
Pengisian
Data Mahasiswa Ke-1
NIM : 10197025
NAMA : Andri Heryandi
Nilai QUIZ :
70
Nilai
UTS : 80
Nilai UTAS :
90
Pengisian
Data Mahasiswa Ke-2
NIM : 10197024
NAMA : Hery Dwi Yulianto
Nilai QUIZ :
12
Nilai
UTS : 56
Nilai UTAS :
90
Pengisian
Data Mahasiswa Ke-3
NIM : 10197001
NAMA : Irmayanti
Nilai QUIZ :
80
Nilai
UTS : 90
Nilai UTAS :
100
Data yang
telah dimasukan adalah :
-----------------------------------------------------------------------
| NIM
|
NAMA | QUIS | UTS | UAS
| N A
| INDEX |
-------------------------------------------------------------------------
| 10197025 |
Andri Heryandi | 70 |
80 | 90 | 83.00 |
A |
| 10197024 |
Hery Dwi Yulianto | 12 |
56 | 90 | 64.20 |
B |
| 10197001 |
Irmayanti | 80 |
90 | 100 | 93.00 | A
|
-----------------------------------------------------------------------
|
makasih,sangat membantu
BalasHapusmksh kmbali karna udh berkunjung :)
Hapusmau tanya, gimana coding nya kalo menggunakan pointer di program tsb?
BalasHapusmisal struct TMhs *p;
p = &mhs;
makasih
clrscr();
BalasHapusmasih belum di deklarasikan, jadi programmnya belum berjalan
biasanya saya kalau clearscreen cmd menggunakan ini:
Hapussystem("cls");
pada saat di run, program masih ada yang error
BalasHapusThanks gan
BalasHapussangat membantu gan..
BalasHapusterimakasih banyak..
pakai aplikasi apa gan?
BalasHapus