Я кодирую назначение для своего класса, где пользователь будет вводить 10 буквенных ответов, и программа вернет оценку. Недавно я изменил свои массивы char на строковые массивы, потому что, я думаю, это облегчает чтение. Я отправился отлаживать свой код и теперь получаю сообщение об ошибке «Deubug Assertion Failed». Я не знаю, что это значит или как это исправить.C++ Debug Assertion Failed string arrays
Любая помощь будет оценена по достоинству. Спасибо!
Ниже мой код:
// Lab 8
// programmed by Elijah Barron
#include <iostream>
#include <string>
#include <iomanip>
using namespace std;
//Function headers
string inputAnswers(string given);
int numCorrect(string correctAnswers, string given);
int main()
{
string correctAnswers = "BCADBADCAB";
string given;
int numRight = 0;
inputAnswers(given);
numCorrect(correctAnswers, given);
double grade = 10 * numRight;
cout << "Your quiz grade is " << grade << "%" << endl;
return 0;
}
//Get the answers
string inputAnswers(string given)
{
for (int n = 0; n < 10; n++)
{
cout << "Please enter your answer for question #" << n + 1 << " ";
cin >> given[n];
}
return given;
}
//Find if answers are correct or incorrect
int numCorrect(string correctAnswers, string given)
{
int numRight = 10;
int n = 0;
for (int n = 0; n < 10; n++);
{
if (given[n] != correctAnswers[n])
numRight -= 1;
}
return numRight;
}
Хороший улов на этой точкой с запятой, но так как 'n' объявлен в цикл выходит из области видимости, в то же точку с запятой, код в следующих скобках использует другой' n', который был объявлен выше петля.Этот 'n' будет по-прежнему установлен на ноль. – iwolf
Правда. Исправление :) – splrs
Спасибо! Это решило мою проблему отлично! – Elijah