Minggu, 24 Juli 2011

contoh array dan sorting input nilai dalam C++


Soal:

Buatlah program  manipulasi nilai mhs dengan stuktur , array dan sorting
Desain :

                                    HEADER
           
Nim             : xxxxxx
          Nama           : xxxxxx
          Kehadiran    : xx
          Nilai Tugas   : xx
          Nilai UTS      : xx
          Nilai UAS      : xx
          Nilai Akhir    : proses
          Nilai Huruf    : proses
          Grade          : proses
          Keterangan   : proses



Laporan Nilai Mahasiswa Sistem Informasi


No.
NIM
NAMA

KE
HADIRAN
N.
TGS
N. UTS
N.
UAS
N. AKHIR
N
HURUF

GRADE

KET
99
XXXX
XXXXXXX
XX
999
999
999
999
XXXX


99
XXXX
XXXXXXX
XX
999
999
999
999
XXXX


…………….

…………….





Ketentuan Proses:
  • Nim, nama,kehadiran, nilai tugas, nilai uts, nilai uas diinput lewat keyboard
  • Nilai akhir  = 5% kehadiran+25% nilai tugas + 30% nilai uts + 40% nilai uas
  • Nilai Huruf:
Jika nilai akhir >= 85, maka A
                        Jika nilai akhir >= 70, maka B
Jika nilai akhir >= 60, maka C
                        Jika nilai akhir >= 50, maka D
            Jika nilai akhir  < 50,  maka E
  • Grade
A :  sangat memuaskan
B: memuaskan
C : cukup
D : kurang
E : gagal

  • Keterangan
Jika nilai akhir >= 60, maka MHS dinyatakan LULUS
Jika nilai akhir <= 60, maka MHS dinyatakan GAGAL



penyelesaian :

#include <conio.h>
#include <iostream.h>
#include <stdio.h>
#include <iomanip.h>
#include <math.h>

void main()
{
   int nim[6],i,tmp;
          struct
   {
      char nama [15];
      float nilaitgs;
      float kehadiran;                  //struktur array
      float nilaiuts;
      float nilaiuas;       
      float nilaiakhir;
   }dtmhs[8];


gotoxy(27,3);cout<<"       Manipulasi Nilai Mahsiswa"<<endl;
gotoxy(27,5);cout<<"           Sistem Informasi"<<endl;
gotoxy(27,7);cout<<"       Universitas dian Nuswantoro "<<endl;
gotoxy(2,9);cout<<"___________________________________________________________________________"<<endl;

{

  for (i=1;i<=5;i++)   //nim yang akan di masukkan
  {
cout<<"    masukkan NIM  "<<i<<":";cin>>nim[i];
cout<<"          masukkan nama : "; cin>> dtmhs[i].nama;
cout<<"          masukkan kehadiran : "; cin>> dtmhs[i].kehadiran;
cout<<"          masukkan Nilai Tugas : "; cin>> dtmhs[i].nilaitgs;
cout<<"          masukkan Nilai UTS : "; cin>> dtmhs[i].nilaiuts;
cout<<"          masukkan Nilai UAS : "; cin>> dtmhs[i].nilaiuas;

 dtmhs[i].nilaiakhir = (dtmhs[i].kehadiran*0.05)+(dtmhs[i].nilaitgs * 0.25) + (dtmhs[i].nilaiuts * 0.3) + (dtmhs[i].nilaiuas * 0.4);//menghitung nilai akhir
      cout<<endl;
          }
                                       for (i=1;i<5;i++)
         for (i=1;i<5;i++)
            if (nim[i]>nim[i+1] )     //sortir
            {
            tmp=nim[i];
            nim[i]=nim[i+1];
            nim[i+1]=tmp;
                                      }
}

   cout<<"              Laporan Nilai Mahasiswa Sistem Informasi "<<endl;
   cout<<"________________________________________________________________________________"<<endl;
   cout<<"NIM   Nama  Kehadiran  Nilai  Nilai  Nilai  Nilai  Nilai  Grade  KET   "<<endl;
   cout<<"                       Tugas   UTS   UAS    Akhir  Huruf                           "<<endl;
   cout<<"________________________________________________________________________________"<<endl;



     for (i=1;i<=5;i++) //hasil pengurutan
{
      cout<<setiosflags(ios::left)<<setw(4)<<nim[i];
      cout<<setiosflags(ios::left)<<setw(7)<<dtmhs[i].nama;
      cout<<setiosflags(ios::left)<<setw(3)<<dtmhs[i].kehadiran;
      cout<<setprecision(2)<<"    "<<dtmhs[i].nilaitgs;
                   cout<<setprecision(2)<<"    "<<dtmhs[i].nilaiuts;
      cout<<setprecision(2)<<"    "<<dtmhs[i].nilaiuas;
      cout<<setprecision(2)<<"    "<<dtmhs[i].nilaiakhir;



if (dtmhs[i].nilaiakhir>=85)
 {
cout<<"     A "<<"   sngat memuaskan"<<" Lulus"<<endl;
 }
 else if (dtmhs[i].nilaiakhir>=70)
 {
cout<<"     B "<<"      memuaskan"<<" Lulus"<<endl;
 }
 else if (dtmhs[i].nilaiakhir>=60)
 {
cout<<"     C "<<"         cukup "<<" Lulus"<<endl;
 }
 else if (dtmhs[i].nilaiakhir>=50)
 {
cout<<"     D "<<"        kurang "<<" gagal "<<endl;
 }
 else
 {
cout<<"     E "<<"          gagal"<<" gagal"<<endl;
  }
   }

getch ();
}

//ada 5 kali perulangan
literasi         data 1          data2           data3           data4           data5
awal            ........                   ........                   ........                   ........                   ........
i=1               ........                   ........                   ........                   ........                   ........
i=2               ........                   ........                   ........                   ........                   ........
seterusnya... Tampilan nya 
                               taaaaraaaa



0 komentar:

Posting Komentar