#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "grades.h"

int printreport;
FILE *tofile, *fromfile;

void getOptions(int argc, char *argv[]);

int main(int argc, char *argv[])
{
	GRADE *grds;
	getOptions(argc,argv);
	grds = read_grades(fromfile);
	if(!printreport)
	{
		fprintf(tofile,
				"Class: %s\nStudent: %s\nAverage: %f\n",
				grds->course, grds->student, average(grds));
	}
	else
	{
		if(!generate_report(grds,tofile))
		{
			printf("Bad Filename.\n");
			return EXIT_FAILURE;
		}
		fprintf(tofile,
				"Final Average: %f\n",
				average(grds));
	}
	return EXIT_SUCCESS;
}

void getOptions(int argc, char *argv[])
{
	int i;
	printreport = 0;
	tofile = stdout;
	if(argc == 1)
	{
		printf("USAGE: grades -in <file> [-out <file>] [--report]\n");
		exit(EXIT_SUCCESS);
	}
	for(i=1;i<argc;i++)
	{
		if(strcmp(argv[i],"-in")==0)
			fromfile = fopen(argv[i+1],"r");
		else if(strcmp(argv[i],"-out")==0)
			tofile = fopen(argv[i+1],"w");
		else if(strcmp(argv[i],"--report")==0)
			printreport = 1;
	}
}
