重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这是一个选择题答题程序,分为三个模块,第一个模块是登陆,第二个模块是答题,第三个模块是查看成绩.
成都创新互联-专业网站定制、快速模板网站建设、高性价比玉树网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式玉树网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖玉树地区。费用合理售后完善,十多年实体公司更值得信赖。1.登录模块
这个模块主要是让用户登录到这个程序里面,使用全局变量记录用户信息在答题时输出用户信息,完成登录时,才可以开始下一步,缺点是没有验证功能,只能记录当前用户的答题记录。
1.1运行界面:
1.2代码:
void login()
{
flag=1;
printf("\n\t\t\t注:年龄请输入数字\n");
printf("\t\t\t请输入你的姓名:");
scanf("%s",name);
printf("\t\t\t请输入你的性别:");
scanf("%s",sex);
printf("\t\t\t请输入你的年龄:");
scanf("%d",&age);
printf("\t\t\t请输入你的学校:");
scanf("%s",sch);
}
2.答题模块
这个功能模块主要是用于答题,它会从题库中随机抽取20个题目,完成一道题目之后才会输出下一道题目,当输入的答案正确时会出现一个勾提醒你答对了,同时答案兼容大小写,回答错误时会用一个叉来提示你答错了,答完这一题后,会继续从题库中抽取一个随机但是不重复的题目继续答题。当完成了下一题后,会继续输出,如果已经答完20道题,它会退出答题系统,可以在查看成绩模块查询成绩。
2.1运行界面
2.2代码
2.2.1随机抽题
void random_question()
{
int x,i;
int a[20];
memset(a,-1,sizeof(a));
srand((unsigned)time(NULL));
file_read();
for(i=0;i<20;i++){
x=rand()%20;
while(judge_repeat(a,x))x=rand()%20;
a[i]=x;
random[i]=arr[x];
}
}
2.2.2答案兼容
void changestr(char *s)
{
int i;
for(i=0;s[i]!='\0';i++){
if(s[i]>='A'&&s[i]<='D'||s[i]>='a'&&s[i]<='d'){
s[0]=s[i];
break;
}
}
switch (s[0])
{
case 'a':
s[0]='A';break;
case 'b':
s[0]='B';break;
case 'c':
s[0]='C';break;
case 'd':
s[0]='D';break;
}
s[1]='\0';
}
2.2.3题目不重复
int judge_repeat(int *a,int x)
{
int i;
for(i=0;i<20;i++)
if(a[i]==x)return 1;
return 0;
}
3.查看成绩模块
这个模块主要是查看成绩的功能,题目按顺序输出,每题都有正误,最后两行总结本次答题情况,一行为成绩,一行为鼓励的话.
3.1运行界面
3.2代码
void find_scores()
{
int i;
for(i=0;i<20;i++){
printf("\t\t\t第%d题\n",i+1);
printf("\t\t\t");
printf("%s",random[i].question);
printf("\t\t\t");
printf("%s",random[i].choice);
if(situation[i]==1){
printf("\t\t\t( √ )\n");
printf("\t\t\t你的答案:%s\n",in_answer[i]);
}
else if(situation[i]==0){
printf("\t\t\t( × )\n");
printf("\t\t\t你的答案:%s\n",in_answer[i]);
}
printf("\t\t\t");
printf("正确答案:%s\n\n",random[i].answer);
}
int k=scores/10;
printf("\t\t\t你的得分为:%d\n",scores);
switch(k)
{
case 0:
case 2:
case 4:
printf("\t\t\t");
printf("很遗憾!你没有及格!别气馁,下次加油哦!\n");
break;
case 6:
printf("\t\t\t");
printf("恭喜你!及格了!但还要继续努力哦!\n");
break;
case 8:
printf("\t\t\t");
printf("你取得的良好的成绩!继续向满分冲刺吧!\n");
break;
case 10:
printf("\t\t\t");
printf("你实在太优秀了!\n");
break;
}
}
4.总结与体会
从拿到题目到完成整个编程,从理论到实践,学到了很多很多的的东西,不仅巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次大作业使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说结构体……通过这次课程设计之后,一定把以前所学过的知识重新温故。
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