打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
打印一张扑克牌

今天看着书打了一段程序,显示一张扑克牌,其中问题多多,现记录如下。

首先看看我要显示的效果,如图:

这段程序的代码如下:


#include<stdio.h>
#include<conio2.h>
int main(void)
{
int i,j;
int w=8,h=10,x=30,y=10;//程序已开始就清屏,以消除前一次程序运行留下的效果
textbackground(BLACK);//设置屏幕背景色为黑色
clrscr();//设置文本窗口的背景色为白色,为本边框颜色为红色,再次清屏
textbackground(WHITE);
textcolor(RED); //绘制牌边框
gotoxy(x,y);
putch(0xc9);//输出左上角边框
gotoxy(x+w,y);
putch(0xbb);//输出右上角边框
gotoxy(x,y+h);
putch(0xc8);//输出左下角边框
gotoxy(x+w,y+h);
putch(0xBC);//输出右下角边框
for(i=x+1;i<x+w;i++)
{
gotoxy(i,y);
putch(0xCD);//输出上边框水平线
gotoxy(i,y+h);
putch(0xCD);//输出下边框水平线
}
for(j=y+1;j<y+h;j++)
{
gotoxy(x,j);
putch(0xBA);//输出左边框线
gotoxy(x+w,j);
putch(0xBA);//输出右边框线
}
//设置牌的底色为浅灰色,用浅灰色的■填充牌底
textbackground(LIGHTGRAY);
for(i=x+1;i<x+w;i++)
for(j=y+1;j<y+h;j++)
{
gotoxy(i,j);
putch(0xDB);//输出■填充边框内的区域
}
//设置该牌为红桃3。并在相应位置输出红桃和数字3
textcolor(RED);
gotoxy(x+1,y+1);
putch(0x03);//在左上角输出红桃
gotoxy(x+w-1,y+h-1);
putch(0x03);//在右下角输出红桃
gotoxy(x+w/2,y+h/2);
cprintf("3");
getch();
}

 

这里的头文件有两个,stdio.h和conio2.h。原本这个程序是在TC2下编译的,我用的是dev c++ 4.9.9.2。dev里的conio.h和TC里的conio.h不一样,TC里面的conio.h支持gotoxy(),textbackground(),cprintf(),textcolor(),clrscr(),putch()这些函数,因此我下了conio-2.0-1mol.DevPak(我已经上传了这个文件),安装后打开dev c++,工具-->编译器选项-->编译器-->在连接器命令加入以下命令,选中并写入"-lconio".

这样我们就能引用conio2.h这个头文件了,就能使用原来在TC里面使用的那些函数了。

第二,putch()输出时由于超过了128个ASCII码,所以就用到了扩展ASCII码,在中文的CMD下无法正常显示,不是因为dev编译器不支持扩展ASCII码,而是中文代码页CodePage不支持扩展ASCII显示。如图:

因此得把CodePage设置成473步骤如下:

1.在CMD上右键选中“默认值”

2.把默认代码页选成437(OEM-美国)

编译运行就OK了。

CodePage的代码可以在控制面板里面的区域和语言选项中查看

 

下面是ASCII代码表:0~127是标准ASCII码,128后面的都是扩展ASCII码。

ASCII码大致可以分作三部分組成。

第一部分由 00H 到 1FH 共 32 个,一般用来通讯或作为控制之用,有些字符可显示于屏幕,有些则无法显示在屏幕上,但能看到其效果(例如换行字符、归位字符)。

 

第二部分是由 20H 到 7FH 共 96 个,这 95 个字符是用来表示阿拉伯数字、英文字母大小写和底线、括号等符号,都可以显示在屏幕上。如下表:

第三部分由 80H 到 0FFH 共 128 个字符,一般称为『扩充字符』,这 128 个扩充字符是由 IBM 制定的,并非标准的 ASCII 码。这些字符是用来表示框线、音标和其它欧洲非英语系的字母。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
c语言 conio.h头文件介绍
董乘宇--迷宫程序
c12
getc,getchar,getch,getche
关于textbackground的问题
打了无数次扑克牌 今儿才知道上面都是谁
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服