当前位置: 东星资源网 > 高考资料 > 准考证 > 正文

准考证怎么生成

时间:2017-05-29 来源:东星资源网 本文已影响 手机版

篇一:设计考场编排,生成准考证号

学计算机软件技术基础(VC)课程设计报告

学院 信息工程 班级 电子C082 姓名学号 成绩 __ __

一、题目:设计考场编排生成准考证号(B)

二、设计思路

1、总体设计

1)分析程序的功能

通过输入考场信息,录入考生的考号与姓名,分别进行存储,并确定考生人数根据考生人数为考生编排考场与座位号,已给定了学校代码,取学号前两位与考场号座位号,学校代码相叠加生成考生的准考证号,清晰反映考试系统。

2)系统总体结构:设计程序的组成模块,简述各模块功能。

程序由六个模块构成

模块一 学生初始信息的录入,实现信息的存储。

模块二 模块一中录入的学生考号,取前两位作为准考证的的一部分清晰显示其信息。 模块三 为学生编排座位号,并将座位号作为准考证的一部分录入。

模块四 为学生编排考场,并将考场号作为准考证的一部分录入。

模块五 学校代码转化作为准考证号的一部分。

模块六 由各模块生成的数据实现准考证号。

2、各功能模块的设计:说明各功能模块的实现方法

模块一 录入学生信息姓名与考号属于不同类型,要通过使用构造数据类型来实现不同类型的录入,录入学生信息以循环来实现反复的调用,并将学生的信息保存在结构数组之中。

模块二 取考号的前两位作为准考证的一部分,首先,考号为5位的整型数,而准考证号为字符型,将考号前两位转换成字符型,以考号对1000求整取得前两位。新生成的两位数分别对10求余求整再与0的ASCII值转化成字符型。

模块三 为学生编排座位号时,根据录入的人数与每班仅容的数设计。每班容纳人数50人,座位号将由01—50,定义一个循环来实现。使循环变量为对五十求余加一,就是座位号.

模块四 考场编排类似于模块三。

模块五 学校代码转换成字符型直接赋予其值

模块六 各模块实现数据按照题目要求进行拼接,利用循

环来实现拼接与输出各考生信息。

3、设计中的主要困难及解决方案

在这部分论述设计中遇到的主要困难及解决方案。

1)困难:各模块中都有的整型对字符型的转换与储存,这是本题

实现的关键问题。

解决方案:将整形数求整或求余后,加上对应的0的ASCII码植转换成字符型。

4、你所设计的程序最终完成的功能

1)说明你编制的程序能完成的功能

根据输入的考生信息.考生个数,并为考生编排座位,考场,与准考生号。

2)准备的测试数据及运行结果

三、程序清单

#include<iostream.h>

const int CODE=18;//学校代码

int n=4;

struct student //定义结构体

{

int ExamRoom;//考场

char testID[8];//准考证号 char name[20];//姓名 int num;//考号 int place;//座位号

}stu[4];

void inputstudent()

{

int i;

for (i=0;i<n;++i)

{

cout<<"请输入第"<<i+1<<"学生姓名";

cin>>stu[i].name;

cout<<"请输入第"<<i+1<<"学生学号";

cin>>stu[i].num;

}

}

void main ()

