设计考场的编排,生成准考证号

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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<<" 姓名 ";

相关文档
最新文档