This code contains errors, run the code in visual studio 2019 and…

Question Answered step-by-step This code contains errors, run the code in visual studio 2019 and… This code contains errors, run the code in visual studio 2019 and fix the errors.  //*******************************#define _CRT_SECURE_NO_WARNINGS//*******************************#include#include#includetypedef struct code_table {   int code;   double multiplier;   float tolerance;}CODE_TABLE;//***********************************************************************************double calculateResistor(int first, int second, int third, double multiplier) {   double a = static_cast(first);   double b = static_cast(second);   double c = static_cast(third);   return ((a * 100) + (b * 10) + c) * multiplier;}//************************************************************************************CODE_TABLE getBand(char* color) {   CODE_TABLE color_details;   if (strcmp(color, “Black”) == 0 || strcmp(color, “BLACK”) == 0 || strcmp(color, “black”) == 0) {       color_details.code = 0;       color_details.multiplier = 1;       color_details.tolerance = -1;   }   else if (strcmp(color, “Brown”) == 0 || strcmp(color, “BROWN”) == 0 || strcmp(color, “brown”) == 0)   {       color_details.code = 1;       color_details.multiplier = 10;       color_details.tolerance = 1;   }   else if (strcmp(color, “RED”) == 0 || strcmp(color, “red”) == 0 || strcmp(color, “Red”) == 0)   {       color_details.code = 2;       color_details.multiplier = 100;       color_details.tolerance = 2;   }   else if (strcmp(color, “ORANGE”) == 0 || strcmp(color, “Orange”) == 0 || strcmp(color, “orange”) == 0)   {       color_details.code = 3;       color_details.multiplier = 1000;       color_details.tolerance = -1;   }   else if (strcmp(color, “YELLOW”) == 0 || strcmp(color, “yellow”) == 0 || strcmp(color, “Yellow”) == 0)   {       color_details.code = 4;       color_details.multiplier = 1e4;       color_details.tolerance = -1;   }   else if (strcmp(color, “GREEN”) == 0 || strcmp(color, “green”) == 0 || strcmp(color, “Green”) == 0)   {       color_details.code = 5;       color_details.multiplier = 1e5;       color_details.tolerance = 0.5;   }   else if (strcmp(color, “BLUE”) == 0 || strcmp(color, “blue”) == 0 || strcmp(color, “Blue”) == 0)   {       color_details.code = 6;       color_details.multiplier = 1e6;       color_details.tolerance = 0.25;   }   else if (strcmp(color, “VIOLET”) == 0 || strcmp(color, “violet”) == 0 || strcmp(color, “Violet”) == 0)   {       color_details.code = 7;       color_details.multiplier = 1e7;       color_details.tolerance = 0.1;   }   else if (strcmp(color, “GREY”) == 0 || strcmp(color, “grey”) == 0 || strcmp(color, “Grey”) == 0)   {       color_details.code = 8;       color_details.multiplier = 1e8;       color_details.tolerance = 0.05;   }   else if (strcmp(color, “WHITE”) == 0 || strcmp(color, “white”) == 0 || strcmp(color, “White”) == 0)   {       color_details.code = 9;       color_details.multiplier = 1e9;       color_details.tolerance = -1;   }   else if (strcmp(color, “GOLD”) == 0 || strcmp(color, “gold”) == 0 || strcmp(color, “Gold”) == 0)   {       color_details.code = -1;       color_details.multiplier = 1e-1;       color_details.tolerance = 5;   }   else if (strcmp(color, “SILVER”) == 0 || strcmp(color, “silver”) == 0 || strcmp(color, “Silver”) == 0)   {       color_details.code = -1;       color_details.multiplier = 1e-2;       color_details.tolerance = 10;   }   else if (strcmp(color, “BLANK”) == 0 || strcmp(color, “Blank”) == 0 || strcmp(color, “blank”) == 0)   {       color_details.code = -1;       color_details.multiplier = -1;       color_details.tolerance = 20;   }   else {       color_details.code = -1;       color_details.multiplier = -1;       color_details.tolerance = -1;   }   return color_details;}int main() {   char* code;   int flag, loopFlag, bands[3], innerErrFlag;   double multiplier, resistor;   float tolerance;   CODE_TABLE color_details;   flag = 1;   while (flag) {       code = (char*)malloc(sizeof(char) * 100);       if (code == NULL)       {           printf(“Couldn’t allocate memory…”);           return 0;       }       printf(“Enter the colour code, all five colours separated with a space : “);       scanf_s(“%[^n]”, code, 20);       getchar();       char* token = strtok(code, ” “);       loopFlag = 0;       innerErrFlag = 0;       while (token != NULL)       {           color_details = getBand(token);           if (color_details.code == -1) {               innerErrFlag = 1;               break;           }           bands[loopFlag++] = color_details.code;           if (loopFlag == 3)               break;           token = strtok(NULL, ” “);       }       if (innerErrFlag) {           printf(“nInvalid color name or misspelled color name. Please re-enter the color code…nn”);           free(code);           continue;       }       token = strtok(NULL, ” “);       multiplier = getBand(token).multiplier;       if (multiplier == -1)       {           printf(“nInvalid color name or misspelled color name. Please re-enter the color code…nn”);           free(code);           continue;       }       token = strtok(NULL, ” “);       tolerance = getBand(token).tolerance;       if (tolerance == -1)       {           printf(“nInvalid color name or misspelled color name. Please re-enter the color code…nn”);           free(code);           continue;       }       resistor = calculateResistor(bands[0], bands[1], bands[2], multiplier);       if (resistor >= 0 && resistor < 1000) {           if (tolerance < 1)               printf("nResistor Value=%.2lf Ohms +/- %.2f%%n", resistor, tolerance);           else               printf("nResistor Value=%.2lf Ohms +/- %.0f%%n", resistor, tolerance);       }       else if (resistor >= 1000 && resistor < 1e6)       {           resistor = resistor / 1000;           if (tolerance < 1)               printf("nResistor Value=%.2lf Kilo-Ohms +/- %.2f%%n", resistor, tolerance);           else               printf("nResistor Value=%.2lf Kilo-Ohms +/- %.0f%%n", resistor, tolerance);       }       else if (resistor >= 1e6 && resistor < 1e9)       {           resistor = resistor / 1e6;           if (tolerance < 1)               printf("nResistor Value=%.2lf Mega-Ohms +/- %.2f%%n", resistor, tolerance);           else               printf("nResistor Value=%.2lf Mega-Ohms +/- %.0f%%n", resistor, tolerance);       }       else if (resistor >= 1e9)       {           resistor = resistor / 1e9;           if (tolerance < 1)               printf("nResistor Value=%.2lf Giga-Ohms +/- %.2f%%n", resistor, tolerance);           else               printf("nResistor Value=%.2lf Giga-Ohms +/- %.0f%%n", resistor, tolerance);       }       free(code);       printf("nEnter 1 to continue or 0 to exit : ");       scanf_s("%d", &flag);       getchar();       printf("n");   }   return 0;} Engineering & Technology Computer Science ECE 2305 Share QuestionEmailCopy link Comments (0)