Программа впадает в бесконечный цикл - C (СИ)
Формулировка задачи:
Доброе время суток.
На днях столкнулся с таким понятием как " бесконечный цикл", в программировании я не спец. поэтому прошу подсказки.
Пишу меню,в данный момент курсор для передвижения по нему.
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <alloc.h>
#include <conio.h>
#define DOWN 'P'
#define UP 'H'
#define ENTER '\r'
struct list
{
char marki[20];
char cvet[20];
int k;
char god[20];
} *ptr ;
struct sp
{
char nazv[20];
struct sp *sled;
}*list;
const char *menu[7] = {"Љ*Є*п ¬*аЄ* Ё¬ҐҐв ¬*Єб. ¬®й*®бвм ¤ўЁЈ*⥫п? ",
"Њ*аЄ* б*¬®Ј® а***ҐЈ® ўлЇгбЄ*? ",
"‘ЇЁб®Є ¬®в®жЁЄ«®ў Єа*б*®Ј® 梥в*? ",
"‘Є®«мЄ® ¬®в®жЁЄ«®ў Ё¬ҐҐвбп ў Ј*а*¦Ґ?",
"‘*¬л© ¬®й*л© ¬®в®жЁЄ«?",
"ЋЎй*п ¤Ё*Ја*¬¬*",
"‚л室"};
char str[]="‚лЎҐаЁвҐ Їг*Єв Ё **¦¬ЁвҐ enter";
int main(void)
{
int i, y=0, n, x, t;
char c;
textattr(6);
window(1,1,80,25);
clrscr();
gotoxy(5,2);
window(20,4,67,19);
textbackground(2);
clrscr();
textattr(22);
gotoxy(2,2);
cprintf("%s",menu[0]);
textattr(32);
for(i=1;i<7;i++) {
gotoxy(2, 2 + i);
cprintf("%s", menu[i]);
}
while(x!='0'); {
gotoxy(4,2+y);
textattr(16+RED+BLACK);
cprintf(menu[y]);
c = getch();
switch(c)
{
case DOWN : y++; break;
case UP : y--; break;
case ENTER: t=y; x=0;
}
if(y>n-1) y=0;
if(y<0) y=n-1;
gotoxy(4,2+y);
textattr(16*BLUE+WHITE);
cprintf(menu[y]);
}
switch (c) {
case 1: break;
case 2: break;
case 3: break;
case 4: break;
case 5: break;
case 6: break;
case 7: return 0;
}
return 0;
}Решение задачи: «Программа впадает в бесконечный цикл»
textual
Листинг программы
struct sp
{
char nazv[20];
struct sp *sled;
}*list;