⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 highestgrade.cpp

📁 data+structures+using+c的源码
💻 CPP
字号:
//Program Highest GPA

#include <iostream>
#include <iomanip>
#include <fstream>
#include "newString.h"
#include "myStack.h"

using namespace std;

int main()
{	
	  		//Step 1
	double GPA;
	double highestGPA;
	newString name;
	stackType<newString> stack(100);
	ifstream infile;

	infile.open("a:\\Ch7_HighestGPAData.txt");  		//Step 2

	if(!infile)											//Step 3
	{
		cerr<<"The input file does not exist. "
   			<<"Program terminates!"<<endl;
 		return 1;
	}

	cout<<fixed<<showpoint;			  					//Step 4
	cout<<setprecision(2); 								//Step 4

	infile>>GPA>>name;          						//Step 5

	highestGPA = GPA;            						//Step 6

	stack.initializeStack();							//Step 7

	while(infile)										//Step 8
	{
		if(GPA > highestGPA)  							//Step 8.1
		{
			stack.destroyStack();						//Step 8.1.1

			if(!stack.isFullStack())					//Step 8.1.2
				stack.push(name);

			highestGPA = GPA;							//Step 8.1.3
 		}
		else
			if(GPA == highestGPA) 						//Step 8.2
	   			if(!stack.isFullStack())
					stack.push(name);
				else
				{
					cerr<<"Stack overflow. Program terminates."<<endl;
					return 1;  //exit program
 				}
 		infile>>GPA>>name;								//Step 8.3
	}

	cout<<"Highest GPA = "<<highestGPA<<endl; 			//Step 9
	cout<<"The students holding the highest GPA are:"
		<<endl;

	while(!stack.isEmptyStack()) 						//Step 10
	{
		name = stack.top();
 		stack.pop();
		cout<<name<<endl;
	}

	cout<<endl;

	return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -