|
![]() | 作者: 286 [unique]
![]() |
登录 |
烟雨平生的原贴 ------------------------ int bgetnum(int x,int y) { #include "ctype.h" int c,num; num=0; setcolor(1); setfillstyle(SOLID_FILL,3); bar3d(x-5,y-5,x+53,y+20,0,0); outtextxy(x,y,"QQWW"); moveto(x+8,y+10); while((c==getch())!='\r'&&num<999){ if(c=='\x8'&&num>0){ moverel(-8,0); bar(getx(),gety(),getx()+8,gety()+6); num/=num; continue;} if(isdigit(c)==0)continue; outtext(&c); num=num*10+c-48;} num=(num/100)*94+num%100+quwe; return(num); } 这个有问题,我找不出啊 Garu 回答 ----------------------------------- 没调试你的程序,但起码#include "ctype.h"不应该加在函数体内 286的说明 ------------------------------------ 不好意思,我本来想修改你的标题,不小心误点“删除”,后在采用后退键还能找到原内容。 兄弟,我说过多次,在这里大家都会帮助你的,所以请直接把要问的内容写到标题上。 还有就是,你只说有问题,什么问题呢?你应该说出来,不然的话,你只是一个程序段,别人哪有那么多时间从头分析呢?你说出来,更多的人才会参与思考讨论。 你的程序我也看不出来意图,另外,#include "ctype.h"虽然可以放到函数体内(仅限于VC,TC不行),但这种用法一般不多,你不妨放到头部。 把你的意图和出错提示写出来。 |
地主 发表时间: 04-01-16 09:13 |
![]() | 回复: lida1818 [lida1818] ![]() |
登录 |
警告�� test2.c 78: 指针转换后指向其它类型 在函数 outtext(&c);<----test2.c 78 程序test2.c编译通过,但提示如上。运行后调用该函数时死机。我是想取汉字的机内码。 |
B1层 发表时间: 04-01-16 10:25 |
![]() | 回复: 286 [unique] ![]() |
登录 |
兄弟,还能这样打印数字吗? char str[100]; itoa(&c,str); outtext(str);<----test2.c 78 |
B2层 发表时间: 04-01-16 11:40 |
![]() | 回复: lida1818 [lida1818] ![]() |
登录 |
哈,我去试试![]() |
B3层 发表时间: 04-01-16 14:04 |
![]() | 回复: lida1818 [lida1818] ![]() |
登录 |
int ggetnum(int x,int y) { int c,num; char str[100]; num=0; setcolor(1); setfillstyle(SOLID_FILL,3); bar3d(x-5,y-5,x+53,y+20,0,0); outtextxy(x,y,"QQWW"); moveto(x+8,y+10); while((c==getch())!='\r'&&num<999){ if(c=='\x8'&&num>0){ moverel(-8,0); bar(getx(),gety(),getx()+8,gety()+6); num/=num; continue;} if(isdigit(c)==0)continue; itoa(&c,str); outtext(str); num=num*10+c-48;} num=(num/100)*94+num%100+quwe; return(num); } 警告�� test2.c 73: 可能在'c'定义以前使用了它 在函数 警告�� test2.c 74: 可能在'c'定义以前使用了它 在函数 警告�� test2.c 79: 可能在'c'定义以前使用了它 在函数 错误 test2.c 80: 太少的参数在调用'itoa' 在函数 错误 test2.c 80: 类型不匹配在参数'value'在调用'itoa' 在函数 是不是这样改?#include "ctype.h"我也移走了。还是不行啊。是不是问题不是在这个函数内啊?我用的是WINTC。 |
B4层 发表时间: 04-01-16 14:20 |
![]() | 回复: 286 [unique] ![]() |
登录 |
int c,num => char c; int num; while((c==getch())!='\r'&&num<999){ =>while((c=getch())!='\r'&&num<999){ num=(num/100)*94+num%100+quwe; ====> quwe? |
B5层 发表时间: 04-01-16 15:34 |
![]() | 回复: lida1818 [lida1818] ![]() |
登录 |
#include "ctype.h" void *Rar,*em; long quwe; main(){ 不错啊,全局的,定义了 |
B6层 发表时间: 04-01-16 19:24 |
![]() | 回复: lida1818 [lida1818] ![]() |
登录 |
#include "stdio.h" #include "string.h" #include "stdlib.h" #include "graphics.h" #include "io.h" #include "fcntl.h" #include "ctype.h" #include "stdio.h" void *Rar,*em; long quwe; main() { int chr,ifp; long length; unsigned char data[73],fn[50]; int gmode,gdriver; puts("Enter LIB24-filename"); scanf("%s",fn); ifp=open(fn,O_RDWR|O_BINARY); if(ifp==-1){cputs("err on open");exit(1);} if(filelength(ifp)<580000L)quwe=-1054L; if(filelength(ifp)>580000L&&filelength(ifp)<600000L)quwe=-95L; if(filelength(ifp)>600000L)quwe=161L; detectgraph(&gdriver,&gmode); if(gmode==CGAHI)gmode=CGAC0; initgraph(&gdriver,&gmode,"d:\\win-tc"); arrow(); cmcnu(); setcolor(1); setbkcolor(15); rectangle(4,4,310,195); setviewport(10,10,188,188,0); drawcom('r',0); drawcom('c',0); drawcom('q',0); while((chr=getch())!='q'&chr!='Q') switch(chr){ case 'r': case 'R':readcode(ifp,&length,data,0); break; case 'e': case 'E':editcode(ifp,length,data); break; } closegraph(); close(ifp); } int drawcom(char c,int f) { char *a[]={"Read","Edit","Quit"}; int i=0; if(c=='r'||c=='R')i=0; if(c=='e'||c=='E')i=1; if(c=='q'||c=='Q')i=2; setcolor(1); setfillstyle(SOLID_FILL,2+f); bar3d(240,i*40-10,300,(i+1)*40-10,0,0); outtextxy(260,10+40*i,a[i]); } int ggetnum(int x,int y) { int c,num; num=0; setcolor(1); setfillstyle(SOLID_FILL,3); bar3d(x-5,y-5,x+53,y+20,0,0); outtextxy(x,y,"QQWW"); moveto(x+8,y+10); while((c==getch())!='\r'&&num<999){ if(c=='\x8'&&num>0){ moverel(-8,0); bar(getx(),gety(),getx()+8,gety()+6); num/=num; continue;} if(isdigit(c)==0)continue; outtext(&c); num=num*10+c-48;} num=(num/100)*94+num%100+quwe; return(num); } int chat(unsigned char by[]) { int i1,i2,i3,x,y; unsigned char c; clearviewport(); setcolor(2); for(x=5,y=5,i1=0;i1<25;x+=7,i1++)line(x,y,x,y+168); for(x=5,y=5,i2=0;i2<25;y+=7,i2++)line(x,y,x+168,y); setcolor(2); setfillstyle(SOLID_FILL,2); for(i1=0;i1<24;i1++) for(i2=0;i2<3;i2++) for(i3=0;i3<8;i3++) if(getbit(by[i1*3+i2],7-i3)) bar(5+7*i1,5+7*(i2*8+i3),12+7*i1,12+7*(i2*8+i3)); return; } int readcode(int handle,long *l,unsigned char by[]) { long length; drawcom('r',1); length=72L*ggetnum(185,20); lseek(handle,length,SEEK_SET); _read(handle,by,72); *l=length; chat(by); drawcom('r',0); } int editcode(int handle,long length,unsigned char by[]) { extern void *Rar; int v,x,y,k; unsigned char c; long l; void *gp; drawcom('e',1); setcolor(2); setfillstyle(SOLID_FILL,2); bar(200,0,205,5); gp=malloc(imagesize(200,0,205,7)); getimage(200,0,205,7,gp); putimage(200,0,gp,XOR_PUT); putimage(210,110,em,XOR_PUT); x=y=5; putimage(8,8,Rar,XOR_PUT); while(((v=getcom())!='e')&&(v!='E')) switch(v){ case 's': case 'S': lseek(handle,length,SEEK_SET); _write(handle,by,72); break; case 'c': case 'C': putimage(x+1,y+1,gp,XOR_PUT); k=getbit(by[elem(x,y)],pbit(y)); by[elem(x,y)]=putbit(by[elem(x,y)],pbit(y),1-k); break; case 'r': case 'R': readcode(handle,&l,by); x=y=5; putimage(8,8,Rar,XOR_PUT); break; case 2: case 3: case 4: case 5: putimage(x+3,y+3,Rar,XOR_PUT); if(v==2)x=x==5?23*7+5:x-7; if(v==3)x=x==23*7+5?5:x+7; if(v==4)y=y==5?23*7+5:y-7; if(v==5)y=y==23*7+5?5:y+7; putimage(x+3,y+3,Rar,XOR_PUT); break; } putimage(x+3,y+3,Rar,XOR_PUT); drawcom('e',0); putimage(210,110,em,XOR_PUT); return; } int elem(int x,int y) { return((x-5)/7*3+(y-5)/7/8); } int pbit(int y) { return(7-((y-5)/7)%8); } int arrow() { extern void *Rar; int size; int raw[]={0,0,0,4,2,4,10,12,12,10,4,2,4,0,0,0}; setfillstyle(SOLID_FILL,2); fillpoly(8,raw); size=imagesize(0,0,12,12); Rar=malloc(size); getimage(0,0,12,12,Rar); putimage(0,0,Rar,XOR_PUT); return; } int cmcnu() { extern void *em; int size,h,l,i; char *c[]={"Change","Save","Exit","Read form"}; char *c1[]={"C","S","E","R"}; setcolor(2); setfillstyle(SOLID_FILL,3); h=textheight("H"); l=textwidth(c[0]); size=imagesize(0,0,l+40,4*h+40); em=malloc(size); bar3d(0,0,l+40,4*h+40,0,0); for (i=0;i<4;i++){ setcolor(2); outtextxy(10,5+(h+10)*i,c[i]); setcolor(1); outtextxy(10,5+(h+10)*i,c1[i]); } getimage(0,0,l+40,4*h+40,em); putimage(0,0,em,XOR_PUT); return; } int getcom(void) { #include "bios.h" int key; while(bioskey(1)==0); key=bioskey(0); if(key==0x4b00)return(2); if(key==0x4d00)return(3); if(key==0x4800)return(4); if(key==0x5000)return(5); key &=0xff; return(key); } int getbit(unsigned char c,int n) { return((c>>n)&1); } int putbit(unsigned char c,int n,int m) { int i; if(m==0)return(c&(1<<n)); return(c|(1<<n)); } 那位好心的给调试一下,出错提示同上。谢谢了 ![]() |
B7层 发表时间: 04-01-19 22:58 |
![]() | 回复: 286 [unique] ![]() |
登录 |
还没解决吗? 兄弟,你先看看着贴里的“286说明”,OK? |
B8层 发表时间: 04-01-20 09:12 |
![]() | 回复: hannyu [hannyu] ![]() |
登录 |
我的帖子没人看![]() |
B9层 发表时间: 04-01-20 09:31 |
![]() | 回复: lida1818 [lida1818] ![]() |
登录 |
286大哥啊,我再三地反复地仔细也阅读了“286的说明”,还是没有领会你的意思。请直接告诉我吧。谢了! |
B10层 发表时间: 04-01-20 11:34 |
![]() | 回复: 286 [unique] ![]() |
登录 |
还有就是,你只说有问题,什么问题呢?你应该说出来,不然的话,你只是一个程序段,别人哪有那么多时间从头分析呢?你说出来,更多的人才会参与思考讨论。 |
B11层 发表时间: 04-01-20 12:31 |
![]() | 回复: lida1818 [lida1818] ![]() |
登录 |
286大哥,是这样的,程序我另行编写过,已经做好了,可以用了。但是,我上面的写法有错吗?我看不出来,所以来求教啊。烦你抽点时间编译调试一下好不好?我用的是WINTC。 警告�� test2.c 73: 可能在'c'定义以前使用了它 在函数 《----while((c==getch())!='\r'&&num<999){ 警告�� test2.c 74: 可能在'c'定义以前使用了它 在函数 〈--- if(c=='\x8'&&num>0){ 警告�� test2.c 79: 可能在'c'定义以前使用了它 在函数 〈---- if(isdigit(c)==0)continue; 编译可以,警告如上。使用时调用int ggetnum(int x,int y) 时要死机 |
B12层 发表时间: 04-01-21 13:14 |
|
20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon
粤ICP备05087286号