1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194
|
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
int main()
{
FILE* fipoint;
double StudentGrades[20][3];
char StudentNames[20][9];
int x = 0,studentnum1;
double* grades;
char* names;
//grades=StudentGrades;
//names=StudentNames;
void minimum(char names_array[20][9], double grades_array[20][3]);
void maximum(char names_array[20][9], double grades_array[20][3]);
void average(int studentnum,double grades_array[20][3]);
/************************Task 1&2*************************************/
fipoint=fopen("grades.txt","r");
if(fipoint==NULL)
{
printf("Cannot open file!\n");
}
else
{
while(fscanf(fipoint,"%s",&StudentNames[x])>0)
{
fscanf(fipoint,"%lf", &StudentGrades[x][0]);
fscanf(fipoint,"%lf", &StudentGrades[x][1]);
fscanf(fipoint,"%lf", &StudentGrades[x][2]);
printf("%s %lf %lf %lf\n", StudentNames[x], StudentGrades[x][0],
StudentGrades[x][1], StudentGrades[x][2]);
x++;
}
fclose(fipoint);
}
/********************Task 3**************************************/
minimum(StudentNames, StudentGrades);
maximum(StudentNames,StudentGrades);
/********************Task 5**************************************/
printf("Which students average would you like to see?(1-20)\n\n");
scanf("%d",&studentnum1);
average(studentnum1,StudentGrades);
system("pause");
}
/*****************************Minimum Function*********************************/
void minimum(char names_array[20][9], double grades_array[20][3])
{
int row=0,colmn=0,minrow=0;
int count=0;
double mini=0;
while(row<20){
if (grades_array[row][colmn]<=grades_array[row][colmn+1]){
mini==grades_array[row][colmn];
colmn++;
}
else {
mini==grades_array[row][colmn+1];
colmn++;
}
if(colmn==1){
row++;
colmn=0;
}
}
printf("Student %d had the lowest grade of %lf\n\n",minrow+1,mini);
}
/*****************************Maximum Function*********************************/
void maximum(char names_array[20][9], double grades_array[20][3])
{
int row2=0,colmn2=0,maxrow=0;
int count2=0;
double max=0;
while(row2<20){
if (grades_array[row2][colmn2]>=grades_array[row2][colmn2+1]){
max==grades_array[row2][colmn2];
colmn2++;
}
else {
max==grades_array[row2][colmn2+1];
colmn2++;
}
if(colmn2==1){
row2++;
colmn2=0;
}
}
printf("Student %d had the lowest grade of %lf\n\n",maxrow+1,max);
}
/**************************Average Function***********************************/
void average(int studentnum,double grades_array[20][3])
{
float aver, high, middle, low;
while(studentnum<1 || studentnum>20){
printf("This student does not exist");
}
if(grades_array[studentnum][0]>=grades_array[studentnum][1] && grades_array[studentnum][0]>=grades_array[studentnum][2]){/*****If first column is greatest**/
high=grades_array[studentnum][0]*.40;
if(grades_array[studentnum][1]>=grades_array[studentnum][2]){
middle=grades_array[studentnum][1]*.35;
low=grades_array[studentnum][2]*.25;
}
else{
middle=grades_array[studentnum][2]*.35;
low=grades_array[studentnum][1]*.25;
}
}
else if(grades_array[studentnum][1]>grades_array[studentnum][0] && grades_array[studentnum][1]>grades_array[studentnum][2]){/*****If second column is greatest**/
high=grades_array[studentnum][1]*.40;
if(grades_array[studentnum][0]>grades_array[studentnum][2]){
middle=grades_array[studentnum][0]*.35;
low=grades_array[studentnum][2]*.25;
}
else{
middle=grades_array[studentnum][2]*.35;
low=grades_array[studentnum][0]*.25;
}
}
else if(grades_array[studentnum][2]>grades_array[studentnum][0] && grades_array[studentnum][2]>grades_array[studentnum][1]){/*****If third column is greatest**/
high=grades_array[studentnum][2]*.40;
if(grades_array[studentnum][0]>grades_array[studentnum][1]){
middle=grades_array[studentnum][0]*.35;
low=grades_array[studentnum][1]*.25;
}
else{
middle=grades_array[studentnum][0]*.35;
low=grades_array[studentnum][1]*.25;
}
}
aver=high+middle+low;
printf("Student %d had and an average of %f",studentnum,aver);
}
/*
Student1 77 68 86
Student2 50 60 35
Student3 45 87 90
Student4 60 87 90
Student5 34 56 4
Student6 1 2 3
Student7 67 75 81
Student8 23 45 90
Student9 1 50 100
Student10 34 65 86
Student11 38 98 78
Student12 67 54 97
Student13 99 98 87
Student14 17 71 7
Student15 64 86 87
Student16 56 78 65
Student17 23 45 76
Student18 69 96 87
Student19 45 78 88
Student20 80 81 90
*/
| |