switch(ch)
{
//input a number
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':
if(check_original())
{
int y = g.y;
int x = g.x;
g.board[g.y][g.x] = ch - '0';
draw_numbers();
g.y = y;
g.x = x;
show_cursor();
}
// delete an input from the board
case '0':
case KEY_BACKSPACE:
case KEY_DC:
if(check_original())
{
int y = g.y;
int x = g.x;
g.board[y][x] = 0;
draw_numbers();
g.y = y;
g.x = x;
show_cursor();
}
}
Problem: Case ‘1’ through case ‘9’ worked fine. Then I added case ‘0’, case KEY_BACKSPACE and case KEY_DC. Although it compiles, none of the cases now work, including cases ‘1’ – ‘9’. What am I missing?
All of your cases are falling through. I assume that you should have a
break;beforecase 0:.