注册 登录
编程论坛 C图形专区

题目求助

wangyi1986 发布于 2008-03-14 20:04, 999 次点击
各位大虾看看,不知道怎么“销售表”三个字无法显示出来????????

#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();
}
1 回复
#2
jig2008-03-15 00:56
汉字显示问题。你可以参考,WIN-TC的安装目录下的汉字显示例程,他有个不错的显示模块

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