里面有很多关于编程的实用例子

源代码在线查看: gradebook.cpp

软件大小: 583 K
上传用户: zhouqiaks
关键词: 编程
下载地址: 免注册下载 普通下载 VIP

相关代码

				// Fig. 7.17: GradeBook.cpp
				// Member-function definitions for class GradeBook that
				// uses an array to store test grades.
				#include 
				using std::cout;
				using std::cin;
				using std::endl;
				using std::fixed;        
				
				#include 
				using std::setprecision;
				using std::setw;
				
				#include "GradeBook.h" // GradeBook class definition
				
				// constructor initializes courseName and grades array
				GradeBook::GradeBook( string name, const int gradesArray[] )
				{
				   setCourseName( name ); // initialize courseName
				
				   // copy grades from gradeArray to grades data member
				   for ( int grade = 0; grade < students; grade++ )
				      grades[ grade ] = gradesArray[ grade ];
				} // end GradeBook constructor
				
				// function to set the course name
				void GradeBook::setCourseName( string name )
				{
				   courseName = name; // store the course name
				} // end function setCourseName
				
				// function to retrieve the course name
				string GradeBook::getCourseName()
				{
				   return courseName;
				} // end function getCourseName
				
				// display a welcome message to the GradeBook user
				void GradeBook::displayMessage()
				{
				   // this statement calls getCourseName to get the 
				   // name of the course this GradeBook represents
				   cout 				      				} // end function displayMessage
				
				// perform various operations on the data
				void GradeBook::processGrades()
				{
				   // output grades array
				   outputGrades();
				
				   // call function getAverage to calculate the average grade
				   cout 				      getAverage() 				
				   // call functions getMinimum and getMaximum
				   cout 				      				
				   // call function outputBarChart to print grade distribution chart
				   outputBarChart();
				} // end function processGrades
				
				// find minimum grade
				int GradeBook::getMinimum()
				{
				   int lowGrade = 100; // assume lowest grade is 100
				
				   // loop through grades array
				   for ( int grade = 0; grade < students; grade++ )
				   {
				      // if current grade lower than lowGrade, assign it to lowGrade
				      if ( grades[ grade ] < lowGrade )
				         lowGrade = grades[ grade ]; // new lowest grade
				   } // end for
				
				   return lowGrade; // return lowest grade
				} // end function getMinimum
				
				// find maximum grade
				int GradeBook::getMaximum()
				{
				   int highGrade = 0; // assume highest grade is 0
				
				   // loop through grades array
				   for ( int grade = 0; grade < students; grade++ )
				   {
				      // if current grade higher than highGrade, assign it to highGrade
				      if ( grades[ grade ] > highGrade )
				         highGrade = grades[ grade ]; // new highest grade
				   } // end for
				
				   return highGrade; // return highest grade
				} // end function getMaximum     
				
				// determine average grade for test
				double GradeBook::getAverage()
				{
				   int total = 0; // initialize total
				
				   // sum grades in array
				   for ( int grade = 0; grade < students; grade++ )
				      total += grades[ grade ];
				
				   // return average of grades
				   return static_cast< double >( total ) / students;
				} // end function getAverage
				
				// output bar chart displaying grade distribution
				void GradeBook::outputBarChart()
				{
				   cout 				
				   // stores frequency of grades in each range of 10 grades
				   const int frequencySize = 11;
				   int frequency[ frequencySize ] = {}; // initialize elements to 0
				
				   // for each grade, increment the appropriate frequency
				   for ( int grade = 0; grade < students; grade++ )
				      frequency[ grades[ grade ] / 10 ]++;
				
				   // for each grade frequency, print bar in chart
				   for ( int count = 0; count < frequencySize; count++ ) 
				   {
				      // output bar labels ("0-9:", ..., "90-99:", "100:" )
				      if ( count == 0 )
				         cout 				      else if ( count == 10 )
				         cout 				      else
				         cout 				      
				      // print bar of asterisks
				      for ( int stars = 0; stars < frequency[ count ]; stars++ ) 
				         cout 				
				      cout 				   } // end outer for
				} // end function outputBarChart
				
				// output the contents of the grades array
				void GradeBook::outputGrades()
				{
				   cout 				
				   // output each student's grade
				   for ( int student = 0; student < students; student++ )
				      cout 				         				} // end function outputGrades
				
				
				/**************************************************************************
				 * (C) Copyright 1992-2009 by Deitel & Associates, Inc. and               *
				 * Pearson Education, Inc. All Rights Reserved.                           *
				 *                                                                        *
				 * DISCLAIMER: The authors and publisher of this book have used their     *
				 * best efforts in preparing the book. These efforts include the          *
				 * development, research, and testing of the theories and programs        *
				 * to determine their effectiveness. The authors and publisher make       *
				 * no warranty of any kind, expressed or implied, with regard to these    *
				 * programs or to the documentation contained in these books. The authors *
				 * and publisher shall not be liable in any event for incidental or       *
				 * consequential damages in connection with, or arising out of, the       *
				 * furnishing, performance, or use of these programs.                     *
				 **************************************************************************/
							

相关资源