LINUX.ORG.RU

[minGW] Int получает значение минус мильярд

 


0

0

Есть код на C++:

#include <iostream>
#include <fstream>

#define CL 8

using namespace std;

int main(int argc, char *argv[])
{
int numeric[CL]={1,2,3,4,5,6,7,8}, field[CL][CL], i, j, StoreNum, StoreChar, cSN, cSC;
char character[CL]={'a','b','c','d','e','f','g','h'};

string SetPosition,tmp_var[6];
ifstream in(«input.txt»);

in >> SetPosition;
cout << SetPosition[0] << SetPosition[1] << endl << endl;

for(i=0;i<CL;i++)
{
if(character[i]==SetPosition[0]) StoreChar=i;
if(numeric[i]==SetPosition[1]) StoreNum=i;
}

cSN=StoreNum+2; cSC=StoreChar+1;
if(cSC < 8 && cSC >=0 && cSN < 8 && cSN >=0) tmp_var[0]=character[cSC]+numeric[cSN];

cout << «\n\nPosition: » << StoreChar << "..." << StoreNum << ", pos: " << character[cSC]<<numeric[cSN] << endl;

system(«PAUSE»);
return EXIT_SUCCESS;
}

В input.txt лежит «e2». StoreNum выводится значение -1207959368 и после этого прога успешно сегфолтится. Если int numeric[CL] делаю '1','2',...,'8', то значение StorNum присваивается нужное, но сравниваются потом коды символов. В общем, как сравнить int с char я знаю, подскажите, пожалуйста, как сделать, чтобы не сегфолтило при int ;)

просто сходи и прочитай любую книгу
или запость еще по-больше кода, тогда и ответят, и отладят даже

(можно поменять 1,2 на '1','2',... и исправить cSN=StoreNum+2-'0')

gavv
()

Да-а, тяжела жизнь нигры. Отладчик чтоль возьми, да посмотри что у тебя происходит, если головой не можешь.

Begemoth ★★★★★
()
Ответ на: комментарий от gavv

Ворнинги включи

<stdin>: In function ‘int main(int, char**)’:
<stdin>:10: предупреждение: неиспользуемая переменная ‘field’
<stdin>:10: предупреждение: неиспользуемая переменная ‘j’
<stdin>: At global scope:
<stdin>:8: предупреждение: параметр ‘argc’ не используется
<stdin>:8: предупреждение: параметр ‘argv’ не используется
<stdin>: In function ‘int main(int, char**)’:
<stdin>:10: предупреждение: ‘StoreChar’ may be used uninitialized in this function
<stdin>:10: предупреждение: ‘StoreNum’ may be used uninitialized in this function

legolegs ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.