Добавил:
anersisyan1999
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:ЛАБ 2 / LAB-2(var 12)
.cpp#include "conio.h"
#include "iostream.h"
#include "stdio.h"
#include "stdlib.h"
#include "dos.h"
#include "windows.h"
#include "time.h" // ¤«п delay();
union supertype // Ї®¤а®Ў®Ґ ®ЇЁб ЁҐ union Ё print ў ¤®Єг¬ҐвҐ
{
unsigned long long llong;
double dub;
};
void print(double input)
{
supertype newType; // supertype - нв® вЁЇ ¤ ле ў Є®в®а®¬ ¤ў Ї®«п
newType.dub = input; // Ё в ¬ Ј¤Ґ Ї®«Ґ double, ЇаЁбў Ёў Ґ¬ § 票Ґ input // ®Ўа 饨Ґ Є Ї®«п¬ llong Ё dou зҐаҐ§ в®зЄг
for (int i = 16 * sizeof(newType.llong) - 1; i > -1; i--) // 64 а § (®в 63 ¤® 0) ¤Ґ« Ґ¬
{
cprintf("%d", newType.llong >> i & 1); // Ї®ЎЁв®ў®Ґ € б 1, ў Ёв®ЈҐ Ў®а Ё§ 0-Ґ© Ё 1-Ёж
}
cprintf("\n\r"); // Є®Ј¤ ўлўҐ«Ё ўбҐ ЎЁвл, ЇҐаҐў®Ј бва®ЄЁ ў § ¤ ®© ®ЄҐ
}
void scroll(int direction, int lines, char l_row, char l_col, char r_row, char r_col, char attr)
{
union REGS r;
if(direction)
{
r.h.al = lines;
r.h.ah = direction;
}
else
{
r.h.al = lines;
r.h.ah = 6;
}
r.h.ch = l_row;
r.h.cl = l_col;
r.h.dh = r_row;
r.h.dl = r_col;
r.h.bh = attr;
int86(0x10, &r, &r);
}
void GetPrintColor(unsigned char colors)
{
unsigned char bg = colors >> 4; // Є ¦¤л© а § Ї®«гз п зЁб«® i б¤ўЁЈ Ґ¬ Ї®ЎЁв®ў® 4 /в ¬ ¦Ґ 16 梥⮢/
unsigned char text = colors & 15; // зҐаҐ§ Ї®ЎЁв®ў®Ґ € б 15, Ї®«гз Ґ¬ зЁб«® x Є®в®а®Ґ ўбҐЈ¤ Ўг¤Ґв 0 <= x <= 15
/*
************Є ав 梥⮢************** // ¤«п бЇа ўЄЁ
BLACK зҐал© 0
BLUE бЁЁ© 1
GREEN §Ґ«Ґл© 2
CYAN бЁҐ-§Ґ«Ґл© 3
RED Єа бл© 4
MAGENTA Єа б®-бЁЁ© 5
BROWN Є®аЁзҐўл© 6
LIGHTGRAY ᢥ⫮-бҐал© 7
DARKGRAY ⥬®-бҐал© 8
LIGHTBLUE паЄ®-бЁЁ© 9
LIGHTGREEN паЄ®-§Ґ«Ґл© 10
LIGHTCYAN паЄЁ© бЁҐ-§Ґ«Ґл© 11
LIGHTRED паЄ®-Єа бл© 12
LIGHTMAGENTA паЄЁ© Єа б®-бЁЁ© 13
YELLOW ¦Ґ«вл© 14
WHITE ЎҐ«л© 15
*/
// Їа®бв® Є ¦¤л© а § Ї®Ї ¤ Ґ¬ ў ®¤Ё Ё§ case-®ў Ё ЇҐз в Ґ¬ зЁб«® 梥в д® Ё ⥪бв
switch(bg)
{
case 0:
cprintf("1 ");
break;
case 1:
cprintf("2 ");
break;
case 2:
cprintf("3 ");
break;
case 3:
cprintf("4 ");
break;
case 4:
cprintf("5 ");
break;
case 5:
cprintf("6 ");
break;
case 6:
cprintf("7 ");
break;
case 7:
cprintf("8 ");
break;
case 8:
cprintf("9 ");
break;
case 9:
cprintf("10 ");
break;
case 10:
cprintf("11 ");
break;
case 11:
cprintf("12 ");
break;
case 12:
cprintf("13 ");
break;
case 13:
cprintf("14 ");
break;
case 14:
cprintf("15 ");
break;
case 15:
cprintf("16 ");
break;
}
switch(text)
{
case 0:
cprintf("1 ");
break;
case 1:
cprintf("2 ");
break;
case 2:
cprintf("3 ");
break;
case 3:
cprintf("4 ");
break;
case 4:
cprintf("5 ");
break;
case 5:
cprintf("6 ");
break;
case 6:
cprintf("7 ");
break;
case 7:
cprintf("8 ");
break;
case 8:
cprintf("9 ");
break;
case 9:
cprintf("10 ");
break;
case 10:
cprintf("11 ");
break;
case 11:
cprintf("12 ");
break;
case 12:
cprintf("13 ");
break;
case 13:
cprintf("14 ");
break;
case 14:
cprintf("15 ");
break;
case 15:
cprintf("16 ");
break;
}
}
int main()
{
double input = 3.14; // зЁб«® Є®в®а®Ґ Ўг¤Ґв ЇаҐ¤бв ў«Ґ ў ¤ў®Ёз®¬ ЁвҐаЇаҐв жЁЁ, ¬®¦Ґйм Ё§¬ҐЁвм, бв ўм зв® Ї®¦Ґ« Ґим
clrscr(); //Їа®бв® ®зЁбвЄ нЄа
window(25, 10, 55, 20); // гбв ®ўЄ ®Є ўлў®¤ ў Є®б®«Ґ
textattr(112); // гбв ў«Ёў Ґв ®¤®ўаҐ¬Ґ® Є Є 梥⠯ҐаҐ¤ҐЈ® Ї« , в Є Ё д®
scroll(0, 0, 9, 24, 19, 54, 6); // бЄа®««ЁЈ ᢥаег ўЁ§
for (int i=0; i<127; i++) // в.Є. 16 梥⮢ д® + 16 梥⮢ ⥪бв , ўбҐЈ® 128 Є®¬ЎЁ жЁЁ©, ®вбзҐв б 0п ¤® 127
{
textattr(i); // § ¤ Ґ¬ 梥в ⥪бв
print(input); // ЇҐ в Ґ¬ ¤ў®Ёз®Ґ ЇаҐ¤бв ў«ҐЁҐ зЁб« вЁЇ Double (64 ЎЁв )
GetPrintColor(i); // § ¤ Ґ¬ 梥в д® Ё ⥪бв ¤«п б«Ґ¤го饩 ЁвҐа жЁЁ жЁЄ«
delay(200); // § ¤Ґа¦Є ў ¬Ё«ЁбҐЄг¤ е 0.2 ᥪ = 200 ¬бҐЄ ЁвҐаў « T ᥪ
scroll(6, 3, 9, 24, 19, 54, i); // бЄа®««ЁЈ // ЇҐаў®Ґ зЁб«® - 6- Їа ў«ҐЁҐ бЄа®««ЁЈ (7 ®Ўа в®)
//ўв®а®Ґ зЁб«® ЁвҐаў « S бва®Є, ўбҐ ®б⠫쮥 ®¤Ё ¬ҐмиҐ Ё§ з «м® § ¤®Ј® ®Є ,
//Ї® бгвЁ ¬л ЎҐаҐ¬ ®Є®, бва®зЄг Ё¦Ґбв®пйго ⥪г饣® ®Є , б ⥬Ё ¦Ґ а §¬Ґа ¬Ё Ё Ї®¤Ё¬ Ґ¬ ¬Ґб⮠⥪г饩
}
cprintf("\n\r The program has been ends... --------\n\r");
getch(); // ®¦Ё¤ Ґ¬ ¦ вЁп Є Є®© в® «оЎ®© Є®ЇЄЁ зв®Ўл ўл©вЁ Ё§ Їа®Ја ¬¬л
return 0;
}
Соседние файлы в папке ЛАБ 2