Created
April 4, 2012 19:02
-
-
Save sinannar/2304773 to your computer and use it in GitHub Desktop.
HW02-unnamed hero :)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
*/ | |
#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