Minggu, 20 Februari 2011

Semester 1, Algoritma 2

#include <iostream.h>

struct mhs
{
    int nim[100];
    char nama[20];
    char jurusan[20];
    char fakultas[20];           
    double sem;
    double tahun;
};
mhs m[100];

struct matakuliah
{
    double kmk;
    char matkul[20];
    double sks;
    double total;
    char nilai;

};

matakuliah mk[100];
                                
double array1[100];
double array2[100];
void input();
void kmk();
void krs();
void output();
void main()
{
    int pilihan;
    cout<<"\nMenu"<<endl;
    cout<<"1. Input Data Mahasiswa"<<endl;
    cout<<"2. Input Mata Kuliah"<<endl;
    cout<<"3. KRS"<<endl;
    cout<<"4. Total Hasil"<<endl;
    cout<<"Masukkan Pilihan : ";
    cin>>pilihan;
    cout << endl;
    if(pilihan == 1)
    {
        input();
    }
    else if(pilihan == 2)
    {
        kmk();
    }
    else if(pilihan ==3)
    {
        krs();
    }
    else if(pilihan == 4)
    {
        output();
    }


}
double ips, total2, totalsks = 0;
int a, b, n;
char jawab;
void input()
{
    cout<<"Masukkan Jumlah Mahasiswa : ";
    cin>>n;
    for(a = 1; a <= n; a++)
    {
        cout<<"\nMasukkan NIM     : ";
        cin>>m[a].nim[a];
        cout<<"Masukkan Nama     : ";
        cin>>m[a].nama;
        cout<<"Masukkan Jurusan : ";
        cin>>m[a].jurusan;
        cout<<"Masukkan Fakultas: ";
        cin>>m[a].fakultas;
        cout<<"Masukkan Semester: ";
        cin>>m[a].sem;
        cout<<"Masukkan Tahun      : ";
        cin>>m[a].tahun;

    }
    cout<<"NIM\t\tNama\tJurusan\tFakultas\tSemester\tTahun"<<endl;
    for(a=1; a <= n ; a++)
    {
        cout<<m[a].nim[a]<<"\t"<<m[a].nama<<"\t"<<m[a].jurusan<<"\t"<<m[a].fakultas<<"\t\t"<<m[a].sem<<"\t"<<m[a].tahun<<endl;
    }

        main();

}
void kmk()
{
    for(b = 1; b <= 5; b++)
    {
        cout<<"\nKMK        : ";
        cin>>mk[b].kmk;
        cout<<"Mata Kuliah    : ";
        cin>>mk[b].matkul;
        cout<<"SKS        : ";
        cin>>mk[b].sks;
    }
    cout<<"\nKMK\tMata Kuliah\tSKS"<<endl;
    for(b = 1; b <= 5; b++)
    {
        cout<<mk[b].kmk<<"\t"<<mk[b].matkul<<"\t\t"<<mk[b].sks<<endl;
    }
    main();

}
void search2();
void search()
{
    int x;
    int i = 1;
    for(a = 1; a < n; a++)
    {
        x=0;
        cout<<"Masukkan NIM:";
        cin>>array1[a];
        for(a = 1; a <= n; a++)
        {
            if(array1[i]==m[a].nim[a])
            {
                cout<<"NIM:"<<m[a].nim[a]<<endl;
                cout<<"Nama:"<<m[a].nama<<endl;
                cout<<"Semester:"<<m[a].sem<<endl;
                cout<<"Tahun:"<<m[a].tahun<<endl;
                x=1;
                i++;
                search2();

            }
        }
        if(x==0)
        {
            input();
        }
    }


}
void search2()
{
    int y;
    int r = 1;
    do
    {
    for(b = 1; b <= 5; b++)
    {
        y=0;
        cout<<"Masukkan KMK : ";
        cin>>array2[r];
        for(b = 1; b <= 5; b++)
        {
            if(array2[r]==mk[b].kmk)
            {

                cout<<"KMK:"<<mk[b].kmk<<endl;
                cout<<"Mata Kuliah:"<<mk[b].matkul<<endl;
                y=1;
                r++;
                cout<<"SKS:"<<mk[b].sks<<endl;
                cout<<"Input KMK lagi(y/n)?";
                cin>>jawab;

            }
        }
        if(y==0)
        {
            kmk();
        }
    }
    }
    while(jawab=='y' || jawab=='Y');

    if(jawab=='n' || jawab=='N')
    {
        main();
    }

}
void krs()
{
    search();
}
void output2();
void nilai();
void output()
{
    int temp;
    int c;
    /*for(i=1;i<=n;i++)
    {
        cout<<"NIM ke-"<<i<<"="<<m[i].nim[i]<<endl;
    }*/
    for(a=1;a<=n;a++)
    {
        c=a;
        for(int k=a+1;k<=n;k++)
        {
            if(m[k].nim[k] < m[c].nim[c])
            {
                c=k;
            }
        }
            temp=m[a].nim[a];
            m[a].nim[a]=m[c].nim[c];
            m[c].nim[c]=temp;
            cout<<"NIM :"<<m[a].nim[a]<<endl;
            cout<<"Nama:"<<m[a].nama<<endl;
            cout<<"Jurusan:"<<m[a].jurusan<<endl;
            cout<<"Fakultas:"<<m[a].fakultas<<endl;

            nilai();
            output2();
            cout<<"Tampilkan Data Berikutnya(y/n)?";
            cin>>jawab;
            if(jawab=='y' || jawab=='Y')
            {
                krs();
                nilai();
                output2();
            }
            else if(jawab=='n' || jawab=='N')
            {
                main();
            }
    }

}
void nilai()
{
    cout<<"Masukkan Nilai Semua Pelajaran:"<<endl;
    for(a=1;a<=5;a++)
    {
        cout<<"KMK:"<<mk[a].kmk<<endl;
        cout<<"Mata Kuliah:"<<mk[a].matkul<<endl;
        cout<<"SKS:"<<mk[a].sks<<endl;
        cout<<"Nilai:";
        cin>>mk[a].nilai;
        if(mk[a].nilai=='A' || mk[a].nilai=='a')
        {
            mk[a].total=mk[a].sks*4;
        }
        else if(mk[a].nilai=='B'|| mk[a].nilai=='b')
        {
            mk[a].total=mk[a].sks*3;
        }
        else if(mk[a].nilai=='C'|| mk[a].nilai=='c')
        {
            mk[a].total=mk[a].sks*2;
        }
        else if(mk[a].nilai=='D'|| mk[a].nilai=='d')
        {
            mk[a].total=mk[a].sks*1;
        }
        else if(mk[a].nilai=='E'|| mk[a].nilai=='e')
        {
            mk[a].total=mk[a].sks*0;
        }
    }

}
void output2()
{
    for(a=1;a<=n;a++)
    {
        cout<<"NIM:"<<m[a].nim[a]<<"\t\t"<<"Semester:"<<m[a].sem<<endl;
        cout<<"Nama:"<<m[a].nama<<"\t\t"<<"Tahun:"<<m[a].tahun<<endl;
        cout<<"KMK \t Mata Kuliah \t SKS \t Nilai \t Total"<<endl;


        for(a=1;a<=5;a++)
        {
            cout<<mk[a].kmk<<"\t"<<mk[a].matkul<<"\t\t"<<mk[a].sks<<"\t"<<mk[a].nilai<<"\t"<<mk[a].total<<endl;
        }
        for(a=1;a<=5;a++)
        {
            totalsks=totalsks+mk[a].sks;
        }
        cout<<"Total SKS:"<<totalsks<<endl;
        for(a=1;a<=5;a++)
        {
            total2=total2+mk[a].total;
        }
        ips=total2/totalsks;
        cout<<"IPS      :"<<ips<<endl;


    }

}

Tidak ada komentar:

Posting Komentar