Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Плиз помогите с прогой!!!

11K
13 июня 2005 года
Likvid
3 / / 12.06.2005
Вот у меня есть прога "Меню". Сразу говорю она правильно не работает (вот текст проги):
/*
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();
}

Мне надо сделать чтоб при нажатие "влево" и "вправо" на клаве, курсор "_" под надписью перемещался по меню влево и вправо. Плиз кто знает какие ошибки исправить в проге напишите (желательно не теорией а просто написать как правильно писать строчку в проге вместо того что у меня).
Заранее благодарен за оказанную помощь!

Вот еще кину файлик с прогой, потмоу что тут вид меню не правильно отображается который нарисован в самом начале проги в коментариях.
5.2K
21 июня 2005 года
HuntGT
35 / / 17.12.2004
Цитата:
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();
}

Мне надо сделать чтоб при нажатие "влево" и "вправо" на клаве, курсор "_" под надписью перемещался по меню влево и вправо. Плиз кто знает какие ошибки исправить в проге напишите (желательно не теорией а просто написать как правильно писать строчку в проге вместо того что у меня).
Заранее благодарен за оказанную помощь!

Вот еще кину файлик с прогой, потмоу что тут вид меню не правильно отображается который нарисован в самом начале проги в коментариях.


Не знаю точно но по моему ты где то (там где выделено) что то пропустил!
И ещё кампилятор(а у меня билдер) не опознаёт вот что:
#include <graphics.h>
------------------
проверь имя библиотеки!
P.S.
Советую писать в новом стили так как ты пишешь считается устаревшим стилем
пример:
#include <iostream>
using namespace std;
int main()
...
}

8.7K
22 июня 2005 года
XXXX Pro
47 / / 20.06.2005
Цитата:
Originally posted by HuntGT
Не знаю точно но по моему ты где то (там где выделено) что то пропустил!
И ещё кампилятор(а у меня билдер) не опознаёт вот что:
#include <graphics.h>


Судя по всему, это вообще DOS-овская прога, и компилировать ее надо в Borland C под DOS (в нем, кстати, эта библиотека есть и является стандартной).

11K
22 июня 2005 года
Likvid
3 / / 12.06.2005
Цитата:
Originally posted by XXXX Pro
Судя по всему, это вообще DOS-овская прога, и компилировать ее надо в Borland C под DOS (в нем, кстати, эта библиотека есть и является стандартной).



Да эта прога под Дос!!!

11K
23 июня 2005 года
TheOS
14 / / 23.06.2005
Цитата:
Originally posted by Likvid
Да эта прога под Дос!!!



for(j=1;
{
kursor(RED,j-1);

что - то не похоже на то, что бы
эта прога компилировалась. Напиши, что там быть то должно

11K
23 июня 2005 года
Likvid
3 / / 12.06.2005
вот я намутил еще прогу, только с другими надписями (у меня футбольные команды, а там животные):

#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();
}


она тоже под дос, проверял, работает, но там меню сделано галочкой только в другую сторону"/\"
вот как там надписи идут, а у меня должно быть наоборот "\/" как это можно исправить чтоб надписи были по другому, просто координаты поменять или както по другому? Плиз помогите кто знает.
вот вам сама прога
247
24 июня 2005 года
wanja
1.2K / / 03.02.2003
А не проще вместо туевой хучи функций и кейса просто выводить menues[n]?
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог