Latihan soal
//structure-array-function lat nilai mhs
#include <conio.h>
#include <iostream.h>
#include <stdio.h>
char *keterangan(float rata,char ket[10]);
garis()ihan
{
cout<<"================================"<<endl;
}
main()
{
struct
{char nim[8], nama[20];
float nil1,nil2;
}mhs[10];
char grade,ket[10];
float rata[10];
int i,n;
clrscr();
cout<<"Masukan jumlah data : ";cin>>n;
for(i=1; i<=n; i++)
{
cout<<endl<<"Data Ke "<<i<<endl;
cout<<"Masukan nim mahasiswa : ";cin>>mhs[i].nim;
cout<<"Masukan nama mahasiswa : ";cin>>mhs[i].nama;
cout<<"Nilai ke 1 : ";cin>>mhs[i].nil1;
cout<<"Nilai ke 2 : ";cin>>mhs[i].nil2;
rata[i]=(mhs[i].nil1+mhs[i].nil2)/2;
if(rata[i] > 80)
grade='A';
else if(rata[i] > 70)
grade='B';
else if(rata[i] > 50)
grade='C';
else if(rata[i] > 40)
grade='D';
else
grade='E';
}
clrscr();
cout<<" Daftar Nilai Mahasiswa "<<endl;
garis();
cout<<"No NIM Nama Rata-Rata Grade"<<endl;
garis();
for(i=1; i<=n; i++)
{
cout<<i;
gotoxy(4,wherey());cout<<mhs[i].nim;
gotoxy(9,wherey());cout<<mhs[i].nama;
printf("%8.0f",rata[i]);
gotoxy(30,wherey());cout<<grade<<endl;
}
garis();
getch();
}
char *keterangan(float rata,char ket[10])
{
if(rata>40)
strcpy(ket,"Lulus");
else
strcpy(ket,"Gagal");
}
===========================================================
//honor pegawai honorer - array dg 2 function
#include <conio.h>
#include <iostream.h>
#include <stdio.h>
ljam(int jmljam, int lbhjam);
gaji(int jmljam, float honor);
garis()
{
cout<<"=======================================\n";
}
main()
{
char nama[10][20];
int i,n,jmljam[10],lbhjam[10];
float honor[10];
clrscr();
cout<<"Input Banyak karyawan : ";cin>>n;
for(i=1; i<=n; i++)
{
cout<<"Nama Pegawai : ";cin>>nama[i];
cout<<"Jumlah jam Kerja : ";cin>>jmljam[i];
}
//Tampilan OUTput
cout<<"Daftar Honor Pegwai Honorer"<<endl;
cout<<" PT ALAKADARNYA"<<endl;
garis();
cout<<"NO Nama Jumlah Kelebihan Honor"<<endl;
cout<<" Pegawai Jam Kerja Jam Kerja "<<endl;
garis();
for(i=1; i<=n; i++)
{
cout<<i;
gotoxy(4,wherey());cout<<nama[i];
gotoxy(15,wherey());cout<<jmljam[i];
lbhjam[i]=ljam(jmljam[i],lbhjam[i]);
gotoxy(25,wherey());cout<<lbhjam[i];
honor[i]=gaji(jmljam[i],honor[i]);
printf("%14.0f \n",honor[i]);
}
garis();
getch();
}
ljam(int jmljam, int lbhjam)
{
if (jmljam>8)
lbhjam=jmljam-8;
else
lbhjam=lbhjam;
return lbhjam;
}
gaji(int jmljam, float honor)
{
if(jmljam>8)
honor=15000+((jmljam-8)*5000);
else
honor=15000;
return honor;
}
======================================================================
//Pembelian dengan array-function
long int belanja[5],bayar[5],diskon[5];
char bonus[5][20];
clrscr();
cout<<" Input data : ";cin>>n;
for(i=1; i<=n; i++)
{
cout<<"\n Data ke : "<<i<<endl;
cout<<"Besar Pembelian Barang Rp. ";cin>>belanja[i];
diskon[i]=potong(diskon[i],belanja[i],bonus[i]);
cout<<"Besar Diskon Yang Diberikan Rp. "<<diskon[i]<<endl;
cout<<"Bonus Yang Didapat : "<<bonus[i]<<endl;
bayar[i]=belanja[i]-diskon[i];
cout<<"Besar Harga Yang Harus Dibayarkan Rp. "<<bayar[i]<<endl;
}
getch();
}
potong(float diskon,long int belanja,char bonus[20])
{
if (belanja >= 5000000)
{
diskon=0.35*belanja;
strcpy(bonus,"Payung");
}
else if (belanja >=1000000)
{
diskon=0.2*belanja;
strcpy(bonus,"Buku");
}
else
{
diskon=0;
strcpy(bonus,"Tidak Ada");
}
return diskon;
}