Ну, похоже, у вашего кода есть некоторые проблемы.
Вы должны заменить все вызовы scanf:
scanf ( "%s",&selection );
и измените их на:
scanf ( "%s",selection ); /// Drop the &
Вам нужно отбросить &
, потому что формат %s
ожидает аргумент типа char*
, но когда вы используете &selection
, аргумент становится char (*)[7]
, который не char*
, как вы его объявляете.
Также вы должны ВСЕГДА проверять возвращаемое значение scanf
:
if ( scanf ( "%6s",selection ) != 1 ) ///notice 6 there?
{
printf("Error, scanf()\n" );///Is there to read only 6...
exit( EXIT_FAILURE );
}
Другая проблема внутри void Add ( int n )
, там вы увеличиваете n
:
n++;
Но вы также объявили n
глобальным:
int n = -1; //global counter
Какой n
вы ожидаете увеличить?
Внутри функций modify()
у вас слишком много аргументов:
printf ( "%s",table[n][j]," " );
Бросить последний " "
:
printf ( "%s",table[n][j] );
В качестве предложения вы можете использовать strcasecmp
вместо strcmp
.
Для этого вам нужно включить strings.h
.