Программа впадает в бесконечный цикл - 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;

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.75 из 5
Похожие ответы