Все про Интернет
       (N 258) 25.12-31.12 2006
        << Архив передач >>
 Логин:  Пароль:
[регистрация]     запомнить 
 Поиск по сайту:
[Сайты зрителей] [Рейтинг] [Статьи] [Форум] [Блог] [Киберспорт] [Конкурсы] [О передаче]
 
Разделы: Программирование |

Для тех кто знает С++

комментариев всего: 11

1:. 27.12.2006 : 07:07:15 :    anonymous  
Прога делается в Борланде 3.1
Задание
Создать программу которая создаёт задержку на заданое число секунд. Создать интерфейс для ввода с клавиатуры значение задержки и втечении задержки выводить на экран геометрические фигуры, которые иллюстрируют отсчет времени.

Вот исходник . Она Выполняет задержку как надо, проблема с фигурами, она использует квадрат (меняеться только цвет) Помогите плз чтоб чередовались : квадрат , круг, ромб и треугольник.

#include <graphics.h>
#include <dos.h>
#include <stdio.h>
#include <conio.h>
#include <math.h>

void main (void);
void tm_sound (int, int, int);
void tm_delay (int);



int iMel[ ] = {329, 440, 440,
392, 392, 440,
440, 493, 0
};



int iDel[ ] = {9, 9, 4,
4, 4, 5,
5, 18
};

int iOct;
void main (void)
{int gdriver = VGA, gmode = VGAHI;
initgraph(&gdriver, &gmode, "");


int i, g=0, d=0, q=0, w=0, t=0, t1=0, t2=0, dt=0;
struct time timer1;
struct time timer2;
gotoxy(10,1);printf("Programma 'Ygaday melodiu'");
gotoxy(2,2);printf("Vvedite koef. oktavu (s-po): ");scanf("%d %d",&q,&w);
gotoxy(2,3);printf("Vvedite zaderjky(in seconds): ");scanf("%d",&t);

for(iOct=q;iOct<w+1;iOct++)
{for ( i = 0; iMel[i] != 0; i++ )
{if(i==0) {gotoxy(1,6);printf("Oktava=%d\n",iOct);
if(iOct>q) {gettime(&timer1);
t1=(timer1.ti_min*60)+timer1.ti_sec;
for(;{gettime(&timer2);
setfillstyle(1,11);
t2=(timer2.ti_min*60)+timer2.ti_sec+1;
dt=t2-t1;
gotoxy(3,7); printf("%02d/%02d:",dt,t);
if(dt-t==0){break;}}
}}

tm_sound ( iMel[i], iDel[i], iOct-1); g++;d=iMel[i]/16;
setfillstyle(1,d);bar(100, 100, 150, 150);
}}
getch();}


void tm_sound(int iFreq, int iTime, int Oct)
{
int iPer,
iOct = Oct,
i;


outp(0x43, 0xb6);
iPer = 1193180L / (pow(2,iOct)*iFreq);
outp(0x42, iPer & 0x00ff);
outp(0x42, ((iPer & 0xff00)>>8));
outp(0x61, inp(0x61) | 3);

tm_delay(iTime);

outp(0x61, inp(0x61) & 0xfc);
}


void tm_delay ( int iTicks)
{_asm {
push si
mov si,iTicks
mov ah,0
int 1ah
mov bx,dx
add bx,si
}

delay_loop:
_asm { int 1ah
cmp dx, bx
jne delay_loop
pop si
}
}

2:. 27.12.2006 : 09:39:20 :    Vladimir  сайт 
Если я правильно понимаю, то строчка которая рисует квадрат вот:
bar(100, 100, 150, 150);

Поменяйте ее на алгоритм рисования нужных Вам фигур.

3:. 28.12.2006 : 15:05:15 :    anonymous  
Цитата:
2:. 27.12.2006 : 09:39:20 : Vladimir
Если я правильно понимаю, то строчка которая рисует квадрат вот:
bar(100, 100, 150, 150);

Поменяйте ее на алгоритм рисования нужных Вам фигур.

bar это квадрат
circle-круг
bar3d -параллепипед
это надо засунуть в цикл, что они чередовалиб. Это как раз и не получается

4:. 28.12.2006 : 17:25:43 :    Vladimir  сайт 
А в чем проблема то?
Такой алгоритм не будет работать?

if (m==1) рисум квадрат
if (m==2) рисуем круг
....
if (m>5) m=0
m=m+1

5:. 28.12.2006 : 22:56:33 :    .Squid  
Блин ну вы в универе уже с курсаком достали, так еще и через инет решили?? :))

6:. 29.12.2006 : 02:29:49 :    NUKE  
anonymous, научись объяснять че те нада
Насколько я понял - тебе надо вложить все еще в один цикл и сделать как сказал Владимир
2.Squid
это точно!

7:. 29.12.2006 : 02:48:19 :    Griffon  
Походу если этот человек учится на програмёра. То ему стоит задуматся над сменой факультета.
Как я понял человек не только не понимает элементарных вещей. Но и не хочет понять.
Про асмовские вставки промолчу. Может так надо :)

8:. 29.12.2006 : 11:35:11 :    anonymous  
я сетевик , а не программер

9:. 05.01.2007 : 04:17:03 :    ARAYIK  сайт 
Цитата:
anonymous
я сетевик , а не программер



Слыш сетевик а с какой ты группы и на каком курсаче*?

10:. 06.01.2007 : 16:42:58 :    anonymous   ARAYIK
Цитата:
Слыш сетевик а с какой ты группы и на каком курсаче*?

а те оно зачем?

11:. 07.01.2007 : 01:16:18 :    ARAYIK  сайт 
мало ли может знаю тя и может помогу


Тема закрыта, новые сообщения добавить нельзя.

 
 

[Видеоархив]

Передача создана дизайн-студией Conus Video
По вопросам размещения рекламы или информации в передаче Internet@Mania пишите imania@mail.zp.ua, или звоните
8(0612)63-80-84


Share |
 
 
Активные темы
Как бороться с мошенниками на OLX? [1]
Принтер для печати этикеток [1]
Ноутбуки Acer. ТОП15 интернет-магазин [1]
Классные мультфильмы [1]
Новый год [1]
Планшет [1]
Уход за волосами [1]
Немного юмора :) [1]
Фильмы [1]
Объективы и другая фототехника [1]

Популярные темы
Triolan в Запорожье
Работа в интернете
Контер Страйк и все связанное с ним
Crazy Machines aka Заработало
Укртелеком (ADSL), ваши мнения
Как найти человека?
Хакеры, блин!
как заработать в интернете
нужен ключ для запуска контер страйк 1.6 а то блин...
Помогите. HELP.
GTA:SA-MP
Как в CS:1.6 по инету играть? и можно ли через dia...
ОТКРЫЛСЯ НОВЫЙ САЙТ!!!!!!
Решебник на 9 класс Кирик Помогите!!!
Сервер WOW в запорожье 2.4.3
Просьба к Интернета Мании
Создание Web сайтов
народ Help!!! Где скачать Wow неофициальный беспла...
Безплатные .mp3
ADSL технология

[Все темы]
[Создать новую тему]

 
    Передача создана дизайн-студией Conus Video
    По вопросам размещения рекламы или информации в передаче Internet@Mania пишите нам imania@mail.zp.ua, или звоните 8(0612)63-80-84