交规考试系统实训报告Word文档格式.docx

上传人:b****5 文档编号:18975032 上传时间:2023-01-02 格式:DOCX 页数:29 大小:298.65KB
下载 相关 举报
交规考试系统实训报告Word文档格式.docx_第1页
第1页 / 共29页
交规考试系统实训报告Word文档格式.docx_第2页
第2页 / 共29页
交规考试系统实训报告Word文档格式.docx_第3页
第3页 / 共29页
交规考试系统实训报告Word文档格式.docx_第4页
第4页 / 共29页
交规考试系统实训报告Word文档格式.docx_第5页
第5页 / 共29页
点击查看更多>>
下载资源
资源描述

交规考试系统实训报告Word文档格式.docx

《交规考试系统实训报告Word文档格式.docx》由会员分享,可在线阅读,更多相关《交规考试系统实训报告Word文档格式.docx(29页珍藏版)》请在冰豆网上搜索。

交规考试系统实训报告Word文档格式.docx

”,并将考生信息存入文件file2.dat中。

选择2,显示所有考生信息。

选择3,打印考试合格通知单,当成绩大于等于90分时,才可以打印。

选择0,退出系统。

本子菜单循环显示。

主菜单中选择2:

确认考生身份,当考生身份证号在file2.dat文件中存在时,进入如图所示的考生考试子系统并开始考试。

在其中选择1,系统随机产生题号并从题库中将题目调出,显示在屏幕上。

考生开始答题,选择2,显示做题结果。

显示该考生所做的题号、题目、考生答案和、A、B、C、D选项内容。

选择3,修改答案。

修改用户选择的题目答案。

选择0,询问“确认是否交卷?

”若选择“Y”,则将该考生信息和成绩存放在文件file3.dat中,并显示本人分数后退出系统。

选择“N”,等待继续答题。

主菜单中选择3:

创新功能,考生查询成绩。

主菜单中选择0:

显示结束信息,按任意键后,退出系统。

|----------------------------|

|请输入选项编号(0~3)|

|1---开始答题|

|2---显示答题情况|

|3---修改答案|

|4---返回主菜单|

|0--退出系统|

考生考试子系统

|--------------------------------|

|请输入选项编号(0~3)|

|1---报名考试|

|2---显示全部考生信息|

|3---打印考试合格通知单|

|4---返回主菜单|

|0--退出系统|

管理人员子系统

|1--管理人员子系统|

|2--考生考试子系统|

|3--创新功能|

考试系统主菜单

3.任务分工

孙士杰:

制作:

主函数创新功能程序及流程图和报告。

张宝林:

考生考试子系统的流程图和程序。

曾明磊:

管理人员子系统流程图和程序。

实训报告全部内容。

第2部分《交规考试系统》的设计与功能实现

1.总体设计

主函数(main)

1)考试系统主菜单

1、管理人员(manager)

2、考生考试(mystu)

3、创新(mycreate)

2)管理人员子系统

1、报名考试(mysign)

2、考生信息(myinformation)

3、合格通知单(mytongzhi)

4、返回主菜单(myprint)

3)考生子系统

0、交卷(myfinish)

1、答题(myanswer)

2、答题情况(mysituation)

3、修改答案(mycorrect)

4、返回主菜单(myprint)

2数据结构

tructstu

{

intage,score;

charname[20],sex[20],num[20];

intt[5];

charstuanw[6];

}b[100];

structsel

intnum;

charseltitle[100],sela[50],selb[50],selc[50],seld[50];

charselanw;

}s[100]intn,xp=0;

3.算法设计

采用模块化的思想,按照“自顶向下,逐步细化”的原则设计算法。

   模块图:

流程图:

mysort_sell函数模块的流程图

mysort_profit函数模块的流程图

管理人员

报名

显示考生信息

打印合格通知单

考生子系统

4.程序代码设计

(1)编写主函数。

一般情况下,都是在主函数中调用其他功能函数。

为了能够测试主函数,可在调用函数的位置处先用空函数占位。

每编写好一个相应的调用语句取代对应的空函数,此次处略。

主函数代码如下:

main()

charchoose='

\0'

yes_no='

;

inti;

FILE*fp;

n=0;

