wangyi1986 发表于 2008-3-14 20:04

题目求助

各位大虾看看,不知道怎么“销售表”三个字无法显示出来????????

#include<graphics.h>
#include<conio.h>
#include<stdio.h>
int getbit(unsigned char c,int n)
{
        return((c>>n)&1);
}
void puthz16(int qm,int wm,int x,int y)
{
        long recordnum;
        int i1,i2,i3;
        int py=1,color=15;
        char by[32];
        FILE *fp;
        fp=fopen("c:\\tc\\hzk16","rb");
        recordnum=(qm-py)*94+wm-1;
        recordnum=recordnum*32;
        fseek(fp,(long)recordnum,0);
        fread(by,32,1,fp);
        for(i1=0;i1<16;i1++)
           for(i2=0;i2<2;i2++)
              for(i3=0;i3<8;i3++)
                 if(getbit(by[i1*2+i2],7-i3))
                        putpixel(x+i2*8+i3,y+i1,color);
}
void main()
{

        int a,b,c,d;
        float o,p,q,r;
        int gdriver=DETECT,mode;
        initgraph(&gdriver,&mode,"c:\\tc\\bgi");
        printf("Please input 4 numbers:");
        scanf("%d%d%d%d",&a,&b,&c,&d);
        o=360.0*(float)a/(a+b+c+d);
        p=360*b/(a+b+c+d);
        q=360*c/(a+b+c+d);
        r=360*d/(a+b+c+d);
        puthz16(47,90,100,100);
        puthz16(42,59,160,100);
        puthz16(17,77,220,100);
        setfillstyle(1,YELLOW);
        pieslice(200,300,0,o,100);
        setfillstyle(1,RED);
        pieslice(200,300,o,o+p,100);
        setfillstyle(1,BLUE);
        pieslice(200,300,o+p,o+p+q,100);
        setfillstyle(1,GREEN);
        pieslice(200,300,o+p+q,o+p+q+r,100);
        setfillstyle(1,YELLOW);
        bar(500,350,505,355);
        outtextxy(510,350,"huadong");
        setfillstyle(1,RED);
        bar(500,365,505,370);
        outtextxy(510,365,"huabei");
        setfillstyle(1,BLUE);
        bar(500,380,505,385);
        outtextxy(510,380,"huanan");
        setfillstyle(1,GREEN);
        bar(500,395,505,400);
        outtextxy(510,395,"huaxi");
        getch();
}

jig 发表于 2008-3-15 00:56

汉字显示问题。你可以参考,WIN-TC的安装目录下的汉字显示例程,他有个不错的显示模块

也可以参考Space C的安装目下的Spacec.C文件,里面有关于汉字显示的函数。

页: [1]

编程论坛