`
891633093
  • 浏览: 48884 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

conio.h

阅读更多
C语言中,图形函数大致可分为两类:字符模式函数和图形模式函数。本节我们练习使用字符模式函数。  
          使用字符模式函数应该在程序中联入conio.h头部文件。  
          下面是一些函数的作用  
  1)     void     clreol();           从光标处删除到本行末  
  2)     void     delline();         清除本行内容,下面内容上提一行  
                      delline();函数实际上还起到了向上卷屏的作用。  
  3)     void     insline();         在光标所在行插入一空行,原来该行及以  
                                                          下各行皆向下移一行  
  4)       int     wherex();           返回当前光标的x(行)坐标  
  5)       int     wherey();           返回当前光标的y(列)坐标  
  6)     void     highvideo();     字符输出用高亮度字符  
  7)     void     lowvideo();       字符输出用低亮度字符  
      void     normvideo();     字符输出用普通亮度字符  
          在以上的各函数中皆不带参数,当然也可以写成括号中有void的形式:  
          void   wherex(void);         还可以写成         wherex();  
          清屏、清行、向后删行、插行的操作真有些CCED、WPS等编辑软件的风格,就是在你平时的屏幕设计中也用少不了。返回坐标的函数则给你的设计提供每一个环节的光标坐标值。有利于你前后响应。字  
  符亮度的改变则会让你的字符显示出层次感,怎么样,赶快试试吧:  
  /*   No32.c*/  
  #   include   "stdio.h"  
  #   include   "conio.h"  
  main()  
  {   clrscr();  
      gotoxy(10,1);  
      cprintf("甜密密,");  
      highvideo();                                                       /*高亮度显示*/  
      cprintf("\r\n                   你笑得甜密密,");  
      lowvideo();                                                         /*低亮度显示*/  
      cprintf("\r\n                   好象花儿开在春风里,");  
      normvideo();                                                       /*普通亮度显示*/  
      gotoxy(10,4);   cprintf("开在春风里");  
      cprintf("\r\n                   在哪里,在哪里见过你?");  
      printf("\r\n                   你的笑容这样熟悉。");  
      gotoxy(10,20);printf("任意键删去光标后的内容");  
      gotoxy(18,3);           getch();  
      gotoxy(18,3);  
      clreol();                                                             /*删去光标后字符*/  
      gotoxy(10,20);printf("任意键删去本行的内容     ");  
      gotoxy(18,3);           getch();  
      delline();                                                           /*删去本行*/  
      gotoxy(10,20);printf("任意键在本行插一空行     ");  
      gotoxy(18,3);           getch();  
      insline();                                                           /*插入一空行*/  
      gotoxy(1,7);  
  }  
          应该注意的是,要发挥本节所讲的函数的作用,在显示时不能使printf函数,应使用cprintf函数。它的使用方法和printf的完全一样,只不过后面的cprintf能发挥亮度设置和颜色设置的作用。前者  
  printf函数只有一种颜色和单一的亮度。  
          在cprintf函数中,“\n”的作用不再是既回到行首又换行,它只起一个换行的作用,所以要把内容在行首显示必须再加一个“\r”  
          上面的程序不是一真正对大家有用的程序,只是用来说明一个刚刚学到的几个函数的作用。在conio.h中还有一些字符型函数,它们都是带参数的。  
  9)     void   textcolor(颜色);                 定义显示字符颜色  
  10)   void   textbackground(颜色);       定义背景颜色  
          下面是颜色数字和颜色对照表  
          BLACK             0       黑                           DARKGRAY           8         深灰  
          BLUE               1       兰                           LIGHTBLUE         9         淡兰  
          GREEN             2       绿                           LIGHTGREEN       10       淡绿  
          CYAN               3       青                           LIGHTCYAN         11       淡青  
          RED                 4       红                           LIGHTRED           12       淡红  
          MAGENTA         5     洋红                         LIGHTMAGENTA   13       淡洋红  
          BROWN             6       棕                           YELLOW               14       黄  
          LIGHTGRAY     7     淡灰                         WHILT                 15       白  
          背景颜色值只能是0-7共8个数字或其对应的英文大写单词。而前景(即字符)的颜色可以是0-15共16种颜色或其对应的英文大写单词。当你定义的前景和背景相同时,屏幕上看不到输出的内容。  
          textcolor(4);     和     textcolor(RED);     效果是相同的。  
          设置屏幕颜色还可以使用  
  11)   void   textattr(前景颜色+(背景颜色));  
          但这里的背景颜色要有“<<4”。如白底红字,就是:  
              textattr(RED+(WHITE<<4));  
  12)   int   gettext(左上角x,左上角y,右下角x,右下角y,内存指针);  
                              把定义的长方形区域内的内容存在内存中  
  13)   int   puttext(左上角x,左上角y,右下角x,右下角y,内存指针);  
                              把内存中存好的内容显示在新定义的矩形块内  
          这里的内存指针也可用字符形数组来代替。需要注意的是内存大小应该是所存内容的“行数*列数*2”。比如把第3行第5列到第6行第75列的数据存到内存中,可以用下面的片段:  
          char   buffer[4*70*2];  
          gettext(5,3,75,6,buffer);  
          然后你就可以用puttext函数来显示它了。  
  14)   void   movetext(左上角x,左上角y,右下角x,右下角y,  
                                                                                新左上角x,新左上角y);  
                                把矩形块移到新左上角(x,y)决定的地方  
  15)   void   window(左上角x,左上角y,右下角x,右下角y);  
                              定义一个窗口,大小就是上面参数决定的长方形  
          利用这一函数,你可以在屏幕上任何一个地方开辟一个窗口,并在上面显示需要的内容。这丝毫不影响屏幕其它地方的内容。当你定义了窗口后,你只能操作该窗口,gotoxy(),wherex(),wherey(),  
  clrscr()等等函数所表示的都是你定义窗口中的情况。实际上这就为我们的操作带来了方便,你想操作哪儿,就定义哪儿,想回到平时状态的屏幕,就定义一个最大的窗口,window(1,1,80,25);就复原了。  
          No.33号例子是利用puttext和gettext函数以及颜色定义来模仿CCED和WPS的菜单显示。但这个小程序没有可移动的光条,也没有菜单中内容的相应执行程序,只是演示一下屏幕的保存和释放而已。  
  /*   No33.c   */  
  #include   "conio.h"  
  #include   "stdio.h"  
  main()  
  {     int   i=1,j,ch;  
        char   buffer[6*50*2];               /*开辟内存空间的大小*/  
        clrscr();  
        textcolor(0);                             /*定义字符颜色*/  
        textbackground(7);                   /*定义背景颜色*/  
        gotoxy(1,1);  
        cprintf("         功能1               功能2             功能3         ");  
        textbackground(0);  
        textcolor(14);  
        gotoxy(1,2);  
        cprintf("What's   your   name?                 你叫什么名字");  
        cprintf("\n\rMy   name   is   Wang   Dong.         我叫王东.");  
        cprintf("\n\rHow   old   are   are   you?           你多大了   .   ");  
        cprintf("\n\rI'm   thirty-four.                   我四十四了");  
        cprintf("\n\r\n\rThis   is   Lesson   One.             这是第一课");  
        while(1)  
        {   j=i;  
            textcolor(0);  
            textbackground(7);  
            if(i==1)  
            {   gettext(1,2,13,5,buffer);  
                gotoxy(2,2);       cprintf("│第一课│");  
                gotoxy(2,3);       cprintf("│第二课│");  
                gotoxy(2,4);       cprintf("│第三课│");  
                gotoxy(2,5);       cprintf("└───┘");  
            }  
            if(i==2)  
            {   gettext(13,2,25,5,buffer);  
                gotoxy(14,2);       cprintf("│菜单一│");  
                gotoxy(14,3);       cprintf("│菜单二│");  
                gotoxy(14,4);       cprintf("│菜单三│");  
                gotoxy(14,5);       cprintf("└───┘");  
            }  
            if(i==3)  
            {   gettext(25,2,37,5,buffer);  
                gotoxy(26,2);       cprintf("│说明A   │");  
                gotoxy(26,3);       cprintf("│说明B   │");  
                gotoxy(26,4);       cprintf("│说明C   │");  
                gotoxy(26,5);       cprintf("└───┘");  
            }  
            textcolor(14);  
            gotoxy(10,20);printf("→向右移动     ←向左移动     Esc   退出");  
            ch=getch();  
            if((ch==75)&&(i==1))                 /*菜单个数的判断*/  
            {     i=3;   ch=0;}  
            if((ch==77)&&(i==3))                 /*ASCII码   77是右箭头*/  
            {     i=1;   ch=0;}  
            if((ch==75)&&(i>1))                   /*ASCII码   75是左箭头*/  
                i--;  
            if((ch==77)&&(i<3))  
                i++;  
            if(ch==27)  
                break;  
            puttext(j*12-11,2,j*12+1,5,buffer);  
      }  
  }
分享到:
评论

相关推荐

    conio.h头文件

    讲述conio.h头文件里函数的详细使用方法

    VC下conio.h的移植,兼容TC下的conio.h

    有空把大家熟知的那个TC下的conio.h移植到了VC下,还扩展了很多功能,发出来大家一起交流交流。

    ubuntu下conio.h文件

    ubuntu下的conio.h文件,放在 /usr/include目录下可用

    conio.h C++ 头文件下载

    conio.h C++ 头文件下载

    conio.h conio.a 库文件

    conio.h不是C标准库中的头文件,在C standard library,ISO C 和POSIX标准中均没有定义。 conio是Console Input/Output(控制台输入输出)的简写,其中定义了通过控制台进行数据输入和数据输出的函数,主要是一些...

    conio.h头文件C语言非标准库.rar

    软件介绍: conio.rar是语言的非标准库,想研究conio.h的同学可以下载,codeblocks下可用,初学者直接引用到库中去。

    库函数conio.h

    vc的库函数conio.h,放到...\Microsoft Visual Studio\VC98\Include 文件夹中

    wuziqi.rar_chess_conio.h_time.h_五子棋 dos_五子棋辅助

    五子棋小游戏#include&lt;...conio.h&gt; int chess[169]={0} /*棋盘*/ struct chess_t/*作为辅助,即是作为建意*/ { char attack /*攻防用的,0表示守,1表示攻*/ int j /*作为优先级用*/ }chess_a[169]

    conio.h:为Linux安装库conio.h [手册]

    LINUX的库&lt;conio&gt; 来源: : 电报: : 这是用于Linux的库conio.h。 在/ usr / include /上复制文件并将文件conio.h粘贴到/ usr / include /上清单功能cprintfcscanfgotoxy clrscr textcolor textbackground wherex ...

    C语言做的成绩管理系统

    #include&lt;conio.h&gt; #include&lt;alloc.h&gt; int r; struct student { int number; char name[9]; float score[4]; float avescore; }; typedef struct link { struct student data; struct link *next; }LINK; ...

    Gnu-Linux conio.h implementation:在 Windows 和 Gnu/Linux 上使用 conio.h 的程序-开源

    通过这个实现,可以在windows和linux下使用conio.h编写的程序,使用ncurses for linux模拟conio.h函数。 它适用于 windows 和 linux,并使用 Borland Style Conio2.h 代码。 阅读自述文件,玩得开心!

    #include "graphics.h" #include "graphics.h"

    #include "conio.h" #include "bios.h" #include "stdlib.h" #include "math.h" #ifdef __cplusplus #define __CPPARGS ... #else #define __CPPARGS #endif #define VK_LEFT 0x4b00 #define VK_RIGHT ...

    贪吃蛇 控制台程序

    #include&lt;conio.h&gt; #include&lt;windows.h&gt; #include&lt;stdlib.h&gt; using namespace std; struct she //用x,y记录蛇的坐标 { int x; int y; struct she *next; }*tou,*wei; //分别指向表示蛇头,蛇尾的节点 enum ...

    C语言conio2.h

    实现turbo c的conio.h常用功能

    Linux c++ implementation of conio.h-开源

    Borland的conio(conio.h)库的简单Linux实现。 它使用Ncurses。 它包括使用conioh编写基本应用程序所需的大多数功能(即getch(),cprintf(),puts()等)。

Global site tag (gtag.js) - Google Analytics