首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

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

2013-07-08 
在一个程序中插入倒计时软件 getchar()fpfopen(D:\\试题.txt,rb+)if(fpNULL){printf(file canno

在一个程序中插入倒计时软件
 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;
}
这是积分的函数
编程?????C???????函数结合
[解决办法]
如果只是倒计时的话,加一个定时器就行了,我只在MFC下用过,控制台的话应该也可以,你查查

[解决办法]
问题主要就是等待用户敲键盘的时候,函数会卡住等用户的输入,如果不想用多线程的话,有个比较麻烦的方法,就是:
用kbhit()判断有没有按键被按下,有的话,用getch()获取当前的按键,用putch()将按键显示到屏幕上,然后将用户的按键自己保存成序列,作为用户的输入,自己动手解析用户的输入....即便用户没有按键动作,kbhit()函数也会立刻返回0,不会卡住函数的执行的

热点排行
Bad Request.