Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 5

TMKS 3023 : ASAS PENGATURCARAAN

AMALI 1

Tuliskan laporan lengkap kira-kira 500 patah perkataan bagi setiap Laporan Amali. Laporan
perlu mengandungi aspek-aspek berikut:
i. algorithma/carta alir
ii. input
iii. output

#include <iostream.h>
#include <stdlib.h>

class CPelajar
{
private:
char strNama[30], strIC[20], chrGred;
int iMarkah1, iMarkah2, iPeperiksaan, iMarkahAkhir;

public:
void InputData();
void TentuGred();
void CetakData();
};
void CPelajar::InputData()
{
cout<<"\nMasukkan Nama: ";
cin.getline(strNama, 30);
cout<<"Masukkan No. IC: ";
cin.getline(strIC, 20);

do {
cout<<"Masukkan Markah Ujian 1: ";
cin>>iMarkah1;

if (iMarkah1>25)
{
cout<<"\nError - Sila Masukkan Semula!\n\n";
continue;
}
}
while(iMarkah1>25);

do {
cout<<"Masukkan Markah Ujian 2: ";
cin>>iMarkah2;

if (iMarkah2>25)
{
cout<<"\nError - Sila Masukkan Semula!\n\n";
continue;
}
}
while(iMarkah2>25);

do {
cout<<"Masukkan Markah Peperiksaan Akhir: ";
cin>>iPeperiksaan;
if (iMarkah2>25)
{
cout<<"\nError - Sila Masukkan Semula!\n\n";
continue;
}
}
while(iPeperiksaan>50);

system("cls");
}

void CPelajar::TentuGred()
{
iMarkahAkhir = iMarkah1 + iMarkah2 + iPeperiksaan;

if ((iMarkahAkhir >=0) && (iMarkahAkhir <= 39))


chrGred = 'D';
if ((iMarkahAkhir >=40) && (iMarkahAkhir <= 59))
chrGred = 'C';

if ((iMarkahAkhir >=60) && (iMarkahAkhir <= 79))


chrGred = 'B';

if ((iMarkahAkhir >=80) && (iMarkahAkhir <= 100))


chrGred = 'A';
}

void CPelajar::CetakData()
{
//Cetak Maklumat Pelajar Yang Lulus Ujian 1
if (iMarkah1 >= 10)
{
cout<<"\n------------------------------------------\n";
cout<<"Pelajar Yang Lulus Ujian 1: \n\n";
cout<<"Nama: " <<strNama <<endl;
cout<<"No IC: " <<strIC <<endl;
}
else
cout<<"\nTiada Pelajar Yang Lulus Ujian 1!\n";

//Cetak Maklumat Pelajar Yang Lulus Ujian 2


if (iMarkah2 >= 10)
{
cout<<"------------------------------------------\n";
cout<<"Pelajar Yang Lulus Ujian 2: \n\n";
cout<<"Nama: " <<strNama <<endl;
cout<<"No IC: " <<strIC <<endl;
}
else
cout<<"\nTiada Pelajar Yang Lulus Ujian 2!\n";

//Cetak Maklumat Pelajar Yang Lulus Peperiksaan Akhir


if (iMarkah1 >= 25)
{
cout<<"------------------------------------------\n";
cout<<"Pelajar Yang Lulus Peperiksaan Akhir: \n\n";
cout<<"Nama: " <<strNama <<endl;
cout<<"No IC: " <<strIC <<endl;
}
else
cout<<"\nTiada Pelajar Yang Lulus Peperiksaan Akhir!\n";

//Paparkan Maklumat Lengkap Pelajar, Markah Akhir dan Gred.


cout<<"------------------------------------------\n";
cout<<"Maklumat Lengkap Pelajar:\n\n";
cout<<"Nama: " <<strNama <<endl;
cout<<"No IC: " <<strIC <<endl;
cout<<"Markah Akhir: " <<iMarkahAkhir <<endl;
cout<<"Gred: " <<chrGred <<endl<<endl;
}

int main()
{
int iBil = 0, ctInstance;

cout<<"Aturcara Mengira Markah Pelajar\n";


cout<<"-------------------------------\n";

//Untuk Menentukan Bilangan Instance


cout<<"\nBerapa Ramaikah Bilangan Pelajar ?: ";
cin>>iBil;

CPelajar P[iBil];

for (ctInstance = 0; ctInstance < iBil; ctInstance++)


{
cin.ignore(1);
P[ctInstance].InputData();
P[ctInstance].TentuGred();
P[ctInstance].CetakData();
system("PAUSE");
system("cls");
}

return 0;
}

You might also like