高校新生报到系统.docx

上传人:b****8 文档编号:23917246 上传时间:2023-05-22 格式:DOCX 页数:26 大小:81.59KB
下载 相关 举报
高校新生报到系统.docx_第1页
第1页 / 共26页
高校新生报到系统.docx_第2页
第2页 / 共26页
高校新生报到系统.docx_第3页
第3页 / 共26页
高校新生报到系统.docx_第4页
第4页 / 共26页
高校新生报到系统.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

高校新生报到系统.docx

《高校新生报到系统.docx》由会员分享,可在线阅读,更多相关《高校新生报到系统.docx(26页珍藏版)》请在冰豆网上搜索。

高校新生报到系统.docx

高校新生报到系统

课程设计

 

学号

班级

姓名

指导教师

2008年3月7日

 

课程设计任务书

一、课程设计题目:

高校新生报到系统

二、课程设计工作自2008年3月3日起至2008年3月7日止

三、课程设计内容:

用C语言编写软件完成以下任务:

①数据信息(新生学号,姓名,来自省份,被录取系别及专业,高考分数,应交学费,宿舍号,等)保存在fresh.dat文件中

②新生报到

③查询未报到的学生

④学生可以转专业

⑤按学号显示学生信息

四、课程设计要求:

程序质量:

1.贯彻结构化程序设计思想。

2.用户界面友好,功能明确,操作方便;可以加以其它功能或修饰。

3.用户界面中的菜单至少应包括“录入数据信息”、“新生报到”、“查询未报到的学生”、“专业调整”、“显示学生信息”、“退出”6项。

4.代码应适当缩进,并给出必要的注释,以增强程序的可读性。

课程设计说明书:

课程结束后,上交课程设计说明书(打印稿和电子稿),其内容如下:

●封面

●课程设计任务书

●目录

●需求分析(分析题目的要求)

●程序流程图(总体流程图和主要功能模块流程图)

●核心技术的实现说明及相应程序段

●个人总结

●参考资料

●源程序及适当的注释

指导教师:

________学生签名:

________

 

目录

一、需求分析2

二、程序流程图3

三、核心技术的实现说明及相应程序段6

四、个人总结15

五、参考文献15

六、源程序16

 

一、需求分析

经过对程序设计题目的分析可知,整个程序的设计实现大致分为五个模块,其中每一个模块对应一个函数,他们的功能分别是:

录入数据信息函数(input),新生报到函数(xsbd),查询未报到的学生函数(chaxun_not),转专业函数(zhuan),按学号显示学生信息函数(chaxun_student_number)。

1录入数据信息函数:

主要实现程序最初运行时新生数据信息的录入。

2新生报道函数:

报道新生,录入新生数据信息。

3查询未报到的学生函数:

在文件中读取学生信息,把没有报到的学生输出。

4学生转专业函数:

对报道的学生信息数据进行修改,输入学生学号和学生的新专业。

5按学号显示学生信息函数:

实现的是按学号显示学生记录信息。

除上面介绍的功能之外,程序还具有退出功能,可以在程序的一次运行当中循环执行所有的功能,并根据需要终止程序的执行。

每一个学生记录信息都包含新生学号,姓名,来自省份,被录取系别及专业,高考分数,应交学费,宿舍号,等内容。

二、程序流程图

1主函数流程图

 

2录入函数流程图

 

3查询学生信息函数

 

三、核心技术的实现说明及相应程序段

本程序主要由五个自定义函数和一个主函数组成,其中主函数以菜单的形式调用其他函数来实现要求的所有功能。

在这些函数当中,录入数据信息函数,新生报到函数,查询未报到的学生函数,转专业函数,按学号显示学生信息函数是程序中较为核心的部分,下面分别进行说明。

#include"stdlib.h"

#include"stdio.h"

#include"string.h"

//定义结构体

structstudent

{

charxuehao[50];

charxingming[50];

charshengfen[50];

charxibie[50];

charzhuanye[50];

intgaokao;

intxuefei;

charsushe[50];

intbaodao;

};

1录入数据信息函数

输入学生信息函数,函数的功能是输入学生信息并且把学生信息存入文件中。

先用fopen语句以只写的方式打开文件,输入一名学生的学号、姓名等基本信息并且把学生信息写入到文件中。

关闭文件,退出

voidinput()