fp=fopen("

e:

\\file2.dat.txt"

"

r"

i=0;

while(feof(fp)==0)

{

fscanf(fp,"

%s%s%d"

b[i].num,b[i].name,&

b[i].age);

i++;

}

n=i;

do

{myprint();

"

scanf("

%c"

&

choose);

switch(choose)

{

case'

1'

:

manager();

break;

2'

mystu();

/*myprint2()*/break;

//case'

3'

mycreate();

0'

exit(0);

default:

\n%c为非法选项!

\n"

choose);

}

\n要继续选择吗(Y/N)?

{yes_no=getche();

}while(yes_no!

='

Y'

&

yes_no!

y'

N'

n'

}while(yes_no=='

||yes_no=='

}

(2)编写显示菜单的myprint()函数

编写显示菜单的mprint函数,并编译、连接、运行程序。

此函数不需要传递参数,也不需要再定义任何变量。

函数代码如下:

voidmyprint()

{system("

cls"

|-------------------|\n"

|请输入选项编号(0~3)|\n"

|1--管理人员子系统|\n"

|2--考生考试子系统|\n"

|3--创新功能|\n"

|0--退出系统|\n"

输入选项编号:

"

}完整程序请详见附录一

5.测试与调试

测试数据类型

测试数据

预期结果

测试结果

合法数据

管理人员子系统选1

报名成功

选2

身份证、姓名、性别、年龄

选3

选0

退出系统

考生考试子系统选1

答题

显示答题情况

修改答案

交卷

主菜单选3

进入创新功能

进入创新能

主菜单选0

第3部分课程设计总结

1.个人总结

经过这两周的学习,我收获了很多,也有很多感想。

这次实训巩固了这学期学过的C语言的相关知识,改正了学习中常常出现的一些错误,使我对C语言的学习更加深入、透彻。

我也发现了自身在学习中的一些不足,例如:

多细节知识不够重视,掌握不牢,以致在编程中常常出现一些不应犯的错误。

在这里我首先要感谢的是我们的指导老师,在她的指导下我才认识到自己的错误所在,并及时更正。

同时她也给我讲到了许多常见的编程问题和常出现的错误,对我接下来的编程帮助很大,也使我在以后编程的时候,更加小心谨慎。

同时也要感谢我们对的队友,在他们的帮助下我们顺利的完胜了任务。

虽然我们在编程的时候遇到了很多问题,但是我们还是解决了,真的很高兴和他们一起合作。

这次实训增强了我的团队合作能力,给我很大帮助,我会在以后的学习和工作中,把这次学到到知识运用到其中,这次实训也增强了我对C语言的兴趣,我会倍加努力学好C语言。

我在本次程序设计中认识到团队合作的重要性,以及对细节问题的关注。

但在完成的过程中,因为马虎,在编写代码时有错,出现运行结果不符合要求,但不能马上发现错误,我负责编辑部分,因为考虑不周到,还需要在此进行添加。

在以后的学习中,我会更加认真、谨慎。

我经过这两周的学习实践,对C语言的认识更加深入,也对C语言这门课程越来越有兴趣了,虽然在编程过程中仍有着许多的问题,但我基本上都逐一的解决了。

我以后还会尽量多多学习有关C语言的相关知识,使自己能更加娴熟的掌握这门课程。

2.结束语

经过两周小组成员的不懈努力,我们顺利地完成了这项工作。

在此,我们应由衷感谢C语言李红豫老师对我们的大力帮助,使我们的工作能顺利地完成,我们会牢记老师的教导,更加努力学习。

附录一程序清单

#include<

stdio.h>

string.h>

conio.h>

stdlib.h>

#include<

time.h>

ctype.h>

structstu

charstuanw[6];

}s[100];

intn;

intxp=0;

voidmyprint();

voidmyprint1();

voidmyprint2(intk);

voidmanager();

voidmysign();

voidmyinformation();

voidmytongzhi();

voidmystu();

voidmyage();

voidmyanswer(intk);

voidmysituation(intk);

voidmycorrect(intk);

voidmyfinish(intk);

voidmanager()

{

inti=0;

charpsword[10];

inputpassword:

for(i=0;

i<

6;

i++)

{

psword[i]=getch();

printf("

*"

psword[i]='

if(strcmp(psword,"

111111"

)==0)

\t\nPasswordisright,pleaseentry.\n"

//getch();

myprint1();

else

\t\nPasswordiswrong,pleaseexit.\n"

//structmyst

//{charname[20];

charsex[20];

charnum[20];

charage[10];

charscore[10]};

voidmyprint1()

{system("

|1---报名考试|\n"

|2---显示全部考生信息|\n"

|3---打印考试合格通知单|\n"

|4---返回主菜单|\n"

|0---退出系统|\n"

choose=getch();

mysign();

myinformation();

mytongzhi();

4'

myprint();

voidmysign()

FILE*fp=NULL;

system("

a"

if(fp==NULL)

Not"

exit(0);

while

(1)

身份证号姓名年龄\n"

scanf("

b[n].num,b[n].name,&

b[n].age);

if(strcmp(b[n].num,"

#"

break;

if(b[n].age>

=18&

b[n].age<

=70)

{printf("

报名成功"

fprintf(fp,"

%20s%20s%5d"

b[n].num,b[n].name,b[n].age);

n++;

else

printf("

报名失败"

fclose(fp);

}

voidmyinformation()

FILE*fp=NULL;

/*while(feof(fp)==0)

{fscanf(fp,"

%20s%20s%d%c"

b[i].age,&

b[i].sex);

%20s%20s%5s%5s"

b[i].num,b[i].name,b[i].age,b[i].sex);

i++;

if(i==0)printf("

\n文件中无记录"

elseprintf("

\n文件中共有%d个记录!

n);

*/

n;

%s%s%d\n"

b[i].num,b[i].name,b[i].age);

voidmytongzhi()

{//intn=0;

身份证号姓名年龄成绩\n"

if(b[i].score>

=90)

%s%s%d%d\n"

b[i].num,b[i].name,b[i].age,b[i].score);

/*{

while(feof(fp)==0)

{fscanf(fp,"

if(b[i].score>

printf("

i++;

}

*/

voidmystu()

{

charid[20];

输入你的身份证号:

%s"

id);

{if(strcmp(id,b[i].num)==0)

myprint2(i);

voidmyprint2(intk)

//intk;

charyes_no,choose;

\n\n"

输入选项编号:

if(xp==0)

{

myanswer(k);

xp++;

}

else

printf("

您已答过,请自觉!

break;

mysituation(k);

mycorrect(k);

myfinish(k);

yes_

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 哲学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1