이 프로그램은 데이터 파일에서 속성을 가져 와서 계산으로 프로그램에 입력하는 프로그램입니다.
1) 그래서 당신이없는 std::toupper
또는 std::tolower
을 봐 : 어떤 도움이파일에서 배열로 데이터를 읽는 방법
float woodcharacStrength(){
myInfile.open ("strength_classes.txt"); //inputs external file that contains characteristic values for forces parallel to grain.
for (row = 0; row<3; row++)
for (col = 0; col<18; col++) //condition to only read certain rows and columns of the input file
{
myInfile >> arraylocation[row][col]; //used to define each value of the array
}
switch(woodType){
case 'A':
case 'a': ftk = arraylocation[0][0]; fck = arraylocation[1][0];break;
case 'B':
case 'b': ftk = arraylocation[0][1]; fck = arraylocation[1][1];break;
case 'C':
case 'c': ftk = arraylocation[0][2]; fck = arraylocation[1][2];break;
case 'D':
case 'd': ftk = arraylocation[0][3]; fck = arraylocation[1][3];break;
case 'E':
case 'e': ftk = arraylocation[0][4]; fck = arraylocation[1][4];break;
case 'F':
case 'f': ftk = arraylocation[0][5]; fck = arraylocation[1][5];break;
case 'G':
case 'g': ftk = arraylocation[0][6]; fck = arraylocation[1][6];break;
case 'H':
case 'h': ftk = arraylocation[0][7]; fck = arraylocation[1][7];break;
case 'I':
case 'i': ftk = arraylocation[0][8]; fck = arraylocation[1][8];break;
case 'J':
case 'j': ftk = arraylocation[0][9]; fck = arraylocation[1][9];break;
case 'K':
case 'k': ftk = arraylocation[0][10]; fck = arraylocation[1][10];break;
case 'L':
case 'l': ftk = arraylocation[0][11]; fck = arraylocation[1][11];break;
case 'M':
case 'm': ftk = arraylocation[0][12]; fck = arraylocation[1][12];break;
case 'N':
case 'n': ftk = arraylocation[0][13]; fck = arraylocation[1][13];break;
case 'O':
case 'o': ftk = arraylocation[0][14]; fck = arraylocation[1][14];break;
case 'P':
case 'p': ftk = arraylocation[0][15]; fck = arraylocation[1][15];break;
case 'Q':
case 'q': ftk = arraylocation[0][16]; fck = arraylocation[1][16];break;
case 'R':
case 'r': ftk = arraylocation[0][17]; fck = arraylocation[1][17];break;
}
cout <<"The ftk value is: "<< ftk<< endl<<"The fck value is: "<< fck<<endl;
return ftk;
return fck;
myInfile.close();
}
프로그램 흐름은 첫 번째 반환에서 끝납니다. 반환 전에 파일을 닫습니다. 또한 스위치로는 아무 것도하지 않습니다. –
죄송합니다. C++에 익숙하지 않아요. 정말로 이해하지 못합니다. 코드에 대해 더 많은 의견을 보내 주시면 고맙겠습니다. – user3087985
두 개의'return' 문이 연속적으로 있습니다. 실행은 첫 번째 return 문으로 돌아가 함수에서 반환됩니다. 따라서 두 번째'return'과'fclose'는 절대로 실행되지 않습니다. 컴파일러는 이것을 잡았어야합니다. 경고 레벨을 최대로 올리십시오. –