{

//定义文件类型指针

FILE*fp;

inti,j,test=1;

structstudentss;

//新建文件studnet.txt

if((fp=fopen("d:

\\student.txt","w+"))==NULL)

{

printf("\n文件不能代开");

return;

}

while(test==1)

{

printf("\n请输入学生学号:

");

scanf("%s",ss.xuehao);

fprintf(fp,"%s\t",ss.xuehao);

printf("\n请输入学生姓名:

");

scanf("%s",ss.xingming);

fprintf(fp,"%s\t",ss.xingming);

printf("\n请输入学生省份:

");

scanf("%s",ss.shengfen);

fprintf(fp,"%s\t",ss.shengfen);

printf("\n请输入学生系别:

");

scanf("%s",ss.xibie);

fprintf(fp,"%s\t",ss.xibie);

printf("\n请输入学生专业:

");

scanf("%s",ss.zhuanye);

fprintf(fp,"%s\t",ss.zhuanye);

printf("\n请输入学生高考分数:

");

scanf("%d",&ss.gaokao);

fprintf(fp,"%d\t",ss.gaokao);

printf("\n请输入学生学费:

");

scanf("%d",&ss.xuefei);

fprintf(fp,"%d\t",ss.xuefei);

printf("\n请输入学生宿舍:

");

scanf("%s",ss.sushe);

fprintf(fp,"%s\t",ss.sushe);

ss.baodao=1;

fprintf(fp,"%d\n",ss.baodao);

printf("\n继续录入学生信息请输入1,退出请输入其它数字");

scanf("%d",&test);

}

//关闭文件

fclose(fp);

}

2新生报道函数

新生报到函数,以读写的方式打开文件student.txt,输入报到学生的学号,在文件student.txt中读取学生信息并且把学生信息与输入的学生学号进行判断,如果两个学号相同,则学生报到信息修改为1。

关闭文件。

voidxsbd()

{

FILE*fp;

inti,j,sum,baodao;

charnumber[10];

structstudentss[20];

//打开文件student.txt

if((fp=fopen("d:

\\student.txt","r+"))==NULL)

{

printf("\n不能打开文件");

return;

}

 

printf("\n请输入报到学生学号:

");

scanf("%s",number);

 

i=0;

baodao=0;

//判断文件是否结束

while(!

feof(fp))

{

//在wenjianzhong读取学生信息到结构体中

fscanf(fp,"%s\t%s\t%s\t%s\t%s\t%d\t%d\t%s\t%d\n",ss[i].xuehao,ss[i].xingming,ss[i].shengfen,ss[i].xibie,ss[i].zhuanye,&ss[i].gaokao,&ss[i].xuefei,ss[i].sushe,&ss[i].baodao);

if(strcmp(ss[i].xuehao,number)==0)

{

baodao++;

ss[i].baodao=2;

}

i++;

}

sum=i;

fclose(fp);

/*建立文件studnet.txt*/

fp=fopen("d:

\\student.txt","w+");

/*向文件中写入学生信息*/

for(i=0;i

{

fprintf(fp,"%s\t%s\t%s\t%s\t%s\t%d\t%d\t%s\t%d\n",ss[i].xuehao,ss[i].xingming,ss[i].shengfen,ss[i].xibie,ss[i].zhuanye,ss[i].gaokao,ss[i].xuefei,ss[i].sushe,ss[i].baodao);

}

/*关闭文件*/

fclose(fp);

}

3查询未报到的学生函数

查询没有报到的学生信息。

打开文件student.txt,并且逐行读取学生信息,判断学生是否报到,没有报到输出学生信息。

之后判断文件是否结束,当文件结束时,关闭文件退出。

否则继续读取下一个学生信息并且继续进行判断,直到文件结束为止。

voidchaxun_not()

{

FILE*fp;

inti,j,sum,baodao;

charnumber[10];

structstudentss[20];

if((fp=fopen("d:

\\student.txt","r+"))==NULL)

{

printf("\n不能打开文件");

return;

}

i=0;

baodao=0;

while(!

feof(fp))

{

fscanf(fp,"%s\t%s\t%s\t%s\t%s\t%d\t%d\t%s\t%d\n",ss[i].xuehao,ss[i].xingming,ss[i].shengfen,ss[i].xibie,ss[i].zhuanye,&ss[i].gaokao,&ss[i].xuefei,ss[i].sushe,&ss[i].baodao);

if(ss[i].baodao==1)

{

baodao++;

printf("%s\t%s\t%s\t%s\t%s\t%d\t%d\t%s\t%d\n",ss[i].xuehao,ss[i].xingming,ss[i].shengfen,ss[i].xibie,ss[i].zhuanye,ss[i].gaokao,ss[i].xuefei,ss[i].sushe,ss[i].baodao);

}

i++;

}

if(baodao==0)

{

printf("\n学生已经全部报道");

}

fclose(fp);

}

4按学号显示学生信息函数

voidchaxun_student_number()

{

FILE*fp;

inti,j,sum,baodao;

charnumber[10];

structstudentss[20];

if((fp=fopen("d:

\\student.txt","r+"))==NULL)

{

printf("\n不能打开文件");

return;

}

i=0;

while(!

feof(fp))

{

fscanf(fp,"%s\t%s\t%s\t%s\t%s\t%d\t%d\t%s\t%d\n",ss[i].xuehao,ss[i].xingming,ss[i].shengfen,ss[i].xibie,ss[i].zhuanye,&ss[i].gaokao,&ss[i].xuefei,ss[i].sushe,&ss[i].baodao);

printf("%s\t%s\t%s\t%s\t%s\t%d\t%d\t%s\t%d\n",ss[i].xuehao,ss[i].xingming,ss[i].shengfen,ss[i].xibie,ss[i].zhuanye,ss[i].gaokao,ss[i].xuefei,ss[i].sushe,ss[i].baodao);

i++;

}

fclose(fp);

}

 

5学生转专业函数

voidzhuan()

{

FILE*fp;

inti,j,sum,baodao;

charnumber[10];

structstudentss[20];

printf("\n请输入学生学号:

");

scanf("%s",number);

if((fp=fopen("d:

\\student.txt","r+"))==NULL)

{

printf("\n不能打开文件");

return;

}

i=0;

baodao=0;

while(!

feof(fp))

{

fscanf(fp,"%s\t%s\t%s\t%s\t%s\t%d\t%d\t%s\t%d\n",ss[i].xuehao,ss[i].xingming,ss[i].shengfen,ss[i].xibie,ss[i].zhuanye,&ss[i].gaokao,&ss[i].xuefei,ss[i].sushe,&ss[i].baodao);

if(strcmp(ss[i].xuehao,number)==0)

{

printf("\n请输入学生新专业:

");

scanf("%s",ss[i].zhuanye);

baodao++;

}

i++;

}

sum=i;

if(baodao==0)

{

printf("\n文件中没有这个学生");

}

fclose(fp);

fp=fopen("d:

\\student.txt","w+");

for(i=0;i

{

fprintf(fp,"%s\t%s\t%s\t%s\t%s\t%d\t%d\t%s\t%d\n",ss[i].xuehao,ss[i].xingming,ss[i].shengfen,ss[i].xibie,ss[i].zhuanye,ss[i].gaokao,ss[i].xuefei,ss[i].sushe,ss[i].baodao);

}

fclose(fp);

}

主函数

voidmain()

{

inti;

while

(1)

{

printf("\n********************************高校新生报道系统********************************");

printf("\n********************************************************************************");

printf("\n***************************欢迎来到沈阳航空工业大学!

***************************");

printf("\n********************************************************************************");

printf("\n1---------数据信息录入");

printf("\n2-------------新生报到");

printf("\n3-----查询未报到的学生");

printf("\n4-----------学生转专业");

printf("\n5---按学号显示学生信息");

printf("\n6-------------退出系统");

printf("\n输入选择:

");

scanf("%d",&i);

/*多分枝选择结构*/

switch(i)

{

case1:

input();break;

case2:

xsbd();break;

case3:

chaxun_not();break;

case4:

zhuan();break;

case5:

chaxun_student_number();break;

case6:

exit(0);break;

default:

printf("\n输入错误,请重新输入");

}

}

}

 

四、个人总结

通过这次课设让我对计算机有了更深及更多的了解,一丝不苟的学习习惯是做好一件事的关键所在。

这次课设中我有许多东西不懂,在我不知道所措的时候我更多的选择的不是自己去想,而是去问老师同学,这样不但使他们让我明白了,我所不懂的,而且也让我了解了,老师同学之间的通力合作是多么重要。

也许以后的工作中真少不了同事与朋友之间的合作吧,这次课设也许就是一个开始。

五、参考文献

1谭浩强.C程序设计.北京:

清华大学出版社,2005

2刘成等.C语言程序设计实验指导与习题集.北京:

中国铁道出版社,2006

 

六、源程序

#include"stdlib.h"

#include"stdio.h"

#include"string.h"

/*定义结构体*/

structstudent

{

charxuehao[50];

charxingming[50];

charshengfen[50];

charxibie[50];

charzhuanye[50];

intgaokao;

intxuefei;

charsushe[50];

intbaodao;

};

voidinput()

{

inti,j,test=1;

structstudentss;

/*新建文件studnet.txt*/

FILE*fp;

if((fp=fopen("d:

\\student.txt","w+"))==NULL)

{

printf("\n文件不能代开");

return;

}

while(test==1)

{

printf("\n请输入学生学号:

");

scanf("%s",ss.xuehao);

fprintf(fp,"%s\t",ss.xuehao);

printf("\n请输入学生姓名:

");

scanf("%s",ss.xingming);

fprintf(fp,"%s\t",ss.xingming);

printf("\n请输入学生省份:

");

scanf("%s",ss.shengfen);

fprintf(fp,"%s\t",ss.shengfen);

printf("\n请输入学生系别:

");

scanf("%s",ss.xibie);

fprintf(fp,"%s\t",ss.xibie);

printf("\n请输入学生专业:

");

scanf("%s",ss.zhuanye);

fprintf(fp,"%s\t",ss.zhuanye);

printf("\n请输入学生高考分数:

");

scanf("%d",&ss.gaokao);

fprintf(fp,"%d\t",ss.gaokao);

printf("\n请输入学生学费:

");

scanf("%d",&ss.xuefei);

fprintf(fp,"%d\t",ss.xuefei);

printf("\n请输入学生宿舍:

");

scanf("%s",ss.sushe);

fprintf(fp,"%s\t",ss.sushe);

ss.baodao=1;

fprintf(fp,"%d\n",ss.baodao);

printf("\n继续录入学生信息请输入1,退出请输入其它数字");

scanf("%d",&test);

}

fclose(fp);

}

/*新生报到函数*/

voidxsbd()

{

FILE*fp;

inti,j,sum,baodao;

charnumber[10];

structstudentss[20];

/*打开文件student.txt*/

if((fp=fopen("d:

\\student.txt","r+"))==NULL)

{

printf("\n不能打开文件");

return;

}

printf("\n请输入报到学生学号:

");

scanf("%s",number);

i=0;

baodao=0;

/*判断文件是否结束*/

while(!

feof(fp))

{

/*在文件中读取学生信息到结构体中*/

fscanf(fp,"%s\t%s\t%s\t%s\t%s\t%d\t%d\t%s\t%d\n",ss[i].xuehao,ss[i].xingming,ss[i].shengfen,ss[i].xibie,ss[i].zhuanye,&ss[i].gaokao,&ss[i].xuefei,ss[i].sushe,&ss[i].baodao);

if(strcmp(ss[i].xuehao,number)==0)

{

baodao++;

ss[i].baodao=2;

}

i++;

}

sum=i;

fclose(fp);

/*建立文件studnet.txt*/

fp=fopen("d:

\\student.txt","w+");

/*向文件中写入学生信息*/

for(i=0;i

{

fprintf(fp,"%s\t%s\t%s\t%s\t%s\t%d\t%d\t%s\t%d\n",ss[i].xuehao,ss[i].xingming,ss[i].shengfen,ss[i].xibie,ss[i].zhuanye,ss[i].gaokao,ss[i].xuefei,ss[i].sushe,ss[i].baodao);

}

fclose(fp);

}

voidchaxun_not()

{

FILE*fp;

inti,j,sum,baodao;

charnumber[10];

structstudentss[20];

if((fp=fopen("d:

\\student.txt","r+"))==NULL)

{

printf("\n不能打开文件");

return;

}

i=0;

baodao=0;

while(!

feof(fp))

{

fscanf(fp,"%s\t%s\t%s\t%s\t%s\t%d\t%d\t%s\t%d\n",ss[i].xuehao,ss[i].xingming,ss[i].shengfen,ss[i].xibie,ss[i].zhuanye,&ss[i].gaokao,&ss[i].xuefei,ss[i].sushe,&ss[i].baodao);

if(ss[i].baodao==1)

{

baodao++;

printf("%s\t%s\t%s\t%s\t%s\t%d\t%d\t%s\t%d\n

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

当前位置:首页 > 医药卫生 > 基础医学

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

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