#include <stdio.h>
#include <conio.h>
void IP(int n){
float NA, Ntot=0, IP;
int sks, skstot=0, i, NM;
char makul[20];
typedef struct{
float uas, uts, tugas;
}Nilai;
Nilai Nil[100];
for(i=0;i<n;i++){
printf("\nNama mata kuliah %d : ",i+1);gets(makul);gets(makul);
printf("Jumlah SKS : ");scanf("%s",&sks);
printf("Nilai UAS : ");scanf("%f",&Nil[i].uas);
printf("Nilai UTS : ");scanf("%f",&Nil[i].uts);
printf("Nilai Tugas : ");scanf("%f",&Nil[i].tugas);
NA=(Nil[i].uas*0.45)+(Nil[i].uts*0.35)+(Nil[i].tugas*0.2);
if(NA>=86 && NA<=100){
NM=sks*4;
printf("Nilai Huruf : A\n");
}
else if(NA>=71 && NA<=85){
NM=sks*3;
printf("Nilai Huruf : B\n");
}
else if(NA>=56 && NA<=70){
NM=sks*2;
printf("Nilai Huruf : C\n");
}
else if(NA>=41 && NA<=55){
NM=sks*1;
printf("Nilai Huruf : D\n");
}
else if(NA>=0 && NA<=40){
NM=0;
printf("Nilai Huruf : E\n");
}
Ntot=Ntot+NM;
skstot=skstot+sks;
}
IP=Ntot/skstot;
printf("\nIP anda adalah %.2f",IP);
}
void main (){
char nama[30], nim[11];
int n;
printf("Nama : ");gets(nama);gets(nama);
printf("NIM : ");scanf("%s",&nim);
printf("Banyak mata kuliah yang anda ambil : ");scanf("%d",&n);
IP(n);
getch();
}
ALGORITMA :
Type mhs : record <
makul: array [30] of integer
sks : integer
nilai : real
huruf : char
jum : integer
angka : integer
>
Procedure main
Deklarasi
Const q = 150
a : array [q] of mhs
i,n,m, sks = 0 : integer
ip, z = 0 : real
nim : array [15] , nama : array [40] of char
Deskripsi
read(nama)
read(nim)
read(n)
for i 0 to n do
read(a:array[i] of makul)
read(a:array[i] of sks)
read(a:array[i] of nilai)
if a:array[i] of nilai >=85
a:array[i] of huruf = A
a:array[i] of angka = 4
a:array[i] of jum = a:array[i] of sks x a:array[i] of angka
endif
else
if a:array[i] of nilai >= 70 and a:array[i] of nilai < 85
a:array[i] of huruf = b
a:array[i] of angka = 3
a:array[i] of jum = a:array[i] of sks x a:array[i] of angka
endif
else
if a:array[i] of nilai >= 55 and a:array[i] of nilai <70
a:array[i] of huruf = c
a:array[i] of angka = 2
a:array[i] of jum = a:array[i] of sks x a:array[i] of angka
endif
else
if a:array[i] of nilai >=45 and a:array[i] of nilai <55
a:array[i] of huruf = d
a:array[i] of angka = 1
a:array[i] of jum = a:array[i] of sks x a:array[i] of angka
endif
else
if a:array[i] of nilai >= 55 and a:array[i] of nilai <70
a:array[i] of huruf = e
a:array[i] of angka = 0
a:array[i] of jum = a:array[i] of sks x a:array[i] of angka
endif
endfor
z z + a:array[i] of jum
sks sks + a:array[i] of sks
write(nama,nim)
ip z / sks
write(sks,ip)
Pranala --> CONTOH PROGRAM C++ MENCARI NILAI RATA-RATA, INPUT TIDAK DI TENTUKAN
ReplyDelete