主要有三部分也就是三个函
1:基本的图形处理包括个人的资料的输入,比喻姓名,班级了,时间;
2:汉字的处理包括判断汉字是否正确了
3:基本的图形处理包括输出那些个人资料;
把这三部分放到一个main函数中,是正确的;
但是我想用三个函数来实现,应该怎么做呀?
特别是第二个函数有多个要返回的值,不知道怎么
去处理这些了,希望高手提点思路了
17 个解决方案
#1
把要返回的值放在一个STRUCT中.
#2
汉字录入糸统?C做的?是不是从键盘录入?
能不能把原码发给我?谢谢
yzb1000@163.com
能不能把原码发给我?谢谢
yzb1000@163.com
#3
我也想要。可以发给我吗?谢谢。fjndxq@21cn.com
#4
好的呀
不过你们要帮我把这个问题高定呀?
不过你们要帮我把这个问题高定呀?
#5
哇,大家一起来想想啊,有意思啊,这个题目~~~~~~~~~
#6
我的程序在这里呀?
#include <conio.h>
#include <stdio.h>
#include <graphics.h>
#include <time.h>
main()
{ int count,i,j,gd,gm,t,k,w,m,h,h1,p,x1,y1,x2,y2,x3,y3,f;
float v,tt;
time_t t1,t2;
char name[20],cc;
char x[7],xm[9],bh[60];
FILE * fp;
unsigned char ch[2],buf[544];
gd=DETECT;gm=0;
initgraph(&gd,&gm," ");directvideo=0;
textbackground(BLUE);textcolor(YELLOW);
do{ clrscr();
gotoxy(26,4);cprintf("****************\n");
gotoxy(26,5);cprintf("*汉字入通用测试系统*\n");
gotoxy(26,6);cprintf("*娄底经贸学校*\n");
gotoxy(26,7);cprintf("*微机教研室*\n");
gotoxy(26,8);cprintf("李必岩 *\n");
gotoxy(26,9);cprintf("1999.10\n");
gotoxy(26,10);cprintf("*********\n");
cprintf("\n\n");
gotoxy(8,2);
cprintf("班级:");
scanf("%s",&x);
gotoxy(22,2);
cprintf("姓名:");
scanf("%s",&xm);
gotoxy(12,12);
cprintf("请输入测试时间<分钟>:");
scanf("%d",&t);
gotoxy(12,14);
cprintf("[k1.txt][k2.txt][k3.txt][k4.txt][k5.txt]");
gotoxy(12,16);cprintf("请输入标准本件名:");
scanf("%s",&name);
fp=fopen(name,"rt");
if(!fp){cprintf("没有被 打开!!!\n");exit(1);}
cprintf("\n\n");gotoxy(12,18);
cprintf("设置录入方法,按任开始!!!!");
getch();clrscr();
textbackground(GREEN);textcolor(YELLOW);
count=0;t1=time(NULL);
window(8,3,67,22);
while(! feof(fp)){
h=2;h1=2;
fread(buf,549,1,fp);clrscr();
gotoxy(1,1);cprintf("%s\n",buf);
gotoxy(1,h);
j=strlen(buf);
p=0;i=0;ch[0]='\0' ;
while(i<j-1){
CZ:
if(i==60*(h1-1)+p) {p=p+1;i=i+1;h1=h1+1;h=h+2;gotoxy(1,h);}
t2=time(NULL);tt=difftime(t2,t1)/60;
if(tt>=0.1){v=count/tt;
x1=wherex();y1=wherey();
gotoxy(6,20);textbackground(RED);
cprintf("时间:%7.2f分钟 录入速度:%7.2字/分钟",tt,v);
textbackground(GREEN);gotoxy(x1,y1);}
if(tt>=t) goto quit;
ch[0]=getch();
/*处理光标左*/
if(ch[0]==75&&wherex()>2)
{i=i-2;gotoxy(wherex()-2,wherey());}
/*处理光标右*/
if(ch[0]==77)
{gotoxy(wherex()+2,wherey());i=i+2;}
/*处理光标上移*/
if(ch[0]==72&&wherey()>2)
{gotoxy(wherex(),wherey()-2);i=i-61;p=p-1;h1=h1-1;h=h-2;}
/*处理光标下移*/
if(ch[0]==80)
{gotoxy(wherex(),wherey()+2);i=i+61;p=p+1;h1=h1+1;h=h+2;}
if(ch[0]==32) {cprintf(" ");i=i+1;}
if(ch[0]==27) goto quit;
/*断所录入的汉 是否正*/
if(ch[0]>160) {
ch[1]=getch();ch[2]='\0';
bh[i-60*(h1-2)-p]=ch[0];bh[i-60*(h1-2)-p+1]=ch[1];
if(ch[0]==buf[i]&&ch[1]==buf[i+1]||buf[i]==0&&ch[1]==buf[i+1])
{++count;x2=wherex();y2=wherey();cprintf("%s",ch);i=i+2;
textbackground(5);
gotoxy(x2,y2-1);cprintf("%s",ch);
gotoxy(wherex(),wherey()+1);textbackground(GREEN);
if(i==(60*(h1-1)+p)) goto CZ;}
else {cprintf("%s",ch);i=i+2;} ch[0]='\0';}
/*处理格*/
if(ch[0]==8&&wherex()>2)
{i=i-2;x3=wherex();y3=wherey();
gotoxy(wherex()-2,wherey());
cprintf(" "); gotoxy(wherex(),wherey()-1);
textbackground(GREEN);cprintf("%c%c",buf[i],buf[i+1]);
gotoxy(wherex(),wherey()+1);
if(bh[i-60*(h1-2)-p]==buf[i]&&bh[i-60*(h1-2)-p+1]==buf[i+1])
count=count-1;}
}
}
quit:
sound(1000);delay(500) ;nosound();
sound(800) ;delay(500) ;nosound();
fclose(fp);
v=count/tt;
window(1,1,80,25);
textbackground(BLUE);textcolor(YELLOW);
clrscr();
gotoxy(25,4);cprintf("班级:%s",x);
gotoxy(25,6);cprintf("姓名:%s",xm);
gotoxy(25,8);cprintf("录入时间长度:%7.2f分钟",tt);
gotoxy(25,10);cprintf("平均录入速度:%7.2f分钟",v);
gotoxy(25,12);cprintf("录入的正确为:%4d",count);
gotoxy(25,16);cprintf("按ESC继....");
while(getch()!=27);
gotoxy(15,18);cprintf("从来(Y/N)");
cc=getch();
}while(cc=='Y'||cc=='y');
directvideo=1;closegraph();exit(0);
}
希望大家能帮我一下用组模的形式写一下了
一定给分
#include <conio.h>
#include <stdio.h>
#include <graphics.h>
#include <time.h>
main()
{ int count,i,j,gd,gm,t,k,w,m,h,h1,p,x1,y1,x2,y2,x3,y3,f;
float v,tt;
time_t t1,t2;
char name[20],cc;
char x[7],xm[9],bh[60];
FILE * fp;
unsigned char ch[2],buf[544];
gd=DETECT;gm=0;
initgraph(&gd,&gm," ");directvideo=0;
textbackground(BLUE);textcolor(YELLOW);
do{ clrscr();
gotoxy(26,4);cprintf("****************\n");
gotoxy(26,5);cprintf("*汉字入通用测试系统*\n");
gotoxy(26,6);cprintf("*娄底经贸学校*\n");
gotoxy(26,7);cprintf("*微机教研室*\n");
gotoxy(26,8);cprintf("李必岩 *\n");
gotoxy(26,9);cprintf("1999.10\n");
gotoxy(26,10);cprintf("*********\n");
cprintf("\n\n");
gotoxy(8,2);
cprintf("班级:");
scanf("%s",&x);
gotoxy(22,2);
cprintf("姓名:");
scanf("%s",&xm);
gotoxy(12,12);
cprintf("请输入测试时间<分钟>:");
scanf("%d",&t);
gotoxy(12,14);
cprintf("[k1.txt][k2.txt][k3.txt][k4.txt][k5.txt]");
gotoxy(12,16);cprintf("请输入标准本件名:");
scanf("%s",&name);
fp=fopen(name,"rt");
if(!fp){cprintf("没有被 打开!!!\n");exit(1);}
cprintf("\n\n");gotoxy(12,18);
cprintf("设置录入方法,按任开始!!!!");
getch();clrscr();
textbackground(GREEN);textcolor(YELLOW);
count=0;t1=time(NULL);
window(8,3,67,22);
while(! feof(fp)){
h=2;h1=2;
fread(buf,549,1,fp);clrscr();
gotoxy(1,1);cprintf("%s\n",buf);
gotoxy(1,h);
j=strlen(buf);
p=0;i=0;ch[0]='\0' ;
while(i<j-1){
CZ:
if(i==60*(h1-1)+p) {p=p+1;i=i+1;h1=h1+1;h=h+2;gotoxy(1,h);}
t2=time(NULL);tt=difftime(t2,t1)/60;
if(tt>=0.1){v=count/tt;
x1=wherex();y1=wherey();
gotoxy(6,20);textbackground(RED);
cprintf("时间:%7.2f分钟 录入速度:%7.2字/分钟",tt,v);
textbackground(GREEN);gotoxy(x1,y1);}
if(tt>=t) goto quit;
ch[0]=getch();
/*处理光标左*/
if(ch[0]==75&&wherex()>2)
{i=i-2;gotoxy(wherex()-2,wherey());}
/*处理光标右*/
if(ch[0]==77)
{gotoxy(wherex()+2,wherey());i=i+2;}
/*处理光标上移*/
if(ch[0]==72&&wherey()>2)
{gotoxy(wherex(),wherey()-2);i=i-61;p=p-1;h1=h1-1;h=h-2;}
/*处理光标下移*/
if(ch[0]==80)
{gotoxy(wherex(),wherey()+2);i=i+61;p=p+1;h1=h1+1;h=h+2;}
if(ch[0]==32) {cprintf(" ");i=i+1;}
if(ch[0]==27) goto quit;
/*断所录入的汉 是否正*/
if(ch[0]>160) {
ch[1]=getch();ch[2]='\0';
bh[i-60*(h1-2)-p]=ch[0];bh[i-60*(h1-2)-p+1]=ch[1];
if(ch[0]==buf[i]&&ch[1]==buf[i+1]||buf[i]==0&&ch[1]==buf[i+1])
{++count;x2=wherex();y2=wherey();cprintf("%s",ch);i=i+2;
textbackground(5);
gotoxy(x2,y2-1);cprintf("%s",ch);
gotoxy(wherex(),wherey()+1);textbackground(GREEN);
if(i==(60*(h1-1)+p)) goto CZ;}
else {cprintf("%s",ch);i=i+2;} ch[0]='\0';}
/*处理格*/
if(ch[0]==8&&wherex()>2)
{i=i-2;x3=wherex();y3=wherey();
gotoxy(wherex()-2,wherey());
cprintf(" "); gotoxy(wherex(),wherey()-1);
textbackground(GREEN);cprintf("%c%c",buf[i],buf[i+1]);
gotoxy(wherex(),wherey()+1);
if(bh[i-60*(h1-2)-p]==buf[i]&&bh[i-60*(h1-2)-p+1]==buf[i+1])
count=count-1;}
}
}
quit:
sound(1000);delay(500) ;nosound();
sound(800) ;delay(500) ;nosound();
fclose(fp);
v=count/tt;
window(1,1,80,25);
textbackground(BLUE);textcolor(YELLOW);
clrscr();
gotoxy(25,4);cprintf("班级:%s",x);
gotoxy(25,6);cprintf("姓名:%s",xm);
gotoxy(25,8);cprintf("录入时间长度:%7.2f分钟",tt);
gotoxy(25,10);cprintf("平均录入速度:%7.2f分钟",v);
gotoxy(25,12);cprintf("录入的正确为:%4d",count);
gotoxy(25,16);cprintf("按ESC继....");
while(getch()!=27);
gotoxy(15,18);cprintf("从来(Y/N)");
cc=getch();
}while(cc=='Y'||cc=='y');
directvideo=1;closegraph();exit(0);
}
希望大家能帮我一下用组模的形式写一下了
一定给分
#7
有些地放有些笔误,我以通个调式了
希望高用帮我一下了
希望高用帮我一下了
#8
主要有三部分也就是三个函
1:基本的图形处理包括个人的资料的输入,比喻姓名,班级了,时间;
2:汉字的处理包括判断汉字是否正确了
3:基本的图形处理包括输出那些个人资料;
把这三部分放到一个main函数中,是正确的;
但是我想用三个函数来实现,应该怎么做呀?
特别是第二个函数有多个要返回的值,不知道怎么
去处理这些了,希望高手提点思路了
1:基本的图形处理包括个人的资料的输入,比喻姓名,班级了,时间;
2:汉字的处理包括判断汉字是否正确了
3:基本的图形处理包括输出那些个人资料;
把这三部分放到一个main函数中,是正确的;
但是我想用三个函数来实现,应该怎么做呀?
特别是第二个函数有多个要返回的值,不知道怎么
去处理这些了,希望高手提点思路了
#9
递二个问题为什么要多个返回值?如果非要不可,可以考虑返回指针
#10
比喻在第二个函数中要返回
录入时间长度
平均录入速度
录入的正确为
我用指针做不好呀
请高手帮忙呀???
录入时间长度
平均录入速度
录入的正确为
我用指针做不好呀
请高手帮忙呀???
#11
如果都是数值的话,可以考虑返回一个数组的首地址
#12
你够强,这也能写出来
#13
兄弟你的程序是不是要中文操作系统的支持?
#14
我越看越佩服你了。写了这么长的程序。我从来不能写这么长的程序。呵呵。
我觉得你把个人资料定义为一个结构有利于程序的清晰。
第2个函数 你也可以定义一个结构。然后返回结构的地址。
我是这样想的。不知道你认为是怎么样的。我想这样应该可以吧。
我觉得你把个人资料定义为一个结构有利于程序的清晰。
第2个函数 你也可以定义一个结构。然后返回结构的地址。
我是这样想的。不知道你认为是怎么样的。我想这样应该可以吧。
#15
chengdulang(成都狼)
谢谢你了给我的思路呀!!
谢谢你了给我的思路呀!!
#16
那位高手给能不能给我做一下呀??
#17
你可以考虑定义一个数据结构,比如类,或者结构,该类包含你要返回的信息的项目。
class Info
{
public:
Info();
float time_length; //存放录入时间长度
int wpm;//存放速度
float rate; //存放正确率
//还可以添加别的你想要统计的信息
};
用法:
Info * fun2(..)
{
Info * myinfo = new Info();
Info->wpm = 200;
Info->rate = 0.98;
...
return myinfo;
}
//这里类写得很草率,事实上你可以封装这些数据成员,用成员函数来存取他们的值。
当然也可以用结构来实现,是一样的。
class Info
{
public:
Info();
float time_length; //存放录入时间长度
int wpm;//存放速度
float rate; //存放正确率
//还可以添加别的你想要统计的信息
};
用法:
Info * fun2(..)
{
Info * myinfo = new Info();
Info->wpm = 200;
Info->rate = 0.98;
...
return myinfo;
}
//这里类写得很草率,事实上你可以封装这些数据成员,用成员函数来存取他们的值。
当然也可以用结构来实现,是一样的。
#1
把要返回的值放在一个STRUCT中.
#2
汉字录入糸统?C做的?是不是从键盘录入?
能不能把原码发给我?谢谢
yzb1000@163.com
能不能把原码发给我?谢谢
yzb1000@163.com
#3
我也想要。可以发给我吗?谢谢。fjndxq@21cn.com
#4
好的呀
不过你们要帮我把这个问题高定呀?
不过你们要帮我把这个问题高定呀?
#5
哇,大家一起来想想啊,有意思啊,这个题目~~~~~~~~~
#6
我的程序在这里呀?
#include <conio.h>
#include <stdio.h>
#include <graphics.h>
#include <time.h>
main()
{ int count,i,j,gd,gm,t,k,w,m,h,h1,p,x1,y1,x2,y2,x3,y3,f;
float v,tt;
time_t t1,t2;
char name[20],cc;
char x[7],xm[9],bh[60];
FILE * fp;
unsigned char ch[2],buf[544];
gd=DETECT;gm=0;
initgraph(&gd,&gm," ");directvideo=0;
textbackground(BLUE);textcolor(YELLOW);
do{ clrscr();
gotoxy(26,4);cprintf("****************\n");
gotoxy(26,5);cprintf("*汉字入通用测试系统*\n");
gotoxy(26,6);cprintf("*娄底经贸学校*\n");
gotoxy(26,7);cprintf("*微机教研室*\n");
gotoxy(26,8);cprintf("李必岩 *\n");
gotoxy(26,9);cprintf("1999.10\n");
gotoxy(26,10);cprintf("*********\n");
cprintf("\n\n");
gotoxy(8,2);
cprintf("班级:");
scanf("%s",&x);
gotoxy(22,2);
cprintf("姓名:");
scanf("%s",&xm);
gotoxy(12,12);
cprintf("请输入测试时间<分钟>:");
scanf("%d",&t);
gotoxy(12,14);
cprintf("[k1.txt][k2.txt][k3.txt][k4.txt][k5.txt]");
gotoxy(12,16);cprintf("请输入标准本件名:");
scanf("%s",&name);
fp=fopen(name,"rt");
if(!fp){cprintf("没有被 打开!!!\n");exit(1);}
cprintf("\n\n");gotoxy(12,18);
cprintf("设置录入方法,按任开始!!!!");
getch();clrscr();
textbackground(GREEN);textcolor(YELLOW);
count=0;t1=time(NULL);
window(8,3,67,22);
while(! feof(fp)){
h=2;h1=2;
fread(buf,549,1,fp);clrscr();
gotoxy(1,1);cprintf("%s\n",buf);
gotoxy(1,h);
j=strlen(buf);
p=0;i=0;ch[0]='\0' ;
while(i<j-1){
CZ:
if(i==60*(h1-1)+p) {p=p+1;i=i+1;h1=h1+1;h=h+2;gotoxy(1,h);}
t2=time(NULL);tt=difftime(t2,t1)/60;
if(tt>=0.1){v=count/tt;
x1=wherex();y1=wherey();
gotoxy(6,20);textbackground(RED);
cprintf("时间:%7.2f分钟 录入速度:%7.2字/分钟",tt,v);
textbackground(GREEN);gotoxy(x1,y1);}
if(tt>=t) goto quit;
ch[0]=getch();
/*处理光标左*/
if(ch[0]==75&&wherex()>2)
{i=i-2;gotoxy(wherex()-2,wherey());}
/*处理光标右*/
if(ch[0]==77)
{gotoxy(wherex()+2,wherey());i=i+2;}
/*处理光标上移*/
if(ch[0]==72&&wherey()>2)
{gotoxy(wherex(),wherey()-2);i=i-61;p=p-1;h1=h1-1;h=h-2;}
/*处理光标下移*/
if(ch[0]==80)
{gotoxy(wherex(),wherey()+2);i=i+61;p=p+1;h1=h1+1;h=h+2;}
if(ch[0]==32) {cprintf(" ");i=i+1;}
if(ch[0]==27) goto quit;
/*断所录入的汉 是否正*/
if(ch[0]>160) {
ch[1]=getch();ch[2]='\0';
bh[i-60*(h1-2)-p]=ch[0];bh[i-60*(h1-2)-p+1]=ch[1];
if(ch[0]==buf[i]&&ch[1]==buf[i+1]||buf[i]==0&&ch[1]==buf[i+1])
{++count;x2=wherex();y2=wherey();cprintf("%s",ch);i=i+2;
textbackground(5);
gotoxy(x2,y2-1);cprintf("%s",ch);
gotoxy(wherex(),wherey()+1);textbackground(GREEN);
if(i==(60*(h1-1)+p)) goto CZ;}
else {cprintf("%s",ch);i=i+2;} ch[0]='\0';}
/*处理格*/
if(ch[0]==8&&wherex()>2)
{i=i-2;x3=wherex();y3=wherey();
gotoxy(wherex()-2,wherey());
cprintf(" "); gotoxy(wherex(),wherey()-1);
textbackground(GREEN);cprintf("%c%c",buf[i],buf[i+1]);
gotoxy(wherex(),wherey()+1);
if(bh[i-60*(h1-2)-p]==buf[i]&&bh[i-60*(h1-2)-p+1]==buf[i+1])
count=count-1;}
}
}
quit:
sound(1000);delay(500) ;nosound();
sound(800) ;delay(500) ;nosound();
fclose(fp);
v=count/tt;
window(1,1,80,25);
textbackground(BLUE);textcolor(YELLOW);
clrscr();
gotoxy(25,4);cprintf("班级:%s",x);
gotoxy(25,6);cprintf("姓名:%s",xm);
gotoxy(25,8);cprintf("录入时间长度:%7.2f分钟",tt);
gotoxy(25,10);cprintf("平均录入速度:%7.2f分钟",v);
gotoxy(25,12);cprintf("录入的正确为:%4d",count);
gotoxy(25,16);cprintf("按ESC继....");
while(getch()!=27);
gotoxy(15,18);cprintf("从来(Y/N)");
cc=getch();
}while(cc=='Y'||cc=='y');
directvideo=1;closegraph();exit(0);
}
希望大家能帮我一下用组模的形式写一下了
一定给分
#include <conio.h>
#include <stdio.h>
#include <graphics.h>
#include <time.h>
main()
{ int count,i,j,gd,gm,t,k,w,m,h,h1,p,x1,y1,x2,y2,x3,y3,f;
float v,tt;
time_t t1,t2;
char name[20],cc;
char x[7],xm[9],bh[60];
FILE * fp;
unsigned char ch[2],buf[544];
gd=DETECT;gm=0;
initgraph(&gd,&gm," ");directvideo=0;
textbackground(BLUE);textcolor(YELLOW);
do{ clrscr();
gotoxy(26,4);cprintf("****************\n");
gotoxy(26,5);cprintf("*汉字入通用测试系统*\n");
gotoxy(26,6);cprintf("*娄底经贸学校*\n");
gotoxy(26,7);cprintf("*微机教研室*\n");
gotoxy(26,8);cprintf("李必岩 *\n");
gotoxy(26,9);cprintf("1999.10\n");
gotoxy(26,10);cprintf("*********\n");
cprintf("\n\n");
gotoxy(8,2);
cprintf("班级:");
scanf("%s",&x);
gotoxy(22,2);
cprintf("姓名:");
scanf("%s",&xm);
gotoxy(12,12);
cprintf("请输入测试时间<分钟>:");
scanf("%d",&t);
gotoxy(12,14);
cprintf("[k1.txt][k2.txt][k3.txt][k4.txt][k5.txt]");
gotoxy(12,16);cprintf("请输入标准本件名:");
scanf("%s",&name);
fp=fopen(name,"rt");
if(!fp){cprintf("没有被 打开!!!\n");exit(1);}
cprintf("\n\n");gotoxy(12,18);
cprintf("设置录入方法,按任开始!!!!");
getch();clrscr();
textbackground(GREEN);textcolor(YELLOW);
count=0;t1=time(NULL);
window(8,3,67,22);
while(! feof(fp)){
h=2;h1=2;
fread(buf,549,1,fp);clrscr();
gotoxy(1,1);cprintf("%s\n",buf);
gotoxy(1,h);
j=strlen(buf);
p=0;i=0;ch[0]='\0' ;
while(i<j-1){
CZ:
if(i==60*(h1-1)+p) {p=p+1;i=i+1;h1=h1+1;h=h+2;gotoxy(1,h);}
t2=time(NULL);tt=difftime(t2,t1)/60;
if(tt>=0.1){v=count/tt;
x1=wherex();y1=wherey();
gotoxy(6,20);textbackground(RED);
cprintf("时间:%7.2f分钟 录入速度:%7.2字/分钟",tt,v);
textbackground(GREEN);gotoxy(x1,y1);}
if(tt>=t) goto quit;
ch[0]=getch();
/*处理光标左*/
if(ch[0]==75&&wherex()>2)
{i=i-2;gotoxy(wherex()-2,wherey());}
/*处理光标右*/
if(ch[0]==77)
{gotoxy(wherex()+2,wherey());i=i+2;}
/*处理光标上移*/
if(ch[0]==72&&wherey()>2)
{gotoxy(wherex(),wherey()-2);i=i-61;p=p-1;h1=h1-1;h=h-2;}
/*处理光标下移*/
if(ch[0]==80)
{gotoxy(wherex(),wherey()+2);i=i+61;p=p+1;h1=h1+1;h=h+2;}
if(ch[0]==32) {cprintf(" ");i=i+1;}
if(ch[0]==27) goto quit;
/*断所录入的汉 是否正*/
if(ch[0]>160) {
ch[1]=getch();ch[2]='\0';
bh[i-60*(h1-2)-p]=ch[0];bh[i-60*(h1-2)-p+1]=ch[1];
if(ch[0]==buf[i]&&ch[1]==buf[i+1]||buf[i]==0&&ch[1]==buf[i+1])
{++count;x2=wherex();y2=wherey();cprintf("%s",ch);i=i+2;
textbackground(5);
gotoxy(x2,y2-1);cprintf("%s",ch);
gotoxy(wherex(),wherey()+1);textbackground(GREEN);
if(i==(60*(h1-1)+p)) goto CZ;}
else {cprintf("%s",ch);i=i+2;} ch[0]='\0';}
/*处理格*/
if(ch[0]==8&&wherex()>2)
{i=i-2;x3=wherex();y3=wherey();
gotoxy(wherex()-2,wherey());
cprintf(" "); gotoxy(wherex(),wherey()-1);
textbackground(GREEN);cprintf("%c%c",buf[i],buf[i+1]);
gotoxy(wherex(),wherey()+1);
if(bh[i-60*(h1-2)-p]==buf[i]&&bh[i-60*(h1-2)-p+1]==buf[i+1])
count=count-1;}
}
}
quit:
sound(1000);delay(500) ;nosound();
sound(800) ;delay(500) ;nosound();
fclose(fp);
v=count/tt;
window(1,1,80,25);
textbackground(BLUE);textcolor(YELLOW);
clrscr();
gotoxy(25,4);cprintf("班级:%s",x);
gotoxy(25,6);cprintf("姓名:%s",xm);
gotoxy(25,8);cprintf("录入时间长度:%7.2f分钟",tt);
gotoxy(25,10);cprintf("平均录入速度:%7.2f分钟",v);
gotoxy(25,12);cprintf("录入的正确为:%4d",count);
gotoxy(25,16);cprintf("按ESC继....");
while(getch()!=27);
gotoxy(15,18);cprintf("从来(Y/N)");
cc=getch();
}while(cc=='Y'||cc=='y');
directvideo=1;closegraph();exit(0);
}
希望大家能帮我一下用组模的形式写一下了
一定给分
#7
有些地放有些笔误,我以通个调式了
希望高用帮我一下了
希望高用帮我一下了
#8
主要有三部分也就是三个函
1:基本的图形处理包括个人的资料的输入,比喻姓名,班级了,时间;
2:汉字的处理包括判断汉字是否正确了
3:基本的图形处理包括输出那些个人资料;
把这三部分放到一个main函数中,是正确的;
但是我想用三个函数来实现,应该怎么做呀?
特别是第二个函数有多个要返回的值,不知道怎么
去处理这些了,希望高手提点思路了
1:基本的图形处理包括个人的资料的输入,比喻姓名,班级了,时间;
2:汉字的处理包括判断汉字是否正确了
3:基本的图形处理包括输出那些个人资料;
把这三部分放到一个main函数中,是正确的;
但是我想用三个函数来实现,应该怎么做呀?
特别是第二个函数有多个要返回的值,不知道怎么
去处理这些了,希望高手提点思路了
#9
递二个问题为什么要多个返回值?如果非要不可,可以考虑返回指针
#10
比喻在第二个函数中要返回
录入时间长度
平均录入速度
录入的正确为
我用指针做不好呀
请高手帮忙呀???
录入时间长度
平均录入速度
录入的正确为
我用指针做不好呀
请高手帮忙呀???
#11
如果都是数值的话,可以考虑返回一个数组的首地址
#12
你够强,这也能写出来
#13
兄弟你的程序是不是要中文操作系统的支持?
#14
我越看越佩服你了。写了这么长的程序。我从来不能写这么长的程序。呵呵。
我觉得你把个人资料定义为一个结构有利于程序的清晰。
第2个函数 你也可以定义一个结构。然后返回结构的地址。
我是这样想的。不知道你认为是怎么样的。我想这样应该可以吧。
我觉得你把个人资料定义为一个结构有利于程序的清晰。
第2个函数 你也可以定义一个结构。然后返回结构的地址。
我是这样想的。不知道你认为是怎么样的。我想这样应该可以吧。
#15
chengdulang(成都狼)
谢谢你了给我的思路呀!!
谢谢你了给我的思路呀!!
#16
那位高手给能不能给我做一下呀??
#17
你可以考虑定义一个数据结构,比如类,或者结构,该类包含你要返回的信息的项目。
class Info
{
public:
Info();
float time_length; //存放录入时间长度
int wpm;//存放速度
float rate; //存放正确率
//还可以添加别的你想要统计的信息
};
用法:
Info * fun2(..)
{
Info * myinfo = new Info();
Info->wpm = 200;
Info->rate = 0.98;
...
return myinfo;
}
//这里类写得很草率,事实上你可以封装这些数据成员,用成员函数来存取他们的值。
当然也可以用结构来实现,是一样的。
class Info
{
public:
Info();
float time_length; //存放录入时间长度
int wpm;//存放速度
float rate; //存放正确率
//还可以添加别的你想要统计的信息
};
用法:
Info * fun2(..)
{
Info * myinfo = new Info();
Info->wpm = 200;
Info->rate = 0.98;
...
return myinfo;
}
//这里类写得很草率,事实上你可以封装这些数据成员,用成员函数来存取他们的值。
当然也可以用结构来实现,是一样的。