All pastes #1260103 Raw Edit

Untitled

public cpp v1 · immutable
#1260103 ·published 2008-11-18 06:51 UTC
rendered paste body
#include<string>#include<iostream>#include<fstream>#include<iomanip>using namespace std;void print();int selection();void save();void dataEntry();void load();void calculate(int);void editstud();int getIndex();void deletestud();int dataPtr=0;string filename;string names[10];int exam1[10];int exam2[10];int exam3[10];int final[10];float avg[10];char g[10];ifstream infile;ofstream outfile;int main(){	char a;	cout << "Would you like to enter data from an existing file (y/n)?  ";	cin >> a;	cout << endl;	if(a=='y')		load();	int select(0);	while(select != 9)	{		select=selection();		switch(select)		{			case 1:				print();				break;			case 2:				dataEntry();					break;			case 3:				editstud();				break;			case 4:				deletestud();				break;//			case 5://				sort();//				break;		}	}	save();	return 0;}void editstud(){	int j(1);	while(j != 0)	{		int i = getIndex();			cout << "Current value of entry " << i+1;		cout << " for " << names[i] << " is: " << endl;		cout << exam1[i]<<" "<<exam2[i]<<" "<<exam3[i]<<" "<<final[i]<< endl;		cout << "Enter new value: " << endl;		cin >> exam1[i]>> exam2[i] >> exam3[i] >> final[i];		cout << "New value of entry " << i+1 << " for " << names[i] << " is: " << endl; 		cout << exam1[i]<<" "<<exam2[i]<<" "<<exam3[i]<<" "<<final[i]<< endl;		cout << endl << "Enter 0 to exit or any ";		cout << "other value to continue editing: ";		cin >> j;		calculate(i);	}	return;}int getIndex(){	int i(0);	while(i < 1 || i > 10)	{		cout << endl << "Please enter index of item ";		cout << "you wish to enter." << endl;		cout << "Index should be between 1 and 10"<< endl;		cin >> i;		if(i < 1 || i > 10)			cout << "Please enter a number per";			cout << "following instructions:" << endl;	}	return i-1;}void deletestud(){//	int i(0);//	int n(0);	int i;		cout << endl << "Please enter index of item to be deleted: ";		cin >> i;	for (int j = i; j<dataPtr; j++) { 	names[j] = names[j+1];	exam1[j] = exam1[j+1];        exam2[j] = exam2[j+1];        exam3[j] = exam3[j+1];        final[j] = final[j+1];	}	dataPtr--;		//		getline(cin, names[i]);//		int* a = NULL;            //		a = new int[n]; //		a[i] = 0;//		delete [] a;  //		a = NULL;  		return;}int selection(){ 	int i = 0;	while(i != 1 && i != 2 && i != 9 && i != 3 && i != 4 && i != 5)	{		cout << endl << "Please enter activity selection: " << endl;		cout << "  1 - Print Student Grades" << endl;		cout << "  2 - Add Student" << endl;		cout << "  3 - Edit Student" << endl;		cout << "  4 - Delete Student" << endl;		cout << "  5 - Sort Students" << endl;		cout << "  9 - Exit" << endl;		cin >> i;	}	return i;}void dataEntry(){	cout << "Please enter student name: ";	cin >> names[dataPtr];	cout << "Please enter four exam grades: "<<endl<<endl;	cin >> exam1[dataPtr];	cin >> exam2[dataPtr];	cin >> exam3[dataPtr];	cin >> final[dataPtr];	calculate(dataPtr);	dataPtr++;	return;}void print(){cout << endl;cout <<"  Index   Student  Exam 1   Exam 2   Exam 3   Final   Average   Letter" << endl; for(int i=0; i<dataPtr; i++){cout << "   " << i+1 << setw(12)<<names[i]<<setw(8)<<exam1[i]<<setw(9)<<exam2[i]<<setw(9)<<exam3[i]<<setw(8)<<final[i]<<setw(10)<<avg[i]<<setw(7)<<g[i]<<endl;}return;}void save(){	cout << "Enter filename to save output " << endl;	cout << "example - saved.txt          :  ";	cin >> filename;	cout << endl;	cout << endl;	cout << "---------------------------------------------------------------------" << endl;	cout << "File saved in:      " << filename << endl;	cout << "---------------------------------------------------------------------" << endl;	cout << endl;	outfile.open(filename.c_str());	for(int i = 0; i<dataPtr; i++)		outfile << names[i]<<" "<<exam1[i]<<" "<<exam2[i]<<" "<<exam3[i]<<" "<<final[i]<<" "<<avg[i]<<" "<<g[i]<<endl;	outfile.close();	return;}void load(){	cout << "Enter filename to read from  " << endl;	cout << "example - data.txt         :  ";	cin >> filename;	infile.open(filename.c_str());	int loaded=0;	while(!infile.eof())	{		infile >> names[loaded]>>exam1[loaded]>>exam2[loaded]>>exam3[loaded]>>final[loaded]>>avg[loaded]>>g[loaded];		calculate(loaded);		if(names[loaded]=="")			break;		loaded++;	}	dataPtr=loaded;	infile.close();	return;}void calculate(int i){	avg[i]=((exam1[i]+exam2[i]+exam3[i]+final[i])/4);	if(avg[i] <= 100 && avg[i] > 89.9)		g[i]='A';	else if(avg[i] <= 89.9 && avg[i] > 79.9)		g[i]='B';	else if(avg[i] <= 79.9 && avg[i] > 69.9)		g[i]='C';	else if(avg[i] <= 69.9 && avg[i] > 59.9)		g[i]='D';	else g[i]='F';return;}