设计考场的编排,生成准考证号
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
河北工业大学计算机软件技术基础(VC)课程设计报告
学院信息工程学院班级通信C083班姓名张龙灿
学号 _087924___ 成绩 __ ____
一、题目:
设计考场的编排,生成准考证号(6)
二、设计思路
1、总体设计
1)用C++语言编程,在Visual C++环境下调试完成
2)系统总体结构:使用结构数组,各个功能分别使用函数来完成。
2、各功能模块的设计:说明各功能模块的实现方法
3、设计中的主要困难及解决方案
主要困难:根据考生的报名信息、考场数和每个考场容纳的人数,来编排考生的准考证号。已知准考证号(字符串)依次由考场号(2位)、学校代码(2位)、考生学号的前两位(2位)、座位号(2位)共8位组成,其中学校代码已给定(const int CODE = 18)。已知,每个考生的信息包括学号(int num)、姓名(char name[20])和准考证号(char testID[8])。要求编写多个函数分别实现下列功能,而后在main函数中进行调用。
录入考生的报名信息,即学号和姓名。
根据用户输入考生人数,每个考场容纳的人数,生成准考考号。例如:若某考生的学号为99764,考场号为2,座位号为5,学校代码为18,则该考生的准考证号为:”02189905”,注意当考场号和座位号小与10时,前面加0。
显示全部考生的考试信息,如输出考生的学号、姓名、准考证号、考场号和座位号。
按考场号分别显示考生信息。
解决方案:。
1)采用结构体类型存储学生信息。
2) 使用字符型数组存储准考证号,因此要将考场号、学校代码、考生学号、座位号分别转换为字符型数据进行存储。
3) 考场号和座位号的编排与总人数和每个考场的人数有关。
4、你所设计的程序最终完成的功能
1)本程序要求根据考生人数、考场个数和每个考场的人数,为考生生成准考证号,并显示生成的考生信息。
2)
三、程序清单
#include
const int CODE=18;
struct student //定义结构体变量{
char name[20];
int num;
char testID[9];
int Test;
int Place;
};
char Can(int a); //将整型转换成字符型的函数
int shu1(int a,int b); //提取学号的第一位数的函数
int shu2(int a,int b); //提取学号的第二位数的函数
void main()
{
int n,Pa,Pb,w; //定义考生人数,考场容纳人数,考场数,学号位数cout<<"请输入考生人数:";
cin>>n; // 为考生人数赋值
cout<<"请输入每个考场容纳人数:";
cin>>Pa;
Pb=n/Pa+1; //计算考场数的表达式
cout<<"请输入学号位数(所有的0都算):";
cin>>w;
//录入考生信息
student stu[1000]; //定义student类型的结构数组
for(int i=0;i { cout<<"请输入考生姓名及学号:"< cin>>stu[i].name>>stu[i].num; } //考场编排 int k=0; for( i=1;i for(int j=1;j<=Pa;j++,k++) { stu[k].Test=i; stu[k].Place=j; } for(int j=1;j<=n%Pa;j++,k++) { stu[k].Test=i; stu[k].Place=j; } for(k=0;k { stu[k].testID[0]=Can(stu[k].Test/10); stu[k].testID[1]=Can(stu[k].Test%10); stu[k].testID[2]=Can(CODE/10); stu[k].testID[3]=Can(CODE%10); stu[k].testID[4]=Can(shu1(stu[k].num,w)); //调用函数shu1 stu[k].testID[5]=Can(shu2(stu[k].num,w)); //调用函数shu2 stu[k].testID[6]=Can(stu[k].Place/10); stu[k].testID[7]=Can(stu[k].Place%10); stu[k].testID[8]='\0'; } //输出考生信息 cout<<"<—————————————————考生信息—————————————————>"< cout<<" 学号 "; cout<<" 姓名 "; cout<<" 准考证号 "; cout<<" 考场号 "; cout<<" 座位号 "< for(int m=0;m { cout<<" "< cout<<" "< cout<<" "< cout<<" "< cout<<" "< } cout<<"<————————-——————按考场输出考生信息————-——————————>"< k=0; for(i=1;i { cout<<" "< cout<<" 学号 "; cout<<" 姓名 "; cout<<" 准考证号 "; cout<<" 座位号 "< for(j=1;j<=Pa;j++,k++) { cout<<" "< cout<<" "< cout<<" "< cout<<" "< } } if(n%Pa) { cout<<" "< cout<<" 学号 "; cout<<" 姓名 ";