Skip to content

Instantly share code, notes, and snippets.

@sinannar
Created April 4, 2012 19:02
Show Gist options
  • Save sinannar/2304773 to your computer and use it in GitHub Desktop.
Save sinannar/2304773 to your computer and use it in GitHub Desktop.
HW02-unnamed hero :)
BU ODEVDE İSTENİLEN HERSEY YAPILMAMIS OLUP BAZI EKSIKLIKLERI BULUNMAKTA
AMA KIMSEDEN GCC DE DERLENECEK BI ODEV GELMEDIGI ICIN BUNU KOYUYORUM
ödevde istenilenlerle alakalı dosya:
https://docs.google.com/document/pub?id=1sKFXby2j9RDPr0tRdPF2InTu0sphePHuDFgVdf8utkM
/*
*/
#include <stdio.h>
int askStudentNumber();
int askFinalExamNumber();
int askMidtermExamNumber(int);
void errorForFinalExamNumber();
void errorForMidtermExamNumber();
double askMidtermGrades(int);
double askFinalGrades(int);
double grade(double midtermAverage,double finalAverage);
int getStudentId(int);
int main(int argc,char *argv[])
{
int studentNum,
finalExamNum,
midtermExamNum;
int i;
double mid,fin,ave;
FILE* output=fopen("output.txt","w");
studentNum = askStudentNumber();
finalExamNum = askFinalExamNumber();
midtermExamNum = askMidtermExamNumber(finalExamNum);
for(i=0;i<studentNum;++i)
{
fprintf(output,"%d. student grade is %f id is %d\n",i+1,
grade(askMidtermGrades(midtermExamNum),askFinalGrades(finalExamNum)),getStudentId(i+1));
}
fclose(output);
return 0;
}
int askStudentNumber()
{
int num;
do{
printf("How many students\n(SHOULD BE MORE AND EQUAL THAN 1)\n");
scanf("%d",&num);
}while(num<1);
return num;
}
int askFinalExamNumber()
{
int num;
do{
errorForFinalExamNumber();
printf("How many final exams\n");
scanf("%d",&num);
}while(num<1 || num >6);
return num;
}
int askMidtermExamNumber(int finalNum)
{
int num;
do{
errorForMidtermExamNumber();
printf("How many midterm exams\n");
scanf("%d",&num);
}while (num < 1 || num > 8 || num < finalNum );
return num;
}
void errorForFinalExamNumber()
{
printf("At least 1 or at most 6 final should be\n");
}
void errorForMidtermExamNumber()
{
printf("At least 1 or at most 8 midterm should be\n");
printf("And Mitderm exam num should be more or equal than final\n");
}
double askMidtermGrades(int examNum)
{
int i=0;
double total=0;
double grade;
for(i=0; i<examNum; ++i)
{
printf("Enter %d. midterm grades",i+1);
scanf("%lf",&grade);
total += grade;
}
return total/examNum;
}
double askFinalGrades(int examNum)
{
int i=0;
double total=0;
double grade;
for(i=0; i<examNum; ++i)
{
printf("Enter %d. final grades",i+1);
scanf("%lf",&grade);
total += grade;
}
return total/examNum;
}
double grade(double midtermAverage,double finalAverage)
{
return ( ( (midtermAverage*40) / 100) + ( (finalAverage*60) / 100) );
}
int getStudentId(int studentNum)
{
int studentId;
do{
printf("Enter %d. student 8 character id \n(DO NOT START with 0)\n",studentNum);
scanf("%d", &studentId);
}while( studentId < 10000000 || studentId > 99999999 );
return studentId;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment