Vous êtes sur la page 1sur 3

///Preprocessor Directives

#include <stdio.h>
#define studentMax 40
#define quizMax 5
//Function Declarations
void getData (int studentID[ ], int scores[ ][quizMax], int* numStudents);
//scoreCalc function goes here
int loScore (int scores [ ][quizMax], int quiz_count, int numStudents);
int hiScore ( int scores[ ][quizMax], int quiz_count, int numStudents);
double avgScoreCalc (int scores [ ][quizMax], int quiz_count, int numStudents);
//printResults function goes here
int main(void)
{
//Local Declarations
int
int
int
int
double
int

studentID [studentMax];
scores[studentMax][quizMax];
hiScore[quizMax];
loScore[quizMax];
avgScore[quizMax];
numStudents;

//Statements
getData(studentID, scores, &numStudents);
//call to scoreCalc
//call to printResults

//Function call getData


//Function call scoreCalc
//Function call printResults

return 0;
} //main
/*===================================================================== getData
===========================================================================*/
//This function takes input from data in myfile.dat and stores them into arrays.
void getData (int studentID[ ], int scores [ ][quizMax], int* numStudents)
{
//Local Delcarations
int student_count;
int quiz_count;
FILE* spIn;
//Statements
spIn = fopen ("myfile.dat", "r");
student_count = 0;
while (fscanf (spIn, "%d", &studentID[student_count]) !=EOF)

{
for (student_count = 0; student_count < studentMax; student_count++)
{
for (quiz_count = 0; quiz_count < quizMax; quiz_count++)
fscanf (spIn, "%d", &scores[student_count][quiz_count]);
} //for
} //while
student_count = *numStudents;
return;
} //getData
/*================================================================ scoreCalc ===
===================================================================*/
//This function issues calls to three subfunctios to find the highest, lowest an
d average of the quiz scores.
//call to loScore
//hiScore (int scores [ ][quizMax], int quiz_count, int numStudents);
//call to avgScore
/*=============================================================== loScore ======
===================================================================*/
//This function picks out the lowest quiz score in each column.
int loScore (int scores [ ][quizMax], int quiz_count, int numStudents)
{
//Local Declarations
int lowScore;
int student_count;
//Statements
lowScore= scores[0][quiz_count];
for(student_count = 1; student_count < numStudents; student_count++)
{
if (scores[student_count][quiz_count] < lowScore)
lowScore = scores[student_count][quiz_count];
} //for
return lowScore;
} //loScore
/*================================================================ hiScore =====
===================================================================*/
//This function picks out the highest quiz score in each column.
int hiSccore (int scores[ ][quizMax], int quiz_count, int numStudents)
{

//Local Declarations
int result;
int student_count;
//Statements
result = scores[0][quiz_count];
for(student_count = 1; student_count < numStudents; student_count++)
{
if (scores[student_count][quiz_count] > result)
result = scores[student_count][quiz_count];
}
return result;
} //hiScore
/*================================================================= avgScore ===
==============================================*/
//This function computes the average of all of the quizes.
double avgScoreCalc (int scores [ ][quizMax], int quiz_count, int numStudents)
{
//Local Declarations
int
student_count;
int
quizSum;
double quizAvg;
for(quiz_count = 1; quiz_count < quizMax; quiz_count++)
{
for(student_count = 0; student_count < numStudents; student_count++)
{
quizSum += scores[0][quizMax];
}
quizAvg = quizSum/quizMax;
}
return quizAvg;
} //avgScoreCalc
/*================================================================ printResults
=====================================================*/
//This function prints the table from myfile.dat along with the highest, lowest
and average quiz scores.

Vous aimerez peut-être aussi