:新生报到系统

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

目录

一、需求分析 (1)

二、设计分析 (2)

三、主要界面截图 (9)

四、技术要点 (12)

五、个人总结 (14)

六、参考文献 (15)

七、源程序 (16)

一、需求分析

根据任务书给定的“课程设计内容”和“课程设计要求”作如下的需求分析。

该系统是一个较典型的数据管理系统,其使用者被假定为某办公室的新生报到的管理人员,系统应该具有准确、稳定、功能齐全的特点。

1.准确性分析:系统管理的数据涉及到学院的所有同学,数据量较大且是一种基础性数据,能够为其它方面的学生管理工作提供重要参考,所以该程序录入的信息必须准确,该程序录入信息后,一定要查询录入是否准确,然后才能进行任何步骤,这样就确保了录入信息的准确性。

2. 稳定性分析:指系统比较健壮,只要是用户的合理操作,系统都应给出合理正确的回应,而不是出现令用户感到意外的系统错误或系统崩溃。

3. 主要功能分析:

(1)数据输入:允许用户输入学号、姓名、专业、省份、高考分数。

(2)数据保存:对于输入的数据,或被修改的数据应该保存到某个磁盘文件中,实现永久存储。文件的具体格式题目未作具体要求,所以可采用随机文件,也可采用文本文件。不管采用哪种文件形式,文件中的数据应有固定的格式,以便于程序自动读取或人工阅读。

(3)数据查询:用户输入查询条件,系统规则地在界面显示查询结果,且显示的数据尽量全面。当输入省份时,可查询到该学生的学号、姓名、高考成绩、到没到校、专业;当输入专业时,可查询到匹配的学生名单和信息。

二、设计分析

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

有功能。在这些函数当中,录入信息函数、新生报到函数,转专业函数和查询函数是程序中较为核心的部分,下面分别进行说明。

1、录入信息函数:定义一个文件型指针变量fp,用(fp=fopen("stud.dat","wb"))==NULL,若不能打开,输出(“不能打开文件”)从磁盘文件中读入新生的信息,并输入到结构体stud[i]中,再经结构体stud[i]和指针fp 传递到磁盘文件中,实现文件的录入和保存。

2、新生报到函数:确立循环次数,再令用户输入报到学生的学号,用strcmp( )函数对用户输入学生学号与读入到结构体stud[i]中成员学号进行比较,若相同,则报到成功(输出1)。

3、学生转专业函数: 学生转专业函数的功能是对学生信息进行修改,首先输入修改的学生学号,并且读取文件信息,判断学号是否相同,当学号相同时,重新输入学生信息。并且把信息保存到文件中。

4、查询统计函数:输入查询的专业或省份,用while 循环实现查询。输入i=0,i增至100,就结束循环。输

入省份或专业就可以查询出符合条件的学生。

5、主函数:输出菜单,并用switch语句定义了5个分支,实现多功能结构的选择。

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

1、程序整体流程图

图一整体结构图

2、录入学生信息流程图

图二录入学生信息流程图

3新生报到签到流程图

图三新生报到签到流程图

4转专业流程图

图四转专业流程图

5查询统计流程图

图五查询统计流程图

三、主要界面截图

图一程序主界面截图

图二录入学生信息截图

图三新生报到截图

图四转专业截图

图五按专业查询截图

图六按省份查询截图

图七退出截图

四、技术要点

1、结构体的应用

定义了结构体用来描述学生的姓名、学号、专业、省份、高考分数。具体的定义如下:

char sno[12];

char name[10];

char home[20];

char sc[20];

int bCome;

float score;

所定义的结构体主要用于定义数组。

2、文件操作

包括了文件的写入和读取两个方面。文件的写入操作,用于保存录入的学生数据,也用于保存所修改的数据。例如如下程序段用于保存录入的学生信息:

void write()

{

int i=0;

FILE *fp;

if((fp=fopen("stud.dat","wb"))==NULL)

{

printf("文件打开失败!");

exit(0);

}

while(temp[i].sno!=NULL)

{

fwrite(&temp[i],sizeof(temp),1,fp);

i++ ;

}

}

3、关于程序详细说明

(1)学生信息录入:定义一个文件型指针变量fp,从磁盘文件中读入新生的信息,并输入到结构体stud[i]中,再经结构体stud[i]和指针fp传递到磁盘文件中,实现文件的录入和保存。

(2)新生报到:程序的主要内容是根据录入的学生信息,先判断文件是否能打开,如能打开文件,然后通过输入学生学号,实现新生报到,成功报到,用fwrite储存在磁盘文件中。

(3)转专业:学生转专业函数的功能是对学生信息进行修改,首先输入修改的学生学号,并且读取文件信息,判断学号是否相同,当学号相同时,重新输入学生信息。并且把信息保存到磁盘文件中。

(4)查询:实现从系统中查询专业与省份的相关信息,其实质是对数组某个或某些元素的查询操作。对数组元素的查询,用while循环实现查询,把查询的结果显示出来,这就实现了查询功能。

(5)退出:只要输入服务类型5,按回车,然后按任意键就可以退出。

五、个人总结

一周的c语言课设结束了,我学到了很多知识,积

相关文档
最新文档