Click here to Skip to main content
15,906,558 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
Plz help me to convert this program to structuer and class
#include <iostream>
#include <fstream>
#include <string>
#include <iomanip>
using namespace std;

int values=0;		// global variable to hold number of entries in the arrays
struct Student
{
	int studentID;
	int totalCredits;
	string gpa; 
	string major;
	string department;
	string college;
};
void ReadData (Student[]);
void ShowData (Student[]);
void StopPrint (Student[]);
void DisplayMenu(int&, int&);
void FindStud(Student[]);
void AddStud(Student[], int);
void DeleteStud(int[], int);
bool found (int[], int, int&);
int main()
{
	Student info[50];
	int option;
	int id;
	ReadData (info);
	ShowData (info);
	do
	{
		
		option=0;
		DisplayMenu(option, id);
		if (option == 1) FindStud (info);
		else if (option == 2) AddStud (info, id);
		else if (option == 3) DeleteStud(info, id);
	} while (option != 4);
	StopPrint (info);
	
	return 0;
}
bool found (Student studentID, int id, int& loc)
{
	bool flag=false;
	for (loc=0; loc<values; loc++)
		if (info[loc].studentID==id)
		{
			flag=true;
			break;
		}
	return flag;
}

void DeleteStud(Student[], int id)
{
	int n;
	if (found (sid, id, n))
	{
		cout<<"Student with id= "<<id<<" has been deleted"<<endl;
		sid[n]=0;
	}
	else cout<<"Student with id = "<<id<<" was not found."<<endl;
}

void AddStud (Student[])
{
 	int n;
	if (!found(sid, id, n))
	{
		
		cout<<endl;
		sid[values]=id;
		cout<<"Enter Student First Name:";
		cin>>fname[values];
		cout<<"Enter Student Major:";
		cin>>major[values];
		cout<<"Enter Student Gpa:";
		cin>>gpa[values];
		cout<<"Enter Student Credits:";
		cin>>hrs[values];
		 
	}
	else
		cout<<"Student with id = "<<id<<" already exists."<<endl;
	values++;
}

void FindStud (Student[])
{
 	int n;
	if (found(sid, id, n))
	{
		cout<<endl;
		cout<<setw(20)<<"Student Id:"<<setw(20)<<sid[n]<<endl;
		cout<<setw(20)<<"First Name:"<<setw(20)<<fname[n]<<endl;
		cout<<setw(20)<<"Major:"<<setw(20)<<major[n]<<endl;
		cout<<setw(20)<<"Gpa:"<<setw(20)<<gpa[n]<<endl;
		cout<<setw(20)<<"Total Credits:"<<setw(20)<<hrs[n]<<endl;
	}
	else
		cout<<"Student with id = "<<id<<" does not exist."<<endl;
}
		

void DisplayMenu(int& option, int& id)
{
	cout<<"\n\nStudent Information System"<<endl;
	cout<<" Comp 2102, Assignment 2"<<endl;
	cout<<"         Fall 2009"<<endl;
	cout<<"1. Find Student Data"<<endl;
	cout<<"2. Add New Student"<<endl;
	cout<<"3. Delete Student Data"<<endl;
	cout<<"4. Stop and Print Report"<<endl;
	cout<<"\nEnter your option: ";
	 
	cin>>option;
	if (option>=1 && option<4)
	{
		cout<<"Enter the id: ";
		cin>>id;
	}
	else if (option == 4) cout<<"Thank you. Here is the final report\n"<<endl;
	else 
	{
		cout<<"Option is not valid. Please re-enter your new option again\n"<<endl;
		cin.clear();
		cin.ignore(200, '\n');
	}
		 
	
}

void ReadData (Student[])
{
	ifstream indata;
	indata.open ("P2InputData.dat");
	indata>>sid[values]>>fname[values]>>major[values]>>gpa[values]>>hrs[values];
	while (indata)
	{					 
		values++;
		indata>>sid[values]>>fname[values]>>major[values]>>gpa[values]>>hrs[values];
	}
	 
	indata.close();
}

void ShowData (Student[])
{
	int n=0;
	while (n < values)
	{
		cout<<sid[n]<<setw(10)<<fname[n]<<setw(10)<<major[n]<<setw(6)<<gpa[n]<<setw(6)<<hrs[n]<<endl;
		n++;
	}
	 
}
// I am prinint the final results on the screen
void StopPrint (Student[])
{
	int n=0;
	while (n < values)
	{
		if (sid[n] > 0)	cout<<sid[n]<<setw(10)<<fname[n]<<setw(10)<<major[n]<<setw(6)<<gpa[n]<<setw(6)<<hrs[n]<<endl;
		n++;
	}
	 
}
Posted
Updated 19-Apr-10 11:50am
v3

1 solution

What "help" do you require?

-Saurabh
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900