{

int N,j,i;

inputstudent();

if (n%50!=0)

N=n/50+1;

else N=n/50;

stu[i].testID[3]=CODE%10+'0';

for(j=1;j<=N;++j)

cout<<"学号"<<" \t姓名"<<"\t准考证号"<<endl; {stu[i].testID[0]=j/10+'0'; stu[i].testID[1]=j%10+'0'; stu[i].testID[6]=(i+1)/10+'0'; stu[i].testID[7]=(i+1)%10+'0'; stu[i].place=50; if((i+1)%50==0) stu[i].testID[4]=(stu[i].num/1000)/10+'0'; stu[i].testID[5]=(stu[i].num/1000)%10+'0'; { stu[i].testID[2]=CODE/10+'0'; else stu[i].place=(i+1)%50; } }

for(i=0;i<n;++i)

cout<<stu[i].num<<"\t"<<stu[i].name<<"\t"<<stu[i].testID[0]<<stu[i].testID[1]<<stu[i].testID[2]<<stu[i].testID[3]<<stu[i].testID[4]<<stu[i].testID[5]<<stu[i].testID[6]<<stu

[i].testID[7]<<endl;

四、对该设计题目有何更完善的方案

1、对自己完成程序进行自我评价。

程序可以实现对考生准考证号的编辑,显示考生信息。

五、收获及心得体会

1、通过本次课程设计,自己在哪些方面的能力有所提高。

学会运用结构体,其他类型与字符型之间的转换。

2、 收获和心得体会。

通过学习知道了编程需要严谨求实的作风,需要有认真的态度。反复验证求的最后结果。

日期: 2009年6 月23日

篇二:准考证制作

1. 设计套打模板,建立数据关联

图2是空白准考证样式,先用扫描仪将准考证扫描,并保持大小尺寸不变,然后将图片保存为JPG格式。打开Sheet2工作表,将刚才保存的图片插入表中,并将图片设定为非打印对象。执行“视图→工具栏→绘图”命令,在准考证需填充文本的部位插入矩形框。我们用VLOOKUP函数实现Sheet1工作表中数据与Sheet2表中准考证间的关联(照片填充部分除外)。

首先将A21单元格作为查询的关键数值,在A20—G20单元格中分别输入[序号]、[姓名]、

[级别]等字段。在B21单元格中输入公式

“=IF(VLOOKUP(A21,Sheet1!A2:I1000,2)=0,"",VLOOKUP(A21,Sheet1!A2:I1000,2))”,在C21单元格中输入公式

“=IF(VLOOKUP(A21,Sheet1!A2:I1000,6)=0,"",VLOOKUP(A21,Sheet1!A2:I1000,6))”,其他依此类推。这样就建立了准考证填充数据与Sheet1表间的关联。

下一步就是要建立数据与准考证相应矩形框的关联,以准考证中[姓名]字段为例,鼠标单击该矩形框,在编辑栏右侧输入“=”符号,然后用鼠标点击需要填入数据的B21单元格,这样矩形框就和B21单元格中的数据建立了联系。只要单元格数据变化,则矩形框数据也跟着变化,其他依此类推。这样,只要在A21单元格输入序号值,那么Sheet1表中相应序号行的数据就会在准考证模板中自动生成。上述工作完成后,按“Shift”键选中所有矩形框,设置矩形框格式,包括字体、大小、对齐、颜色和线条等,特别是选中无填充色和无线条色

2. 定义名称,导入照片

通过VLOOKUP函数虽然建立了工作表1和准考证的联系,但要在准考证中自动生成照片则需要用到比较复杂的函数,采取定义名称的办法 。具体步骤如下:

(1)定义名称:执行“插入→名称→定义”命令,打开如图3所示“定义名称”对话框,将名称定义为“A”,在“引用位置”文本框中输入公式

“=OFFSET(Sheet1!$A$1,0,0,COUNTA(Sheet1!$A:$A),1)”,按下〔确定〕按钮返回。该公式建立了查询数据的动态地址。接着用同样方法,再定义另一个名叫“X”的名称,里面包括公式“X=INDIRECT(ADDRESS(MATCH(Sheet2!$A$21,A,0),9,1,,"Sheet1"))”,该公式表示当动态地址栏为Sheet2表中A21单元格数值时,返回Sheet1表中第9列即照片所在列单元格内容。

(2) 导入图片:选取sheet2工作表,执行“视图→工具栏→控件工具箱”命令,打开“控制工具箱”窗口。点击图像框或文字框按钮,在准考证需要填充照片的位置画出相同大小的图片框或文字框。选取文字框(图像框)后,将编辑栏中

“=EMBED("Forms.TextBox.1",""”改成“=X”,如图4,这样只要A21单元格数值变化时,照片框中相应的照片就会发生变化。

3. 制作微调按钮,编写宏代码

为操作更加方便,可以制作微调按钮调节序号值。执行“视图→工具栏→窗体”,打开窗体对话框,点击微调项标志按钮,建立微调按钮,右击按钮,打开“设置控件格式”对话框,并与B19单元格建立链接,按下〔确定〕按钮。选中A21单元格,在编辑栏中输入“= B19”,此时点击微调按钮,就可自动调节B19和A21单元格序号值,对应的数据就会在模板中自动生成,效果如图5。接下来就是打印了。

执行“工具→宏→Visul Basic编辑器”命令,在Visul Basic编辑器中选择“插入→添加模块”,在代码窗口输入以下代码:

Sub 打印()

ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True

Call dy

End Sub

Sub dy()

Dim a%, b$, c$, abc$

a = Sheets("Sheet2").Cells(19, 2).Value

b = Sheets("Sheet2").Cells(19, 4).Value

(说明:a即B19单元格,是图5中打印第×页至第×页中的起始页,b即D19单元格,是终止页。)

If a < b Then

a = a + 1

Sheets("Sheet2").Cells(19, 2).Value = a

Call 打印

End If

End Sub

Private Sub CommandButton1_Click()

Call 打印

End Sub

输入完成后,保存关闭VBA编辑窗口返回工作表状态。同制作微调按钮一样,制作一个〔打印〕按钮,并指定刚才建立的“打印”宏。将A1:F13所在的单元格区域设定为打印区域,设定打印起止页,按下〔打印〕按钮即可打印了,也可点击微调按钮,查询到相应的打印内容,然后打印当前页。当然其中的图片及按钮不会打印出来。

篇三:批量制作带照片准考证全过程

批量制作带照片准考证全过程

第一步 用Photoshop批量修改图片大小

第二步 做好excel准考证数据

第三步 使用word设计准考证模板

第四步 利用Word邮件合并功能

第五步 利用WORD邮件合并功能,实现在一张纸上打印多个准考证

[摘要]批量制作带照片准考证全过程,主要有五大步: 第一步用Photoshop批量修改图片大小;第二步做好excel准考证数据;第三步、使用word设计准考证模板;第四步、利用Word邮件合并功能将Excel数据、照片合并到word模板;第五步利用WORD邮件合并功能,实现在一张纸上打印多个准考证。

第一步 用Photoshop批量修改图片大小

要点:

一、 打开Photoshop——打开“动作”面板——创建新组——创建新动作——记录。

二、打开“文件”——打开一幅图片——图像——图像大小——输入你所需要的图片大小参数——存储为JPG——点击动作面板第一个按钮(停止播放\记录)。

三、文件——自动——批处理——勾选“覆盖动作中的“打开”命令”和覆盖动作中的“存储为”命令,然后点击“确定”

第二步 做好excel准考证数据

准备一份Excel的学生信息数据。需要注意的是:在使用Excel工作簿时,必须保证数据文件是数据库格式,即第一行必须是字段名,数据行中间不能有空行等。比如第一行里面包含了编号、准考证号、考生姓名及其他相关信息的字段,要批量打印照片的话,还需要加一个照片格式和照片名

第三步 使用word设计准考证模板

根据准考证的规格,首先要把打开Word时默认的纸张改变成需要的格式。这里采取了一个近似的大小,设置窗口长宽为15×12cm。关于页面的设置都被放在Word“页面设置”选项卡中,因为这是特殊的格式,所以要选择“自定义大小”来完成。页面设置好之后,就要将模板中的各个部分输入并定位了。

第四步 利用Word邮件合并功能

将Excel数据、照片合并到word模板

步骤如下:

启动word程序——打开准考证word模板——先把光标定位在要插入域的地方——工具——信函与邮件——邮件合并——选择“信函”——单击“下一步正在启动文档“——单击“使用当前文档”——点击“下一步选取收件人”——使用现有列表单击“浏览——打开excel文档准考证数据——确定——邮件合并收件人——确定——下一步撰写信函——其它顶目——插入合并域(选择需要的标题,如姓名、考号、座号等)——插入——取消——再次其它顶目——插入合并域(选择需要的标题,如姓名、考号、座号等)——插入——取消,直到完成所需插入的项目为此。

(插入照片)先把光标定位在要插入照片的地方,单击“插入”──“域”──在“域

名”处,选择“Includepicture”—在“域属性”文件名中,为了方便起见填入任意字符,比如“1”──单击确定——单击刚才插入的“域”(不要随便改动域的大小,否则照片会随之出现大小的改变)──按下“shift”键 +“F9”键(显示域路径)──选择“1”点击“插入合并域”──插入“相片路径”──点击“合并到新文档”──按“ctrl+A” 键全选──按下“shift”键 +“F9”键(显示域路径)──按“F9”(显示照片)——单击“保存(选好保存路径及名称)”

第五步 利用WORD邮件合并功能,实现在一张纸上打(本文来自:WwW.dXf5.coM 东星 资源网:准考证怎么生成)印多个准考证

(略)

标签:准考证 生成 excel批量生成准考证 自动生成准考证