Laman

Kamis, 02 Mei 2013

Pegertian Record Beserta Listing Program C++



Sebuah record tersusun dari beberapa field. ditiap fieldnya berisi data dari tipe dasar / bentukan tertentu. Record memiliki kelebihan untuk menyimpan suatu sekumpulan elemen data yang berbeda-beda tipenya (di banding array). Contoh , sebuah record dengan empat buah field.

Field 1 Field 2 Field 3 Field 4
 

Cara pendeklarasian dari record adalah sbb:
1.      Mendefinisikan tipe dari record (jumlah field, jenis tipe data yang dipakai).
2.      Mendefinisikan variabel untuk dilakukan operasi.


Contoh Program Record

#include <stdio.h>
#include <conio.h>
#include <iostream.h>
#define DATAMAX 50

typedef int bulat;

struct nilaiMHS
{          char npm[11];
            bulat hadir, tugas, quiz, nts, nas;
};

void main()
{          nilaiMHS recNilaiMHS[DATAMAX];
            bulat jmlData, i;
            float rataRata;
            char grade, ket[16];

            printf("Berapa jumlah data = "); scanf("%d",&jmlData);
            for (i=0; i<jmlData; i++)
            {          cout << "Data Nilai Mahasiswa ke-" << (i+1) << endl;
                        printf("Nomor Pokok Mahasiswa = "); cin >> recNilaiMHS[i].npm;
                        printf("Persentase Kehadiran  = "); scanf("%i",&recNilaiMHS[i].hadir);
                        printf("Nilai Tugas           = "); scanf("%d",&recNilaiMHS[i].tugas);
                        printf("Nilai Quiz            = "); scanf("%d",&recNilaiMHS[i].quiz);
                        printf("Nilai Tengah Semester = "); scanf("%i",&recNilaiMHS[i].nts);
                        printf("Nilai Akhir Semester  = "); scanf("%i",&recNilaiMHS[i].nas);
            }

            cout << "\n" << endl;
            //                 1         2         3         4         5         6         7         8
            //              12345678901234567890123456789012345678901234567890123456789012345678901234567890
            cout << "DAFTAR NILAI MAHASISWA" << endl;
            cout << "+----------+-------+-------+-------+-------+-------+-------+-------+" << endl;
            cout << "|   NPM    | Hadir | Tugas | Quiz  |  NTS  |  NAS  | Rata2 | Grade |" << endl;
            cout << "+----------+-------+-------+-------+-------+-------+-------+-------+" << endl;
            for (i=0; i<jmlData; i++)
            {          rataRata=(float) 0.1*recNilaiMHS[i].hadir + 0.1*recNilaiMHS[i].quiz +
                        0.1*recNilaiMHS[i].tugas + 0.3*recNilaiMHS[i].nts + 0.4*recNilaiMHS[i].nas;
                        if (rataRata>=80)      { grade='A'; }
                        else if (rataRata>=70) { grade='B'; }
                        else if (rataRata>=60) { grade='C'; }
                        else if (rataRata>=50) { grade='D'; }
                        else                   { grade='E'; }
                        printf("|%10s|%7d|%7d|%7d|%7d|%7d|%7.2f|   %c   |\n", recNilaiMHS[i].npm,
                        recNilaiMHS[i].hadir, recNilaiMHS[i].tugas, recNilaiMHS[i].quiz,
                        recNilaiMHS[i].nts, recNilaiMHS[i].nas, rataRata, grade);
            }
            cout << "+----------+-------+-------+-------+-------+-------+-------+-------+";
            getch();
}

Tidak ada komentar:

Posting Komentar