Плиз помогите с прогой!!!
/*
Leons Kyban
Celsi Zenit
Milan Amkar
Lazio Terek
Rotor Satyr
MancesterUnited
*/
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <dos.h>
#include <graphics.h>
void kursor(int color, int j);
int k,l;
int i,j;
char *smn[] = { "Leons",
"Celsi",
"Milan",
"Lazio",
"Rotor",
"MancesterUnited",
"Satyr",
"Terek",
"Amkar",
"Zenit",
"Kyban",
};
int x[] = {24,25,26,27,28,29,40,41,42,43,44};
int y[] = {2, 3, 4, 5, 6, 7, 6, 5, 4, 3, 2};
void main()
{
clrscr();
int ch;
for (i=0;i<11;i++)
{
for (j=0;j<11;i++)
{
gotoxy(x,y);
printf("%s\n",smn);
}
}
for(j=1;;)
{
kursor(RED,j-1);
ch=getch();
switch (ch)
{
case NULL: kursor(WHITE,j-1);
switch (getch())
{
case 75:if(j<2) j=2; else j<2; break;
case 77:if (j>7) j=7; else j--; break;
case 27: exit(1);
}
}
}
getch();
}
void kursor(int color, int j)
{
textcolor(RED);
gotoxy(x[j],y[j]);
cprintf("%s",smn[j]);
getch();
}
Мне надо сделать чтоб при нажатие "влево" и "вправо" на клаве, курсор "_" под надписью перемещался по меню влево и вправо. Плиз кто знает какие ошибки исправить в проге напишите (желательно не теорией а просто написать как правильно писать строчку в проге вместо того что у меня).
Заранее благодарен за оказанную помощь!
Вот еще кину файлик с прогой, потмоу что тут вид меню не правильно отображается который нарисован в самом начале проги в коментариях.
Цитата:
Originally posted by Likvid
Вот у меня есть прога "Меню". Сразу говорю она правильно не работает (вот текст проги):
/*
Leons Kyban
Celsi Zenit
Milan Amkar
Lazio Terek
Rotor Satyr
MancesterUnited
*/
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <dos.h>
#include <graphics.h>
void kursor(int color, int j);
int k,l;
int i,j;
char *smn[] = { "Leons",
"Celsi",
"Milan",
"Lazio",
"Rotor",
"MancesterUnited",
"Satyr",
"Terek",
"Amkar",
"Zenit",
"Kyban",
};
int x[] = {24,25,26,27,28,29,40,41,42,43,44};
int y[] = {2, 3, 4, 5, 6, 7, 6, 5, 4, 3, 2};
void main()
{
clrscr();
int ch;
for (i=0;i<11;i++)
{
for (j=0;j<11;i++)
{
gotoxy(x,y);
printf("%s\n",smn);
}
}
for(j=1;;)
{
kursor(RED,j-1);
ch=getch();
switch (ch)
{
case NULL: kursor(WHITE,j-1);
switch (getch())
{
case 75:if(j<2) j=2; else j<2; break;
case 77:if (j>7) j=7; else j--; break;
case 27: exit(1);
}
}
}
getch();
}
void kursor(int color, int j)
{
textcolor(RED);
gotoxy(x[j],y[j]);
cprintf("%s",smn[j]);
getch();
}
Мне надо сделать чтоб при нажатие "влево" и "вправо" на клаве, курсор "_" под надписью перемещался по меню влево и вправо. Плиз кто знает какие ошибки исправить в проге напишите (желательно не теорией а просто написать как правильно писать строчку в проге вместо того что у меня).
Заранее благодарен за оказанную помощь!
Вот еще кину файлик с прогой, потмоу что тут вид меню не правильно отображается который нарисован в самом начале проги в коментариях.
Вот у меня есть прога "Меню". Сразу говорю она правильно не работает (вот текст проги):
/*
Leons Kyban
Celsi Zenit
Milan Amkar
Lazio Terek
Rotor Satyr
MancesterUnited
*/
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <dos.h>
#include <graphics.h>
void kursor(int color, int j);
int k,l;
int i,j;
char *smn[] = { "Leons",
"Celsi",
"Milan",
"Lazio",
"Rotor",
"MancesterUnited",
"Satyr",
"Terek",
"Amkar",
"Zenit",
"Kyban",
};
int x[] = {24,25,26,27,28,29,40,41,42,43,44};
int y[] = {2, 3, 4, 5, 6, 7, 6, 5, 4, 3, 2};
void main()
{
clrscr();
int ch;
for (i=0;i<11;i++)
{
for (j=0;j<11;i++)
{
gotoxy(x,y);
printf("%s\n",smn);
}
}
for(j=1;;)
{
kursor(RED,j-1);
ch=getch();
switch (ch)
{
case NULL: kursor(WHITE,j-1);
switch (getch())
{
case 75:if(j<2) j=2; else j<2; break;
case 77:if (j>7) j=7; else j--; break;
case 27: exit(1);
}
}
}
getch();
}
void kursor(int color, int j)
{
textcolor(RED);
gotoxy(x[j],y[j]);
cprintf("%s",smn[j]);
getch();
}
Мне надо сделать чтоб при нажатие "влево" и "вправо" на клаве, курсор "_" под надписью перемещался по меню влево и вправо. Плиз кто знает какие ошибки исправить в проге напишите (желательно не теорией а просто написать как правильно писать строчку в проге вместо того что у меня).
Заранее благодарен за оказанную помощь!
Вот еще кину файлик с прогой, потмоу что тут вид меню не правильно отображается который нарисован в самом начале проги в коментариях.
Не знаю точно но по моему ты где то (там где выделено) что то пропустил!
И ещё кампилятор(а у меня билдер) не опознаёт вот что:
#include <graphics.h>
------------------
проверь имя библиотеки!
P.S.
Советую писать в новом стили так как ты пишешь считается устаревшим стилем
пример:
#include <iostream>
using namespace std;
int main()
...
}
Цитата:
Originally posted by HuntGT
Не знаю точно но по моему ты где то (там где выделено) что то пропустил!
И ещё кампилятор(а у меня билдер) не опознаёт вот что:
#include <graphics.h>
Не знаю точно но по моему ты где то (там где выделено) что то пропустил!
И ещё кампилятор(а у меня билдер) не опознаёт вот что:
#include <graphics.h>
Судя по всему, это вообще DOS-овская прога, и компилировать ее надо в Borland C под DOS (в нем, кстати, эта библиотека есть и является стандартной).
Цитата:
Originally posted by XXXX Pro
Судя по всему, это вообще DOS-овская прога, и компилировать ее надо в Borland C под DOS (в нем, кстати, эта библиотека есть и является стандартной).
Судя по всему, это вообще DOS-овская прога, и компилировать ее надо в Borland C под DOS (в нем, кстати, эта библиотека есть и является стандартной).
Да эта прога под Дос!!!
Цитата:
Originally posted by Likvid
Да эта прога под Дос!!!
Да эта прога под Дос!!!
for(j=1;
{
kursor(RED,j-1);
что - то не похоже на то, что бы
эта прога компилировалась. Напиши, что там быть то должно
#include <stdio.h>
#include <conio.h>
#include <stdio.h>
#include <string.h>
int n=1;
int const ESC=27;
int const UP=72;
int const ENTER=13;
int const DOWN=80;
void init();
void window1();
void window2();
void window3();
void window4();
void window5();
void window6();
void window7();
void window8();
void window9();
void window10();
void window11();
void window12();
void window13();
void window14();
void window15();
void vvod();
int menu(int k);
int ch;
void main()
{
do
{
init();
n=menu(n);
switch(n)
{
case 1 :window1(); break;
case 2 :window2(); break;
case 3 :window3(); break;
case 4 :window4(); break;
case 5 :window5(); break;
case 6 :window6(); break;
case 7 :window7(); break;
case 8 :window8(); break;
case 9 :window9(); break;
case 10:window10(); break;
case 11:window11(); break;
case 12:window12(); break;
case 13:window13(); break;
case 14:window14(); break;
case 15:window15(); break;
}
}while((n!=0));
}
int menu(int k)
{
// int k=0;
int n1;
int x[16]={0,20,24,27,30,33,36,39,44,47,50,53,56,59,62,65};
int y[16]={0,10, 9, 8, 7, 6, 5, 4, 3, 4, 5, 6, 7, 8, 9,10};
char *menues[16]={"","Ezhik","Clonik","Kotik","Poni","Oslik","Kriska","Pyma","Pesik","Begemotik","Kozlik","Bolchonok","Tigrenok","Dracosha","Girafik","Obeziyanka"};
for(int i=1;i<16;++i)
{
gotoxy(x,y);
cprintf("%s",menues);
}
do
{
gotoxy(x[k],y[k]);
textbackground(GREEN);
cprintf("%s",menues[k]);
textbackground(BLACK);
n=getch();
switch (n)
{
case 0: gotoxy(x[k],y[k]);
textbackground(BLACK);
cprintf("%s",menues[k]);
n1=getch();
switch (n1)
{
case UP: k++;
if (k==16) k=1;
break;
case DOWN: k--;
if (k==0) k=15;
break;
break;
}
break;
case ESC: k=0; break;
case ENTER: k=-k; break;
}
}while(k>0);
k=-k;
return k;
}
void init()
{
textbackground(BLACK);
clrscr();
}
void window1()
{
int x=50,y=50;
gotoxy(x,y);
cprintf("Ezhik!!!");
getch();
}
void window2()
{
cprintf("Clonik!!!");
getch();
}
void window3()
{
cprintf("Kotik!!!");
getch();
}
void window4()
{
cprintf("Poni!!!");
getch();
}
void window5()
{
cprintf("Oslik!!!");
getch();
}
void window6()
{
cprintf("Kriska!!!");
getch();
}
void window7()
{
cprintf("Pyma!!!");
getch();
}
void window8()
{
cprintf("Pesik!!!");
getch();
}
void window9()
{
cprintf("Begemotik!!!");
getch();
}
void window10()
{
cprintf("Kozlik!!!");
getch();
}
void window11()
{
cprintf("Bolchonok!!!");
getch();
}
void window12()
{
cprintf("Tigrenok!!!");
getch();
}
void window13()
{
cprintf("Dracosha!!!");
getch();
}
void window14()
{
cprintf("Girafik!!!");
getch();
}
void window15()
{
cprintf("Obeziaynka!!!");
getch();
}
она тоже под дос, проверял, работает, но там меню сделано галочкой только в другую сторону"/\"
вот как там надписи идут, а у меня должно быть наоборот "\/" как это можно исправить чтоб надписи были по другому, просто координаты поменять или както по другому? Плиз помогите кто знает.
вот вам сама прога
А не проще вместо туевой хучи функций и кейса просто выводить menues[n]?