Тәттібеков Қ. С. Раимбаева С.Ә. С/С++ тілінде программалау негіздері


void outtextxy(int x, int y, char far *textstring)



Pdf көрінісі
бет69/79
Дата15.11.2023
өлшемі1,39 Mb.
#124059
түріПрограмма
1   ...   65   66   67   68   69   70   71   72   ...   79
 
void outtextxy(int x, int y, char far *textstring); 
void outtext(char far *textstring), 
мұндағы (x,y) - textstring адресі бойынша орналасқан мәтіндік жолды 
шығару нүктесі координаталарына сәйкес жүргізіледі. 
Әріптер өлшемін өзгерту үшін төмендегі функция қолданылады: 
void settextstyle(int font, int direction, int charsize), 
мұндағы font – әріптер шығару үшін шрифт номері; direction - 
бағыты(көлденең немесе тікелей); charsize – шрифт өлшемін ұлғайту 
коэффициенті. Мысалы, үнсіздік бойынша қойылған шрифт өлшемін екі есе 
ұлғайту үшін settextstyle функциясын келесі түрде шақыруға болады: 
settextstyle(DEFAULT_FONT, HORIZ_DIR, 2) 


105 
Мәтінді шығару тірек нүктесіне қатысты жүргізіледі. Шығарылатын 
жолда тірек нүктесі 9 әртүрлі орналасуы мүмкін- жоғарғы сол жақ нүктесі, 
жоғарғы орта жақ нүктесі, жоғарғы оң жақ нүктесі және т.б. Тірек нүктесінің 
орналасуы void settextjustify(int horiz, int vert) функциясымен өзгереді, 
мұндағы horiz және vert бүтін сандары 0, 1, 2 мәндерін қабылдайды. Үнсіздік 
бойынша мәтін СР тірек нүктесі мәтін қамтитын кеңістіктің сол жақ жоғарғы 
бұрышында болатындай етіп шығарылады.
Мысалы, outtext("ababababa") шақырғаннан кейін шығарылатын мәтін 
орналасуы мен СР келесідей болады: 
Егер тірек нүктесінің орналасуын settextjustify(1, 1) көмегімен өзгертетін 
болсақ, онда outtext("abababa") шақырғаннан кейін CP нүктесі центрде 
болады. 
7.3 Функцияның графигін салу 
Графиктік режимде мәтінмен жұмыс істеу үшін printf және scanf 
функцияларына ұқсас функциялардың болғаны пайдалы, бұл функцияларды 
айнымалы параметрлер санымен функцияларды жасау мүмкіңдігін 
пайдаланып, функцияларды қалай жазуға болатынын мысал арқылы 
көрсетейік. 
#define ENTER 13 
int gscanf(int xsym, int ysym, char *text, ...) { 
va_list aptr; char str[140]; int count=0; 
va_start(aptr, str ); 
while ((str[count]=getch())!=ENTER) { 
str[count+1]='
\0
'; 
gprintf(xsym+count,ysym,str+count); 
count++ ; 

vsscanf(str, text, aptr); 
va_end(aptr); 
return count; 

int gprintf (int xsym, int ysym, char *text, ... ) { 
va_list aptr; char str[140]; int count; 
va_start (aptr, text); 
count = vsprintf (str, text, aptr); 
outtextxy ((xsym-1)*textwidth ("M"), 
(ysym-1)*(2+textheight ("M")),str); 
va_end (aptr); 
return count; 


106 

Мысал 1
. getimage және putimage функцияларының көмегімен экран 
бойынша жұлдызды аспан фонында кездейсоқ қозғалатын фигураны 
бейнелеу қажет.
#include  
#include  
#include  
#include  
int change(int current) { 
if (random(32767) > 30000) 

switch (random(5)) { 
case 0: return -2; 
case 1: return -1; 
case 2: return 0; 
case 3: return 1; 
case 4: return 2; 

return current; 

void main(void) { 
int gd = VGA, gm = VGAHI, i; 
int StartX = 100, StartY = 50, r = 20; 
int ulx, uly, lrx, lry, width, height, size; 
int dx = 0, dy = 0; 
int do_job = 1; 
void * img; 
initgraph(&gd, &gm, "c:


Достарыңызбен бөлісу:
1   ...   65   66   67   68   69   70   71   72   ...   79




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет