Отслеживание ответов в программе, не зная, сколько вопросов ответят

Я пытался понять, как отобразить что-то вроде: «Вы правильно ответили на 7 из 8 задач. Ваша оценка составляет 95,5% с оценкой А.» в моей программе. Я написал большую часть этого, но теперь потратил некоторое время на поиск в интернете. Я не знаком с массивами.

Моя программа — это калькулятор дробей, который должен вычислять основные операции (+, -, *, деление) и должен завершаться, когда я ввожу% в качестве моего дозорного значения.

Это то, что я написал до сих пор. Любая обратная связь высоко ценится. Как бы я следил за чем-то, так как количество вопросов отвечало правильно, не зная, сколько раз пользователь будет повторять процесс (программу)? Это то, что я до сих пор:

#include <iostream>
#include <cstdlib>

using namespace std;

enum MenuSelection {
NONE=0,
ADD=1,
SUBTRACT=2,
MULTIPLY=3,
DIVIDE=4,
QUIT=5,
END=6,
};

int menu() {
int MenuSelection=0;
do {
cout<<"\n1) Add"<<endl;
cout<<"2) Subtract"<<endl;
cout<<"3) Multiply"<<endl;
cout<<"4) Divide"<<endl;
cout<<"5) %"<<endl;
cin>>MenuSelection;
//
if (MenuSelection<=NONE||MenuSelection>=END)
cout<<"Please pick a number from 1-5 as shown in the menu selection."<<endl;
if (MenuSelection==QUIT) {
cout<<"You have chosen to exit the program"<<endl;
cout<<"You have answered \n";
exit(1);
}
}
while (MenuSelection<=NONE||MenuSelection>=END);
//
return MenuSelection;
}

void addFractions(int num1, int num2, int den1, int den2, int &NUM_result, int &DEN_result) {        //
NUM_result=(num1* den2)+(num2*den1);
//
DEN_result=den1*den2;
}

void subFractions(int num1, int num2, int den1, int den2, int &NUM_result, int &DEN_result) {
NUM_result=(num1*den2)-(num2*den1);
//
DEN_result=den1*den2;
//
}

void multiplyFractions(int num1, int num2, int den1, int den2, int &NUM_result, int &DEN_result) {
NUM_result=num1*num2;
//
DEN_result=den1* den2;
}

void divideFractions(int num1, int num2, int den1, int den2, int &NUM_result, int &DEN_result) {            //
NUM_result=num1*den2;
//
DEN_result=den1*num2;
}

void input_values_FROM_USER(int &num1, int &num2, int &den1, int &den2)
{
cout<<endl;
cout<<"Enter the numerator for first fraction-->";
cin>>num1;
cout<<"Enter denominator for first fraction--> ";
cin>>den1;
cout<<"Enter numerator for second fraction--> ";
cin>>num2;
cout<<"Enter denominator for second fraction--> ";
cin>>den2;
cout<<"-------------------------------------------\n\n\n";
}

void outputResults(int num1, int num2, int den1, int den2, int &NUM_result, int &DEN_result, int operation) {
if (operation==ADD) {
cout<<"The sum of the two is--> "<<num1<<'/'<<den1<<'+'<<num2<<'/'<<den2<<'='<<NUM_result<<'/'<<DEN_result<<endl;
}
if (operation==SUBTRACT) {
cout<<"The difference of the two is--> "<<num1<<'/'<<den1<<'-'<<num2<<'/'<<den2<<'='<<NUM_result<<'/'<<DEN_result<<endl;
}
if (operation==MULTIPLY) {
cout<<"The product of the two is--> "<<num1<<'/'<<den1<<'*'<<num2<<'/'<<den2<<'='<<NUM_result<<'/'<<DEN_result<<endl;
}
if (operation==DIVIDE) {
cout<<"The quotient of the two is--> "<<num1<<'/'<<den1<<'/'<<num2<<'/'<<den2<<'='<<NUM_result<<'/'<<DEN_result<<endl;
}
}

void main() {
int MenuSelection=NONE;
int num1=0, num2=0, den1=0, den2=0;
int NUM_result=0, DEN_result=0;
cout<<"Author: Jose Soto."<<endl;
cout<<"CSCI 110-- Jose Soto's Project 2 (Basic Fraction Arithmetic)\n\n"<<endl;
do {
MenuSelection=menu();
input_values_FROM_USER(num1, num2, den1, den2);
if (MenuSelection==ADD)
{
addFractions(num1, num2, den1, den2, NUM_result, DEN_result);
}
if (MenuSelection==SUBTRACT) {
subFractions(num1, num2, den1, den2, NUM_result, DEN_result);
}
if (MenuSelection==MULTIPLY) {
multiplyFractions(num1, num2, den1, den2, NUM_result, DEN_result);
}
if (MenuSelection==DIVIDE) {
divideFractions(num1, num2, den1, den2, NUM_result, DEN_result);
}
outputResults(num1, num2, den1, den2, NUM_result, DEN_result, MenuSelection);
}
while (MenuSelection!=QUIT);
cin.get();
}

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector