学生宿舍管理系统c语言实习报告

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

西安邮电大学

C语言课程设计报告题目:学生宿舍管理系统

院系名称:计算机学院

专业名称:软件工程

班级:1205班

学生姓名:邵欢

学号(8位):04123157

指导教师:王小银

一.设计目的

1. 掌握结构体的定义和使用。

2.理解链表工作原理,熟悉基本操作。

3.熟悉C语言中文件操作。

4.掌握文件的定义方法及文件指针的概念,掌握文件打开、关闭、读、写文件基本操作函数。

5掌握C语言数据类型,如何定义一个整型、字符型和实型的变量,以及

它们赋值的方法。

6.握函数的调用及嵌套,顺序结构、选择分支结构、循环结构及其嵌套的应用、结构体、指针以及综合应用,会使用文件的一些函数。

7.会独自分析问题解决问题,提高解决问题的能力。

8.提高分析问题和解决问题的能力,提高程序设计水平

二. 设计内容

1.运用结构体及链表等编辑一个简单的学生宿舍基本信息管理系统,使之能够完成学生基本信息的输入、保存、读取、查找、插入、删除、修改、排序、统计、输出、退出。2.利用密码对系统信息进行管理。

2.执行编译操作,并根据提示调试此程序,排除所有的错误和警告,直到编译成功为止。3.执行运行操作,逐一对每个模块进行调试,直到全部程序运行成功为止。

4.接受老师的检查并回答老师所提出的问题,知道令老师点头为止。

5.根据自己的源程序及运行情况截取相应的图片,完成实验报告。

三.概要设计

1.功能模块图

2.各个模块详细的功能描述。

登陆界面:需将在文件中设置好的密码与输入的密码进行比较,正确即可进入主界面,可选择要输入的信息,否则退出

1.输入模块struct Node*creat_inf()进入输入信息模块,用do-while循环对学生信息进行输入。

2.保存信息模块void save_inf(struct Node*head)对信息进行保存,保存到文件中。

3.读取信息模块struct Node*read_inf()从指定文件中读取出保存的信息。4.查找信息模块struct Node*find(struct Node*p)在已保存的信息中按学号查找对应学号。

5.插入信息模块int insert(struct Node*p0),将想要插入的信息添加到已有信息中,并保存。

6.删除信息模块int del(struct Node*head),按学号找出要删除的学生信息,

找到删除。

7.修改信息模块void modify(struct Node*p),按学好着出要修改的学生信息,在输入要修改的内容,并保存。

8.信息排序模块struct Node*sort(struct Node*head)按宿舍号对学生信息进行排序。

9.统计信息模块int statis(struct Node*head),将保存的学生信息进行统计,并输出。

10.输出信息模块,void print(struct Node*p)将之前做过修改、排序、插入的所有信息输出。

11.退出。

四.详细设计

1.功能函数的调用关系图

2.各功能函数的数据流程图

1

.

2

3.插入模块L

4.删除模块

5.修改模块

6.

7.统计模块

8.输出模块

3.重点设计及编码

程序的主要设计在各个模块的功能方面,其中密码部分及主界面各模块的调用是比较着重设计的环节

printf("\n\n\n\n\n\t\t\t 欢迎登陆学生宿舍信息管理系统\n");

printf("\n\n\n\n\t\t\t\t请输入密码:");

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

{system("stty -echo");

scanf("%c",s+i);

printf("*");

system("stty echo");

}

s[6]='\0';//限制密码为6位

printf("\n\n\n\n\n\t\t\t 输入完毕,请按任意键继续。");

getchar();

if(strcmp(s,"358046")==0)

{

printf("\n\n\n\n\n\t\t 密码输入正确,系统正在打开中,按任意键进入……");

getchar();

do{

system("clear");

Menu();

scanf("%d",&select);

system("clear");

switch(select)

{

case1://保存基本信息到指定文件

head=creat_inf();//创建基本信息单链表

system("clear");

save_inf(head);

printf("\n");

break;

case2://显示链表信息

print(head);

getchar();

printf("\n");

printf("请按任意键返回主菜单。");

getchar();

break;

case3://插入

if(insert(head))

{

printf("插入成功!\n");

save_inf(head);

printf("请按任意键返回主菜单。");

getchar();

}

else

{printf("有重号,插入失败!\n");

相关文档
最新文档