Ошибка проверки времени выполнения # 3 означает, что что-то было использовано без инициализации.Существует больше информации, которую вы не видите.Сообщение об ошибке должно быть «Ошибка проверки времени выполнения № 3: переменная« XXX »используется без инициализации», где XXX - это переменная в вашем коде.
В любом случае у вас многонеинициализированные переменные, они должны быть инициализированы некоторым значением по умолчанию:
double resistance = 0.0, thirdband = 0.0;
char color1 = 0, color2 = 0, color3 = 0;
int val1 = 0, val2 = 0, val3 = 0;
FILE *inp = nullptr, *outp = nullptr;
и для функции:
int col_to_num(char color, int choice) {
int num = -1;
Скорее всего, это int num
из функции col_to_num, которая никогда не будетударить по делу, если вы не передали одно из этих значений.Вам нужно разбить, чтобы выйти из оператора switch, обычно после того, как ваше условие выполнено, однако вы можете сгруппировать случаи, не прерывая, что позволяет вам легко выполнять одно и то же действие для разных случаев.Думайте об этом как о провале, начиная с того случая, который соответствует.Вам также понадобится регистр по умолчанию для обработки, если не найдено ни одного случая, подобного этому:
int col_to_num(char color, int choice) {
int num = -1;
switch (color) {
case 'B':
case 'b':
if (choice == 1) num = 0;
else if (choice == 2) num = 1;
else if (choice == 3)num = 6;
break;
case 'G':
case 'g':
if (choice == 1) num = 5;
else if (choice == 2) num = 8;
else if (choice == 3)num = -1;
break;
case 'R':
case 'r':
num = 2;
break;
case 'O':
case 'o':
num = 3;
break;
case 'Y':
case 'y':
num = 4;
break;
case 'V':
case 'v':
num = 7;
break;
case 'W':
case 'w':
num = 9;
break;
case 'S':
case 's':
num = 10;
break;
default:
printf("Invalid input: %c\n", color);
}
return num;
}