c语言课程设计报告---学生信息管理系统

c语言课程设计报告---学生信息管理系统

ID:47427378

大小:105.50 KB

页数:14页

时间:2020-01-10

c语言课程设计报告---学生信息管理系统_第页
预览图正在加载中,预计需要20秒,请耐心等待
资源描述:

《c语言课程设计报告---学生信息管理系统》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、题目:学生信息管理系统一、需求分析任务要求:自学C语言中有关链表及外部文件的内容,设计学生信息管理系统。具体要求如下:◆建立学生信息,信息至少包括名字、性别、年龄、学号、系别、家庭信息等内容;◆能够提供添加、删除和修改学生信息等功能;◆能将通讯录保存在文件中;◆能够按指定方式输出学生信息。系统功能需求分析:★1、为存储学生信息,需定义一个结构体类型,成员名字、性别、年龄、学号、系别、家庭信息等,并建立链表,定义该结构体类型的指针,用于指向各结点;★2、分别建立具有添加、删除、修改、查询等功能的子函数,完成相应功能,对程序实现模块化。这其中要用到对链表的删除、插入等知识。删除时

2、用一结构体指针指向链表的第一个结点,检查该节点的值是否等于输入的要删除的学号,若相等就删除,不相等则后移指针,直至表尾。插入时也要先找到相应结点,再添加。★3、为实现存储功能,需用到文件的相关函数,打开文件,将添加、修改或删除的信息存入磁盘中。★4、为以表格的形式输出文件,宏定义格式化输出语句,指定输出学生信息。14二、概要设计系统总体设计框架:对程序进行模块化,建立添加、修改、删除、查找和显示功能的子函数,各子函数中运用链表存储数据。从主函数开始执行,调用各个子函数,并运用文件相关知识将信息存入磁盘中。系统功能模块图:主菜单学生形象查询学生信息添加学生信息删除学生信息添加是

3、否保存关闭文件14三、详细设计主要功能模块的算法设计思路如下:1、查询通讯录信息(voidchakan())(1)为开辟一个新单元(2)输入查询关键字:(3)读取保存的文件数据输入ASCLL字符:(4)在链表中寻找相应结点;(5)调用输出函数,输出结点信息。2、添加信息函数(voidadd())(1)定义指向结构体变量的指针;(2)移动指针,找到插入结点;(3)在要插入的结点输入信息;(4)调用保存函数,打开文件,保存输入信息。3、删除信息函数(voiddel())(1)定义指向结构体变量的指针;(2)用指针检验链表中是否有记录,若没记录,返回主函数;(3)根据要修改的编号查

4、找要删除的结点;(4)修改链表,删除对应结点。4、修改信息函数(voidxiugai())(1)定义指向结构体变量的指针;(2)读取保存的文件数据输入ASCLL字符:(3)用指针检验链表中是否有记录,若没记录,返回主函数;(4)根据要修改的编号查找对应结点;(5)修改信息;(6)打开文件,保存修改记录。5、保存信息函数(baocun())(1)定义指向结构体变量的指针;(2)用文件指针指向要读写的磁盘文件名,若没有则新建此文件名:(3)用指针检验链表中是否有记录,若没记录,返回主函数:(4)打开文件,保存记录:6、屏幕操作函数(voidstubent187())(1)以一定格

5、式输出所想要的图形:14四、主要源程序代码定义变量:(对整个程序定义全局变量)#include"stdio.h"#include"conio.h"#defineSTUDENTID/*所有STUDENT都用ID来代替*/typedefstructnode/*定义结构体*/{charming[50];/*名字*/charxing[50];/*性别*/charnian[50];/*年龄*/intxuehao;/*学号*/charxibie[50];/*专业*/charsushe[50];/*宿舍号*/charjia[50];/*家庭地址*/structnode*next;}ID;/

6、*学生信息(变量名)*/ID*head=NULL;/*定义一个头指针*/FILE*zhi;/*定义一个文件指针*/主菜单界面:(进入屏幕界面的形式)voidstubent187()/*屏幕格式函数*/{printf("****************************************");printf("*学生信息管理系统*");printf("**");printf("*请选择:1:查看;2:添加;3:删除;*");printf("*4:修改;0:退出系统*");printf("**");printf("****************

7、***************************");printf(">>>>>>>>>>>>>输入0~4数字<<<<<<<<<<<<<");return;}查看学生信息记录:(对以保存在磁盘文件的学生信息进行查询)voidchakan(){/*查看*/ID*t;t=head;t=(ID*)malloc(sizeof(ID));/*为t开辟一个新单元*/if((zhi=fopen("yihu1.txt","rb"))==NULL)printf("没有此文件");14else{print

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。