Я создал приведенный ниже код и перепробовал все, чтобы попытаться выяснить, в чем моя проблема. Думаю, я определил ее в методе CalculPoints(). функция. Я установил позиции cout для вывода сохраняемых данных, чтобы посмотреть, смогу ли я выяснить проблему, и она выходит из строя до того, как эта функция выводит какие-либо данные.
Я получаю сообщение об ошибке:
Код: Выделить всё
Unhandled exception at 0x00007FFAB656543C in ConsoleApplication5.exe: Microsoft C++ exception: std::out_of_range at memory location 0x000000FCDD8FF620.
Код: Выделить всё
TTFTFTTTFTFTFFTTFTTF
ABC54102 T FTFTFTTTFTTFTTF TF
DEF56278 TTFTFTTTFTFTFFTTFTTF
ABC42366 TTFTFTTTFTFTFFTTF
ABC42586 TTTTFTTT TFTFFFTF
Код: Выделить всё
#include
#include
#include
#include
using namespace std;
int main()
{
int *points;
double *percent;
string *submission;
int questions = 0;
int rows = 5;
int answer = 0;
char *grade;
void getData(string * sub, int s);
void calculatePoints(string * sub, int* pts, int s, int a, int q);
void calculateGrade(int* pts, int s, double* per, char* g);
void printData(string * sub, int* pts, char* g, int s);
cout questions;
cout rows;
rows = rows + 1;
submission = new string[rows];
percent = new double[rows];
grade = new char[rows];
points = new int[rows];
getData(submission, rows);
calculatePoints(submission, points, rows, answer, questions);
calculateGrade(points, rows, percent, grade);
printData(submission, points, grade, rows);
return 0;
}
void getData(string* sub, int s)
{
ifstream inFile;
inFile.open("Ch12_Ex2Data.txt");
sub = new string[s];
for (int row = 0; row < s; row++)
{
getline(inFile, sub[row]);
cout
Подробнее здесь: [url]https://stackoverflow.com/questions/78520834/c-static-void-xout-of-rangeinvalid-string-position[/url]