#include <iostream>
using namespace std;
int main()
{
int GPUspeed = 0, CPUspeed = 0, cores = 0, resolutionChoice = 0;
float mutliplier = 0.0, performanceSCore = 0.0;
string graphicsQuality = "", headerText = "Computer Hardware Graphics Quality Recommendation Tool";
{1280, 720},
{1920, 1080},
{2560, 1440},
{3840, 2160}
};
cout<<"Please enter the clock speed (in Megahertz) of your graphics card:";
cin>>GPUspeed;
cout<<"Please enter the clock speed (in Megahertz) of your processor:";
cin>>CPUspeed;
cout<<"Please enter the number of cores of your processor:";
cin>>cores;
//display resolutionMatrix
cout<<"What is the resolution of your monitor?" <<endl;
for(int i=0; i<4; i++);
cout<<i+1<<"."<<resolutionMatrix[i][0]<<"x"<<resolutionMatrix[i][1]<<endl;
cout<<"Please select from the options above:";
cin>>resolutionChoice;
switch(resolutionChoice){
case 1: multiplier = 1;
break;
case 2: multiplier = 0.75;
break;
case 3: multiplier = 0.55;
break;
case 4: multiplier = 0.35;
break;
default : cout<<"Wrong choice input!";
exit(0);
}
//calulate performanceScore
//((5 * GPU Clock Speed) + (Number of Cores * CPU Clock Speed)) * Multiplier
performanceScore = ((5 * GPUspeed) + (cores*CPUspeed))*multiplier;
//determine graphicsQuality
if(performanceScore >=17000)
graphicsQuality="Ultra";
else if(performanceScore >=15000)
graphicsQuality="High";
else if(performanceScore >=13000)
graphicsQuality="Medium";
else if(performanceScore >=11000)
graphicsQuality="Low";
else
graphicsQuality="Unable to play.";
//output results
cout<<headerText<<endl;
cout<<"GPU Clock Speed: " <<GPUspeed<<" MHz"<<endl;
cout<<"CPU Clock Speed: " <<CPUspeed<< "MHz"<<endl;
cout<<"Number of cores: " <<cores<<endl;
cout<<"Monitor Resolution: " <<resolutionMatrix[resolutionChoice-1][0]<<"x"<<resolutionMatrix
[resolutionChoice-1][1]<<endl;
cout<<"Performance Score:" <<performanceScore<<endl;
cout<<"Recommended Graphics Quality: " <<graphicsQuality<<endl;
return 0;
}
The text file contains profiles about a set of computers. Each computer should be processed. The text file contains information in the following order:
◦The GPU clock speed
◦The CPU clock speed
◦The number of cores
◦The Monitor Resolution (will be represented as 1,2,3, or 4 corresponding to the menu options in Project 1 – so ‘1’ means ‘1280 x 720’, ‘2’ means ‘1920 x 1080’, and so on)
Display the title once at the top of the output, just like in Project 1.
After displaying the title, the program should process all of the information in the file and display the following output for each computer in the file:
◦The GPU clock speed
◦The CPU clock speed
◦The number of cores
◦The Monitor Resolution
◦The Performance Score (rounded to three decimal places)
◦The Recommended Graphics Quality
At the end of the output, the program should display the highest and lowest performance score.
The code you submit should be thoroughly documented with comments where appropriate.
Sample Input and Output
Computer Hardware Graphics Quality Recommendation Tool
GPU Clock Speed: 1000 MHz
CPU Clock Speed: 3000 MHz
Number of cores: 4
Monitor Resolution: 1280 x 720
Performance Score: 17000.000
Recommended Graphics Quality: High
GPU Clock Speed: 1250 MHz
CPU Clock Speed: 3200 MHz
Number of cores: 4
Monitor Resolution: 2560 x 1440
Performance Score: 10477.500
Recommended Graphics Quality: Unable to Play
GPU Clock Speed: 1675 MHz
CPU Clock Speed: 3950 MHz
Number of cores: 6
Monitor Resolution: 3840 x 2160
Performance Score: 11226.250
Recommended Graphics Quality: Low
GPU Clock Speed: 1800 MHz
CPU Clock Speed: 4300 MHz
Number of cores: 4
Monitor Resolution: 1920 x 1080
Performance Score: 19650.000
Recommended Graphics Quality: Ultra
GPU Clock Speed: 1600 MHz
CPU Clock Speed: 3500 MHz
Number of cores: 3
Monitor Resolution: 1920 x 1080
Performance Score: 13875.000
Recommended Graphics Quality: Medium
The highest performance score was: 19650.000
The lowest performance score was: 10477.500
1 answer