在一个程序中插入倒计时软件

u010855801 2013-06-01 09:38:57
getchar();
fp=fopen("D:\\试题.txt","rb+");
if(fp==NULL)
{
printf("file cannot be opened");
exit(1);
}
for(i=0;i<5;i++)
{
j=a[i];

{for(k=0;k<count1;k++)
{f=0;
fread(t+k,sizeof(exam),1,fp);
{ if(t[k].no==j)
f=1;
strcpy(txt,t[k].text);
strcpy(ans,t[k].answer);
if(f==1)
break;
}
}
printf("%s",txt);
grade+=jifen(ans);
printf("正确答案是%s\n",ans);
}if(i==nono-1) break;
}printf("您的分数是%d\n\n",grade);
fclose(fp);
getchar();
fp=fopen("D:\\学生.txt","rb+");
if(fp==NULL)
{
printf("file cannot be opened");
exit(1);
}
for(i=0;i<count;i++)
{if(s[i].id==xuehao) break;}
s[i].score=grade;
for(i=0;i<count;i++)
fwrite(s+i,sizeof(student),1,fp);
fclose(fp);
break;

case 0:
break;
}
}while(choice);
}
这是一个考试管理系统当中的一个函数
#include <stdio.h>
#include <Windows.h>
int main()
{
int hour=0, min=5, sec=0;
int i, j, k;
printf("倒计时开始!\n");
for(i=hour; i>=0; i--) {
for(j=min; j>=0; j--) {
for(k=sec; k>=0; k--) {
printf("\r%2d:%2d:%2d", i, j, k);
Sleep(1000);
}
sec = 59;
}
min = 59;
}
exit(0);
}
这是一个5分钟的倒计时软件,要想让考试系统从出现题目开始计时,一直到时间结束时能够自动结束,还能够保存住已经做完的题目的答案来评分,该怎样结合这几个函数啊???求大神指教,谢谢了。
int jifen(char ans0[])
{ int sum=0;
int n,i,len;

char alter[100],alte[100];
printf("\n请输入答案,以回车结尾(如果一题多空,请在两空答案之间插入两个空格符)。\n");


n=0;
gets(alter);
strcpy(alte,alter);

len=strlen(ans0);
for(i=0;i<len;i++)
{
if(alte[i]!=ans0[i])
break;
}
// nono=1;
// printf("i=%d\n",i);
if (i==len)
sum+=100/nono;
return sum;
}
这是积分的函数
...全文
113 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
失散糖 2013-06-02
  • 打赏
  • 举报
回复
问题主要就是等待用户敲键盘的时候,函数会卡住等用户的输入,如果不想用多线程的话,有个比较麻烦的方法,就是: 用kbhit()判断有没有按键被按下,有的话,用getch()获取当前的按键,用putch()将按键显示到屏幕上,然后将用户的按键自己保存成序列,作为用户的输入,自己动手解析用户的输入....即便用户没有按键动作,kbhit()函数也会立刻返回0,不会卡住函数的执行的
meadow 2013-06-01
  • 打赏
  • 举报
回复
如果只是倒计时的话,加一个定时器就行了,我只在MFC下用过,控制台的话应该也可以,你查查

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