Tugas Ngoding

Program Menentukan IPK Beberapa Mahasiswa Dan Beberapa Mata Kuliah Dalam Tabel Dalam Bahasa C

Berikut Akan Saya Paparkan Contoh Program Untuk Menentukan IPK Beberapa Mahasiswa Dengan Beberapa Mata Kuliah Dalam Tabel.



#include <stdio.h>

float skor (int tugas,int uts,int uas);
void matkul (float skor, int sks, char *huruf, int *point, int *jumlah);

typedef struct
{
    char namamhs[32],namamk[32],huruf;
    int Nmk,tugas,uts,uas,point,sks,jml,tsks,tjml;
    float skor,IP;
}mahasiswa;

main()
{
    int x,y,Nmhs,LOOP;
    char ans;
    mahasiswa mhs[32][12];
    y=1;
    printf("Masukkan Berapa banyak mahasiswa : ");
    scanf("%d",&Nmhs);
     fflush(stdin);
    for(x=1;x<=Nmhs;x++)
    {
        printf("\nMasukkan Nama Mahasiswa ke-%d: ",x);
        gets(mhs[x][0].namamhs);
        y=1;
        mhs[x][0].Nmk=1;
        mhs[x][0].tsks=0;
        mhs[x][0].tjml=0;
        LOOP:
        printf("--------------------\n");
        printf("Masukkan Nama Matkul ke-%d : ",y);gets(mhs[x][y].namamk);
        printf("Masukkan Nilai Matkul %s\n",mhs[x][y].namamk);
        printf("----Tugas : ");scanf("%d", &mhs[x][y].tugas);
        printf("----UTS   : ");scanf("%d", &mhs[x][y].uts);
        printf("----UAS   : ");scanf("%d", &mhs[x][y].uas);
        printf("Masukkan Jumlah SKS Matkul %s : ",mhs[x][y].namamk);scanf("%d", &mhs[x][y].sks);
        fflush(stdin);
        mhs[x][y].skor=skor(mhs[x][y].tugas, mhs[x][y].uts, mhs[x][y].uas);
        matkul(mhs[x][y].skor, mhs[x][y].sks, &mhs[x][y].huruf, &mhs[x][y].point, &mhs[x][y].jml);
        mhs[x][0].tsks+=mhs[x][y].sks;
        mhs[x][0].tjml+=mhs[x][y].jml;
        printf("Apakah anda mau menambahkan matkul lainnya (Y/N) : ");
        scanf("%c",&ans);
        if (ans == 'Y'|| ans == 'y'){fflush(stdin); y++; mhs[x][0].Nmk++; goto LOOP;}
        mhs[x][0].IP=mhs[x][0].tjml/mhs[x][0].tsks;
        fflush(stdin);
    }
    system("cls");
    for(x=1;x<=Nmhs;x++)
    {
        y=1;
        printf("%s\n",mhs[x][0].namamhs);
        printf("+----+----------------+-------+-------+-----+--------+\n");
        printf("| No |    Mata kuliah | Huruf | Point | SKS | Jumlah |\n");
        printf("+----+----------------+-------+-------+-----+--------+\n");
        for(y=1;y<=mhs[x][0].Nmk;y++)
        {
            printf("| %02d | %14s | %3c   | %3d   | %2d  | %4d   |\n",y, mhs[x][y].namamk, mhs[x][y].huruf,
                   mhs[x][y].point, mhs[x][y].sks, mhs[x][y].jml);
        }
        printf("+----+----------------+-------+-------+-----+--------+\n");
        printf("| Total =                             | %2d  | %4d   |\n",mhs[x][0].tsks,mhs[x][0].tjml);
        printf("+-------------------------------------+-----+--------+\n");
        printf("     Index Prestasi : %f",mhs[x][0].IP);
        printf("\n\n");
    }
}

float skor (int tugas,int uts,int uas)
{
    return tugas*0.25 + uts*0.3 + uas*0.45;
}
 
 void matkul (float skor, int sks, char *huruf, int *point, int *jumlah)
{
    if (skor >= 85)
    {
        *huruf='A';
        *point=4;
    }
    else if (skor >=71 && skor <85)
    {
        *huruf='B';
        *point=3;
    }
    else if (skor >=56 && skor <71)
    {
        *huruf='C';
        *point=2;
    }
    else if (skor >=45 && skor < 56)
    {
        *huruf='D';
        *point=1;
    }
    else if (skor <45)
    {
        *huruf='E';
        *point=0;
    }
    *jumlah=*point*sks;
}

Setelah membuat program tersebut build program dengan menekan alt+f9, lalu gunakan f9 untuk mengerunkan program yang telah dibuat. Semoga Bermanfaat! :D

Sign up here with your email address to receive updates from this blog in your inbox.