题目:设计考场的编排,生成准考证号
来源:互联网 发布:宏铭睿网络 编辑:程序博客网 时间:2024/04/28 23:25
一、题目:设计考场的编排,生成准考证号
二、目的与要求
1. 目的
培养学生综合利用C++语言进行程序设计的能力,加强函数的运用及学生对软件工程方法的初步认识,提高软件系统分析能力和程序文档建立、归纳总结的能力,培养学生利用系统提供的标准函数及典型算法进行设计。
2. 基本要求
(1) 用C++语言编程,在Visual C++环境下调试完成;
(2) 使用结构数组,各个功能分别使用函数来完成。
三、设计方法和基本原理
1.课题功能描述
本程序要求根据考生人数、考场个数和每个考场的人数,为考生生成准考证号,并显示生成的考生信息。
2.问题详细描述
根据考生的报名信息、考场数和每个考场容纳的人数,来编排考生的准考证号。已知准考证号(字符串)依次由由考场号(2位)、学校代码(2位)、考生学号的前两位(2位)、座位号(2位)共8位组成,其中学校代码已给定(const int CODE = 18)。已知,每个考生的信息包括学号(int num)、姓名(char name[20])和准考证号(char testID[8])。要求编写多个函数分别实现下列功能,而后在main函数中进行调用。
(1) 录入考生的报名信息,即学号和姓名。
(2) 根据用户输入考生人数,每个考场容纳的人数,生成准考考号。例如:若某考生的学号为99764,考场号为2,座位号为5,学校代码为18,则该考生的准考证号为:”02189905”,注意当考场号和座位号小与10时,前面加0。
(3) 显示全部考生的考试信息,如输出考生的学号、姓名、准考证号、考场号和座位号。
(4) 按考场号分别显示考生信息。
3. 问题的解决方案
(1) 采用结构体类型存储学生信息。
(2) 使用字符型数组存储准考证号,因此要将考场号、学校代码、考生学号、座位号分别转换为字符型数据进行存储。
(3) 考场号和座位号的编排与总人数和每个考场的人数有关。
四、主要技术问题的描述
分别编写函数实现编排考场号、学校代码转换、取学号前两位、编排座位号、显示信息,形参为结构数组,在上述函数中分别将转换的结果分别存放到testID成员(准考证号,字符数组)中相应的数组元素中。
五、创新要求
在基本要求达到后,进行创新设计:
(1)使用多文件,即主函数和各个函数分别存放在不同的.cpp文件中,在头文件中进行函数原型声明。
(2)对程序功能进行拓展,使其更加实用。例如,按照随机数编排座位号等
////////////////////////////////////////////////
//楼主真的应该感谢我了,呵呵.
//共有3个文件,只要新建工程,包含他们,就行了。
//Student.h 各种函数的定义文件。
//Student.cpp 上面函数的实现文件
//main.cpp 主函数,用来测试的
////////////////////////////////////////////////
//Student.h
//Student.cpp
//main.cpp
照例贴出程序结果:
报名人数:5
每个考场能容纳:3
输入第1位考生学号(必须为5位数字):20091
输入第1位考生姓名(只限字母):caojie1
输入第2位考生学号(必须为5位数字):20092
输入第2位考生姓名(只限字母):caojie2
输入第3位考生学号(必须为5位数字):20093
输入第3位考生姓名(只限字母):caojie3
输入第4位考生学号(必须为5位数字):20094
输入第4位考生姓名(只限字母):caojie4
输入第5位考生学号(必须为5位数字):20095
输入第5位考生姓名(只限字母):caojie5
*********************操作************************
查询全部学生信息,输入:1
按考场号显示考生信息,输入:2
按学号显示考生信息,输入:3
按姓名显示考生信息,输入:4
退出,输入:0
*************************************************
1
学号:20091姓名: caojie1 准考证号:01182000 考场号:01座位号:00
学号:20092姓名: caojie2 准考证号:01182001 考场号:01座位号:01
学号:20093姓名: caojie3 准考证号:01182002 考场号:01座位号:02
学号:20094姓名: caojie4 准考证号:02182000 考场号:02座位号:00
学号:20095姓名: caojie5 准考证号:02182001 考场号:02座位号:01
请按任意键继续. . .
*********************操作************************
查询全部学生信息,输入:1
按考场号显示考生信息,输入:2
按学号显示考生信息,输入:3
按姓名显示考生信息,输入:4
退出,输入:0
*************************************************
2
输入考场号(考场号 <= 2):2
2号考场有:
学号:20094姓名: caojie4 准考证号:02182000 考场号:02座位号:00
学号:20095姓名: caojie5 准考证号:02182001 考场号:02座位号:01
请按任意键继续. . .
*********************操作************************
查询全部学生信息,输入:1
按考场号显示考生信息,输入:2
按学号显示考生信息,输入:3
按姓名显示考生信息,输入:4
退出,输入:0
*************************************************
3
输入学生学号(必须为5位数字):20091
学号:20091姓名: caojie1 准考证号:01182000 考场号:01座位号:00
请按任意键继续. . .
*********************操作************************
查询全部学生信息,输入:1
按考场号显示考生信息,输入:2
按学号显示考生信息,输入:3
按姓名显示考生信息,输入:4
退出,输入:0
*************************************************
3
输入学生学号(必须为5位数字):20096
查无此人!请按任意键继续. . .
*********************操作************************
查询全部学生信息,输入:1
按考场号显示考生信息,输入:2
按学号显示考生信息,输入:3
按姓名显示考生信息,输入:4
退出,输入:0
*************************************************
4
输入学生姓名:caojie2
学号:20092姓名: caojie2 准考证号:01182001 考场号:01座位号:01
请按任意键继续. . .
*********************操作************************
查询全部学生信息,输入:1
按考场号显示考生信息,输入:2
按学号显示考生信息,输入:3
按姓名显示考生信息,输入:4
退出,输入:0
*************************************************
0
Process returned 0 (0x0) execution time : 114.140 s
Press any key to continue.
补充:
1.
由于把各个函数的定义和实现分开了,考虑到参数的传递问题,所以把“考场能容纳的人数”定义成了常量,不能由用户输入,类似的还有“
报名人数”,在main中,有下面的定义,
extern const int FULL_NUMBER = 3;//假设每个考场能容纳的人数
extern const int STUDEN_COUNT = 5; //假定报名的人数
测试的时候,手动改正就好!
2.
程序还有很多可以优化的地方,限于时间或是本人水平有限,没能给出。
比如可以从文件中,读取结构体,这样学生人数多的时候,不至于疲于输入!
再比如,程序的健壮性上,对于数据合法输入的检查问题上,明显是不够的。表现就是,由于用户的不合理输入,导致程序的崩溃。
3.
本人冒天下之大不韪,帮楼主做作业,望楼主以后三四而后行!
努力学习是正道!
4.
本人QQ:。。。
Email:。。。
我们可以一起探讨问题,请多指教
愿所有C++爱好者,永远健康幸福!
有任何问题,欢迎留言,定会及时解答。
- 题目:设计考场的编排,生成准考证号
- 考生号考场号座位号的编排方法
- C#实现批量生成条形码 ——主要用于准考证号的条形码生成
- 世界最遥远的距离不是生与死,是我拿着准考证在考场的外面,而你却在考场答题
- 无准考证号的四六级查询
- 生成流水号报名号和准考证号
- 关于考试报名系统,随机取准考证号的问题
- 大三考场上的打油诗
- 页面路径的编排
- css的图文编排
- 天勤OJ 题目1449: 编排字符串
- [NOIP模拟][数位DP]准考证号
- 教你如何把控版式第三季 (图的编排、设计)
- 关于文本框的图文编排
- 服务的编制与编排
- LaTeX图片的位置编排
- 公民身份证号码的编排规则
- 分布式任务编排调度框架设计
- “龙芯”专利事件真相之我见
- GAS汇编指令
- 离开还是继续?我需要给自己一个答复!
- 数值转换为Excel列标的算法
- 企业为什么要用ERP软件
- 题目:设计考场的编排,生成准考证号
- 理解SOA概念的三个比喻
- 纯C编写的读写widnows的INI格式文件的模块
- Struts2的异常机制
- asp.net中的后台按钮如何先执行前台验证再执行后台代码
- 生产过程精确控制系统
- 大规模数据处理漫谈【4】(流水线)
- 将文件读取为NSData
- js如何向select选项中插入新值