All pastes #675949 Raw Edit

Untitled

public text v1 · immutable
#675949 ·published 2007-08-30 17:13 UTC
rendered paste body
#include <stdio.h>
#include <stdlib.h>

void totalscore (int test[9][100], int n, int* total);
void calc(int test[9][100], int high[9], int low[9], float ave[9][2], int n);

int main ()
{
	// Local Declarations
	int n = 0;
	int test[9][100];
	char first[80];\
	int high[9] = {0};
	int low[9] = {100, 100, 100, 100, 100, 100, 100, 100, 100};
	float ave[9][2] = {0};
	char name[4];
	char test1[6];
	char test2[6]; 
	char test3[6]; 
	char test4[6];
	char test5[6];
	char test6[6];
	char test7[6];
	char test8[6];
	char test9[6];
	int total;

	FILE* fpIN;
	FILE* fpOut;

	// Statements
	// --------------------

	if (!(fpIN = fopen("C:\\Documents and Settings\\Owner.TacoJim\\My Documents\\IUPUI\\Engineering\\ECE 264\\wboler_hw1\\inputFile.txt", "r")))
	{
		printf("\aCould not open student file.\n");
		exit (100);
	}

	fscanf(fpIN, "%s""%s""%s""%s""%s""%s""%s""%s""%s""%s", name, test1, test2, test3, test4, test5, test6, test7, test8, test9);
	printf("File scanning initiated.");

	fpOut = fopen("C:\\Documents and Settings\\Owner.TacoJim\\My Documents\\IUPUI\\Engineering\\ECE 264\\wboler_hw1\\outputFile.txt", "w");
	fprintf(fpOut, "\t%s\t\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\tTotal\n", name, test1, test2, test3, test4, test5, test6, test7, test8, test9);

	while (fscanf(fpIN, "%s %d %d %d %d %d %d %d %d %d", first, &test[0][n], &test[1][n], &test[2][n], &test[3][n], &test[4][n], &test[5][n], &test[6][n], &test[7][n], &test[8][n]) == 10)
	{
		totalscore(test, n, &total);
		fprintf(fpOut, "%s\t\t%3d\t%3d\t%3d\t%3d\t%3d\t%3d\t%3d\t%3d\t%3d\t%3d\n", first, test[0][n], test[1][n], test[2][n], test[3][n], test[4][n], test[5][n], test[6][n], test[7][n], test[8][n], total);
		n++;
	}

	calc(test, high, low, ave, n);
	
	fprintf(fpOut, "\nHighest Score:\t\t%3d\t%3d\t%3d\t%3d\t%3d\t%3d\t%3d\t%3d\t%3d", high[0], high[1], high[2], high[3], high[4], high[5], high[6], high[7], high[8]);
	fprintf(fpOut, "\nLowest Score:\t\t%3d\t%3d\t%3d\t%3d\t%3d\t%3d\t%3d\t%3d\t%3d", low[0], low[1], low[2], low[3], low[4], low[5], low[6], low[7], low[8]);
	fprintf(fpOut, "\nAverage Score:\t\t%3.0f\t%3.0f\t%3.0f\t%3.0f\t%3.0f\t%3.0f\t%3.0f\t%3.0f\t%3.0f\n", ave[0][0], ave[1][0], ave[2][0], ave[3][0], ave[4][0], ave[5][0], ave[6][0], ave[7][0], ave[8][0]);

	printf("\nScanning complete.\n");
	fclose (fpIN);
	fclose (fpOut);
	return 0;
}

void totalscore(int test[9][100], int n, int* total)
{
	*total = test[0][n] + test[1][n] + test[2][n] + test[3][n] + test[4][n] + test[5][n] + test[6][n] + test[7][n] + test[8][n];
}


void calc(int test[9][100], int high[9], int low[9], float ave[9][2], int n)
{
	int sum = 0;

	for (int y = 0; y < n; y++)
	{
		for (int x = 0; x < 10; x++)
		{
			if (test[x][y] < low[x])
				low[x] = test[x][y];
			if (test[x][y] > high[x])
				high[x] = test[x][y];
			ave[x][1]+= (float) test[x][y];
		}
	}

	for (int r = 0; r < 10; r++)
		ave[r][0] = ave[r][1] / (float) n; 
}