Member 14994778 Ответов: 1

Конечно, калькулятор класса


Пример программы: Codeboard · интегрированная среда разработки для работы в классе[^]
Приложение получает информацию об оценке и вычисляет баллы, необходимые для получения буквенных оценок в этом курсе. Оценки включают в себя все предметы оценки из этого курса (викторины, лабораторные работы, экзамены и итоговый проект.) Пользователь должен иметь возможность вводить информацию об оценке для всех завершенных предметов оценки в курсе. После того, как вся информация была введена, программа предоставляет расчетный вывод для того, сколько очков необходимо, чтобы заработать различные буквенные оценки (A, B, C, D).

Практическое применение этого инструмента заключается в том, чтобы студент видел, сколько баллов необходимо на итоговом экзамене для конкретной оценки в курсе.

Используйте объектно-ориентированное программирование для построения этого приложения.
Как минимум, структура класса должна включать в себя следующее:
личные данные участников: название и оценка.
публичные функции для взаимодействия с закрытыми участниками
каждая оценка должна быть объектом класса
Чтобы правильно реализовать класс и собрать входные данные:
контейнер для хранения входных данных в виде объектов класса

Что я уже пробовал:

//Abdel alqawasmeh

#include <iostream>
#include <cmath>
#include <string>

using namespace std;

int main()
{
    int points = 0;
    string assignment;
    double score;
    double total;
    char choice = 'y';
    
     cout << "GRADE CALCULATOR\n"
          << "**************************\n"
          << "Please provide course grading and assignment details.\n"
          << "This program will caclulate total points earned and\n"
          << "display how many points are needed to earn different\n"
          << "letter grades for the course.\n"
          << "**************************\n";
     cout << "How many points possible for the course?: ";
     cin  >> points;

    while (tolower(choice == 'y'))
   {
      cout << endl;
      
      //getline (cin,assignment);
      cout << "ASSIGNMENT TITLE (ie week 1 lab, etc): ";
      cin >> assignment;
      getline (cin, assignment);
    
      cout << "score: ";
      cin >> score;
      
      cout << endl;
      
      cout << "Add another? (y/n): ";
      cin >> choice;
      total += score;
   }

      cout << endl;
      cout <<"**************************\n";
      cout <<"ASSIGNMENT\t\t\tSCORE";
       for (int i = 0; i < 10; i++) {
    cout << "For Counter Value: " << i << endl;
}
      cout << " " << assignment << endl;
      cout << endl;
      cout << "**************************\n";
    
    cout << " TOTAL POINTS POSSIBLE: " << points << endl;
    cout << " TOTAL POINTS EARNED: " << total << endl;
    cout << " POINTS NEEDED FOR A: " << endl;
    cout << " POINTS NEEDED FOR B: " << endl;
    cout << " POINTS NEEDED FOR C: " << endl;
    cout << " POINTS NEEDED FOR D: " << endl;
    cout << "**************************";
    
    return 0;
}

//
#include "Grade.h"

const double score = 0.0;{

set_score(score);

}

double Grade::get_score() const {
  return score;
}
void Grade::set_score(const double score){
  score = score;
}
std::string Grade::get_title()const{
  return title;
}
void Grade::set_title(const std::string& title){
  title = title;
}
std::ostream& operator<<(std::ostream& os, Grade& grade){
    os << "\nAssignment: " << grade.get_title()
        << "\nScore: " << grade.get_score()
        << "\nComments: ";

    std::vector<std::string>& comments = grade.get_comments();

    if (comments.empty()){
        os << "none\n";
    }

    // will not execute if comments is empty
    for (unsigned i = 0; i < comments.size(); ++i){
        os << i+1 << ". " << comments[i] << '\n';
    }
    return os;
}

//
#ifndef Grade_Calculator_H
#define Grade_Calculator_H

#include <string>
#include <vector>

class Grade
{
private:
  double score;
  std::string title;
  
public:
 Grade(double score_param = 0.0)
 {
   score = score_param;
 }
// getter and setter 
 double get_score() const
 {
   return score;
 }

 void set_score(double score_param)
 {
   score = score_param;
 }
  std::string get_title() const;
  void set_title(const std::string&);

//double get_gradeA();
//double get_gradeB();
//double get_gradeC();
//double get_gradeD();

};
#endif

//
#ifndef Grade_Calculator_H
#define Grade_Calculator_H

#include <cstdlib>
#include <iostream>
#include <iomanip>
#include <map>
#include <limits>
#include "Grade.H"

Rick York

ОК. Вы хотите аплодисментов или у вас есть вопрос?

OriginalGriff

И что же?
Что он делает такого, чего вы не ожидали, или не делает того, что вы сделали?
Что вы пытались сделать, чтобы выяснить, почему?
Есть ли какие-либо сообщения об ошибках, и если да, то где и когда? Что вы сделали, чтобы это произошло?

Это не очень хороший вопрос - мы не можем понять из этого малого, что вы пытаетесь сделать.
Помните, что мы не можем видеть ваш экран, получить доступ к вашему жесткому диску или прочитать ваши мысли - мы получаем только то, что вы печатаете для работы.
Используйте виджет "улучшить вопрос", чтобы отредактировать свой вопрос и предоставить более подробную информацию.

Patrice T

И у тебя есть вопрос ?

Member 14994778

да, я пытаюсь построить программу, которая вычисляет оценки в c++ с использованием объектно-ориентированного метода. https://www.youtube.com/watch?v=_NWyMqfLiK4&функция=youtu.быть

КАЛЬКУЛЯТОР ОЦЕНОК
**************************
Пожалуйста, предоставьте информацию об оценке курса и задании.
Эта программа будет caclulate общее количество заработанных очков и
покажите, сколько очков нужно заработать по-разному
буквенные оценки за курс.
**************************
Сколько баллов можно набрать за курс?: 2000

Название задания (т. е. Лаборатория недели 1 и т. д.): лаборатория 1
Результат: 100

Добавить еще? (y/n): y

Название задания (т. е. Лаборатория недели 1 и т. д.): Лаборатория 2
Результат: 100

Добавить еще? (y/n): y

Название задания (т. е. Лаборатория 1-й недели и т. д.): лаборатория 3
Результат: 78

Добавить еще? (y/n): y

Название задания (т. е. Лаборатория 1-й недели и т. д.): лаборатория 4
Результат: 89

Добавить еще? (y/n): n

**************************
ОЦЕНКА ЗА ПРИСВОЕНИЕ БАЛЛОВ
лаборатория 1 100
Лаборатория 2 100
лаборатория 3 78
лаборатория 4 89

**************************
ОБЩЕЕ КОЛИЧЕСТВО ВОЗМОЖНЫХ БАЛЛОВ: 2000
ОБЩЕЕ КОЛИЧЕСТВО ЗАРАБОТАННЫХ ОЧКОВ: 367
ОЧКИ, НЕОБХОДИМЫЕ ДЛЯ А: 1423
ОЧКИ, НЕОБХОДИМЫЕ ДЛЯ B: 1223
ОЧКИ, НЕОБХОДИМЫЕ ДЛЯ C: 1023
ОЧКИ, НЕОБХОДИМЫЕ ДЛЯ D: 823
**************************

1 Ответов

Рейтинг:
4

KarstenK

вы должны использовать отладчик, чтобы выяснить, что не так. Как я вижу, класс grade вообще не используется.

совет: здесь вы должны использовать этот синтаксис

void Grade::set_score(const double score){
  this->score = score;
}
void Grade::set_title(const std::string& title){
  this->title = title;
}