#include <iostream>
#include <conio.h>
#include <iomanip>
#include <fstream>
using namespace std;
const int numStudents = 5, numQuiz = 10, numAssign = 10, numFinal = 1;
const int totalGrades = 21;
void computeStudAver(const int grade[][numQuiz], double stAve[]);
void computeQuizAver(const int grade[][numQuiz], double quizAve[]);
void printall(const int grade[][numQuiz]);
int menu();
int main();
int menu()
{
char choice;
cout << "S. Start a new semester."<<endl;
cout << "O. Output Data."<<endl;
cout << "E. Exit"<< endl << endl;
cin >> choice;
cout << endl << endl;
return choice = main();
}
int calcgrade(double average, char& grade)
{
if (average <= 59)
grade = 'F';
else if (average <= 69 && average >= 60)
grade = 'D';
else if (average <= 79 && average >= 70)
grade = 'C';
else if (average <= 89 && average >= 80)
grade = 'B';
else if (average >= 90 && average <= 100)
grade = 'A';
return 0;
}
//void scales() { // Final = 33%; Quizzes = 33%; Assignments = 33%
// int quiz = .3 * qgrade = double q
void inputgrades() {
char fanswer;
int quizN, assignG, final;
double qgrade[4], agrade[4], fgrade[1],qsum;
cout << "How many quiz grades will you add per student?";
cin >> quizN;
for (int i = 1; i <= quizN; i++) {
cout << "Enter quiz grade: " << endl;
cin >> ++qgrade[i];
qsum =+qgrade[i];
}
cout << "How many assignment grades will you add per student?";
cin >> assignG;
for (int i = 1; i <= assignG; i++) {
cout << "Enter assignment grade: " << endl;
cin >> agrade[i];
}
cout << "Is there a final?";
cin >> fanswer;
if (fanswer == 'y' || fanswer == 'Y') {
cout << "Enter final grade: " << endl;
cin >> fgrade[1];
}
//scales();
}
void computeStudAver(const int grade[][numQuiz], double stAve[]) {
int stNum;
for (int stN = 1; stN <= numStudents; stNum++) {
double sum = 0;
for (int quizNum = 1; quizNum <= numQuiz; quizNum++)
sum = sum + grade[stNum-1][quizNum-1];
stAve[stNum-1] = sum/numQuiz;
}
}
void computeQuizAver(const int grade[][numQuiz], double quizAve[]) {
for (int quizNum = 1; quizNum <= numQuiz; quizNum++) {
double sum = 0;
for (int stN = 1; stN <= numStudents; stN++)
sum = sum + grade[stN-1][quizNum-1];
quizAve[quizNum-1] = sum/numStudents;
}
}
void printall(const int grade[][numQuiz], const double stAve[], const double quizAve[]) {
cout.setf(ios::fixed);
cout.setf(ios::showpoint);
cout.precision(1);
ofstream outFile ("GRADEDATA.txt");
outFile.open("C:\\Documents and Settings\\USER\\Desktop\\output1.txt");
outFile << setw(10) << "Student" << setw(5) << "Average" << setw(15) << "Quizzes\n";
for (int stN = 1; stN <= numStudents; stN++) {
cout << setw(10) << stN << setw(5) << stAve[stN-1] << " ";
for (int quizNum = 1; quizNum <= numQuiz; quizNum++)
cout << setw(5) << grade[stN-1][quizNum-1];
cout << endl;
}
cout << "Quiz averages = ";
for (int quizNum = 1; quizNum <= numQuiz; quizNum ++)
cout << setw(5) << quizAve[quizNum-1];
cout << endl;
}
int main()
{
int grade[numStudents][numQuiz];
double stAve[numStudents];
double quizAve[numQuiz];
char choice;
cout << "S. Start a new semester."<<endl;
cout << "O. Output Data."<<endl;
cout << "E. Exit"<< endl << endl;
cin >> choice;
cout << endl << endl;
switch(choice)
{
case 'S':
case 's':
cout << "Welcome. You have started a new semester!\n";
inputgrades();
break;
case 'O':
case 'o':
printall(grade, stAve, quizAve);
break;
case 'E':
case 'e':
cout << "Quitting..." << endl;
break;
default:
cout << "You must pick one to continue!" << endl;
break;
}
computeStudAver(grade, stAve);
computeQuizAver(grade, quizAve);
printall(grade, stAve, quizAve);
getche();
return 0;
}
dnalor
0
Newbie Poster
Recommended Answers
Jump to PostFor starters, what is this suppoed to be doing in function menu()
return choice = main();
?? Just return the value choice.It would help if you gave a better description of the error that occurs, but I'm betting you get a debugging message about your array
All 3 Replies
Reply to this topic
Be a part of the DaniWeb community
We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.