#include <iostream.h>
#include <cmath>
#include <stdlib.h>
void letter_grade(float stuav,float av,float dev);
int main()
{
//variables
char c;
float mid1[50],mid2[50],finex[50],stuaverage[50];
int counter=0,a=0,b=9;
float deviation=0.0,deviation_total,average=0.0,total=0.0,maxgrade=0.0,mingrade=100.0;
int grade_dis[10]={0,0,0,0,0,0,0,0,0,0};
do{
cout << "Enter the student's first midterm exam result\n"; //getting exam results
cin >> mid1[counter];
cout << "Enter the student's second midterm exam result\n";
cin >> mid2[counter];
cout << "Enter the student's final exam result\n";
cin >> finex[counter];
cout << "Do you want to add another student?\nY/N?";
cin >> c;
stuaverage[counter] = mid1[counter] * 0.25 + mid2[counter] * 0.25 + finex[counter] * 0.5 ; //calculating students average
total = total + stuaverage[counter];
if(maxgrade < stuaverage[counter]){
maxgrade = stuaverage[counter];
}
if(stuaverage[counter] < mingrade){
mingrade = stuaverage[counter];
}
if(stuaverage[counter]<10) // calculating overall grade distribution table
{
grade_dis[0]++;
}
else if(stuaverage[counter]>=10 && stuaverage[counter]<20)
{
grade_dis[1]++;
}
else if(stuaverage[counter]>=20 && stuaverage[counter]<30)
{
grade_dis[2]++;
}
else if(stuaverage[counter]>=30 && stuaverage[counter]<40)
{
grade_dis[3]++;
}
else if(stuaverage[counter]>=40 && stuaverage[counter]<50)
{
grade_dis[4]++;
}
else if(stuaverage[counter]>=50 && stuaverage[counter]<60)
{
grade_dis[5]++;
}
else if(stuaverage[counter]>=60 && stuaverage[counter]<70)
{
grade_dis[1]++;
}
else if(stuaverage[counter]>=70 && stuaverage[counter]<80)
{
grade_dis[1]++;
}
else if(stuaverage[counter]>=80 && stuaverage[counter]<90)
{
grade_dis[1]++;
}
else if(stuaverage[counter]>=90 && stuaverage[counter]<100)
{
grade_dis[1]++;
}
counter++;
average = total / counter; // class overall average
}while(c!='n'&& c!='N');
//calculating standart deviation
for(int i=0;i<counter;i++)
{
deviation_total=deviation_total+(stuaverage[i]-average)*(stuaverage[i]-average);
}
deviation=sqrt(deviation_total/(counter-1));
// results printing on the screen
cout << "\nTotal " << counter << " student's exam results' entered\n";
cout << "Total grade " <<(float)total << "\n";
cout << "Class average " << (float)average << "\n";
cout << "Lowest grade " << (float)mingrade << "\n";
cout << "Highest grade " << (float)maxgrade << "\n";
cout << "Standart deviation " << (float)deviation << "\n";
cout << "\nOverall Grade Distribution \n\n";
for(int i=0;i<10;i++)
{
cout << a << "-" << b << " " << grade_dis[i] << "\n";
a=a+10;
b=b+10;
}
cout << "\nStudent table \n\n";
cout << "Student Midterm1 Midterm2 \t Final \t Total \t\tLetter\n";
for(int i=0;i<counter;i++)
{
cout << i+1 << "\t " << mid1[i] << "\t\t" << mid2[i] << "\t " << finex[i] << "\t " << stuaverage[i] << "\t \t" ;
letter_grade(stuaverage[i],average,deviation);
cout << "\n";
}
system("PAUSE");
return EXIT_SUCCESS;
}
// function for calculating letter grade
void letter_grade(float stuav,float av,float dev)
{
if(stuav<=(av-2*dev))
{
cout << "FF";
}
else if(stuav>(av-2*dev) && stuav<=(av-dev))
{
cout << "FD";
}
else if(stuav<=av && stuav>(av-dev))
{
cout << "DD";
}
else if(stuav>av && stuav<=av+dev)
{
cout << "DC";
}
else if(stuav>av+dev && stuav<=av+2*dev)
{
cout << "CC";
}
else if(stuav>av+2*dev && stuav<=av+3*dev)
{
cout << "CB";
}
else if(stuav>av+3*dev && stuav<=av+4*dev)
{
cout << "BB";
}
else if(stuav>av+4*dev && stuav<=av+5*dev)
{
cout <<"BA";
}
else if(stuav>av+5*dev)
{
cout << "AA";
}
}
29 Mayıs 2012 Salı
Öğrenci not programı
Elektrik-Elektronik Mühendisliğinde okuyan bir arkadaşımın Bilgisayar Programlama dersi final projesi için yaptığım basit bir öğrenci otomasyon programı.Bu program maksimum 50 kişilik bir sınıftaki notları kullanıcıdan alarak öğrencilerin notunu, harf notunu, sınıfın ortalamasını, standart sapmasını hesaplayan ve daha sonra bu değerleri ekranda görüntüleyen bir programdır.
Kaydol:
Kayıt Yorumları (Atom)
Hiç yorum yok:
Yorum Gönder