Итак, я пишу эту программу в основном весь день, работая через многие итерации и проблемы, и, наконец, после ее завершения я возвращаюсь, чтобы запустить ее, и обнаружил, что самая простая часть, с которой я работал в начале, теперь больше не функционирует ,Является ли мой синтаксис правильным здесь? C++
#include <iostream>
#include <vector>
#include <iomanip>
using namespace std;
void Determine_Output (double);
int main()
{
vector<double> thisVector(10);
double input=-2;
int i=1;
double average = 0.00;
double highest;
double lowest;
cout<<setprecision(3);
for (unsigned z=0; z<10; z++)
{
cout<<"Please enter result \"" <<i<< "\": ";
cin>> input;
if ((input <= 100)&&(input >= 0))
{
thisVector.push_back(input);
Determine_Output(thisVector[i]); //Offending procedure call
i++;
}
else if (input == -1)
break;
else
{
cout<<"Invalid input, must be between 0 and 100\n";
z--;
}
}
void Determine_Output (double output) { //Offending procedure
if (output > 90)
cout<<"A will be assigned to this result\n";
else if (output > 70)
cout<<"B will be assigned to this result\n";
else if (output > 60)
cout<<"C will be assigned to this result\n";
else if (output > 50)
cout<<"P will be assigned to this result\n";
else
cout<<"U will be assigned to this result\n";
}
Когда я первый написал программу, это работало как следует (т.е.. 99 возвращение A, 77 возвращение B, 66 возвращение C и так далее)
Теперь, когда я закончил остальное код (опущен по соображениям пространства), этот раздел всегда возвращает U (вход 50 или ниже), независимо от того, какой фактический вход был. Я буквально работаю над этой частью уже два с половиной часа, и это меня озадачило.
Если ваш синтаксис неверен, компилятор будет жаловаться. –
Поскольку вы используете 'double' для переменных, вы должны использовать' double' константы, такие как 90.0, 70.0, 60.0, 50.0 и 100.0. В настоящее время компилятор конвертирует их для вас. –
Вы отметили «процедуру нарушения», но я думаю, что вы ищете не то место. Проверьте 'Определить_Output', запустив его с некоторыми известными значениями и посмотрев, что вы получаете. –