zamsyh.dev@gmail.com

Basic C++ OOP Implement Struct by Zamzam Saputra
 avatar
zamisyh
c_cpp
4 years ago
3.1 kB
6
Indexable
#include <iostream>
#include <string>
#include <sstream>
#include <iomanip>
#include <stdio.h>
#include <stdlib.h>

using namespace std;

class Mahasiswa{
    public:
        int nilaiAkhir;
        string nilaiHuruf;

        void setNilaiAkhir(int, int);
        void setNilaiHuruf();
};

void Mahasiswa::setNilaiAkhir(int nilaiUas, int nilaiUts){
    this->nilaiAkhir = (nilaiUas * 0.4) + (nilaiUts * 0.6);
    if (this->nilaiAkhir >= 80)
    {
       this->nilaiHuruf = 'A';
    }else if(this->nilaiAkhir >= 70 && this->nilaiAkhir < 80){
        this->nilaiHuruf = 'B';
    }else if(this->nilaiAkhir >= 56 && this->nilaiAkhir < 70){
        this->nilaiHuruf = 'C';
    }else if(this->nilaiAkhir >= 47 && this->nilaiAkhir < 56){
        this->nilaiHuruf = 'D';
    }else if (this->nilaiAkhir < 47)
    {
        this->nilaiHuruf = 'E';
    }
};


int main(int argc, char const *argv[])
{

   
    int i;
    char next;

    Mahasiswa myObj;
    struct mahasiswa
    {
        string nama_mahasiswa;
        int nilai_uts, nilai_uas, nilai_akhir;
        char nilai_huruf[1];
        int loop;
    } mhs[i], jml;

    up:
    cout << "Masukkan Jumlah Mahasiswa : "; cin >> jml.loop;
    for (i = 1; i <= jml.loop; i++)
    {
        cout << "Mahasiswa ke - " << i << endl;
        cout << "Nama Mahasiswa : "; cin >> mhs[i].nama_mahasiswa;
        cout << "Nilai UTS : "; cin >> mhs[i].nilai_uts;
        cout << "Nilai UAS : "; cin >> mhs[i].nilai_uas;
        cout << "" << endl; 

        if (i == jml.loop)
        {
            cout << "\t\t Daftar Nilai Mata Kuliah C++" << endl;
            cout << "----------------------------------------------------------------------" << endl;
            cout << "No.    Nama Mahasiswa        Nilai         Nilai Akhir     Nilai Huruf" << endl;
            cout << "----------------------------------------------------------------------" << endl;
            cout << "                         UTS       UAS " << endl;
            cout << "----------------------------------------------------------------------" << endl;

            for (i = 1; i <= jml.loop; i++)
            {
                cout << i ;
                cout << "\t" << mhs[i].nama_mahasiswa;
                cout << "\t\t  " <<  mhs[i].nilai_uts;
                cout << "\t   " <<      mhs[i].nilai_uas;
                myObj.setNilaiAkhir(mhs[i].nilai_uas, mhs[i].nilai_uts);
                cout << "\t\t" << myObj.nilaiAkhir;
                cout << "\t\t" << myObj.nilaiHuruf;
                cout << endl;
                
            }

            cout << "----------------------------------------------------------------------" << endl;
            cout << "Jumlah Mahasiswa : " << jml.loop << endl;
            cout << "Input data lagi [Y/T] ? "; cin >> next;

            if (next == 'Y' || next == 'y')
            {
                goto up;
            }else{
                goto end;
            }
            
            
        }
              
        
    }

    end:
        cout << "Terima Kasih";
    
    cout << "" << endl;
    cout << "" << endl;
    cout << "" << endl;
    return 0;
}
Editor is loading...