计算机程序设计课程设计报告.doc
PAGE 1
计算机程序设计(C语言)
课程设计报告
题目:学生信息管理系统
学院: 计算机科学与工程学院
专业: 电子信息工程
班级:110406
姓名: 黄伟强
指导教师:韩旭明
设计日期: 6月29日
一、选题背景:
该程序实现一个综合的数据管理系统,用户可以已建立数据文档,并对文档中的数据进行操作输入数据信息、查看数据信息以及删除数据信息。输入、查看和删除的操作都是通过对链表的操作完成的。可以对班级学生的信息进行方便、有效的管理。
二、设计思想:采用模块化编程
(一)总体框架图:
学生管理系统:1、录入学生信息
???????2、修改学生信息
???????3、查询学生信息
???????4、浏览学生信息
???????5、增加学生信息
?????? 6、推出信息系统
(二)思路:模块一:头文件,变量定义,函数的声明
对系统所使用的变量进行定义,对函数进行声明
模块二:学生信息系统使用帮助
声明函数void help(),对整个系统进行使用说明
模块三:录入学生信息
声明函数void readfile(),说明一个文件指针FILE *fp 打开文件"student.txt"
模块四:学生信息的查找
声明void seek()为查找函数,通过switch(item)设定用学号查找,用姓名查找两个分支
模块五:学生信息的修改
声明void modify()为学生信息修改函数,通过switch(item)设定所要
修改的项目
模块六:学生信息按学号排序
声明void sort()将录入学生系按升序排列,用的是“冒泡排序法”实现排序
模块七:增加学生信息
声明void insert()插入学生信息,先通过判断学生是否存在,若否则继续输入,若是跳出,重新循环
模块八:删除学生信息
声明void del()实现学生信息删除,通过学号对比确定要删除的信息,然后用后一个替换掉。
模块九:显示学生信息
通过display()函数输出学生信息
模块十:保存信息
通过fp=fopen("student.txt","w");写入信息
模块十一:界面菜单
通过switch(num)调用,以上各函数,实现功能
三.主要解决问题的方法及技术关键
用FREE 函数完成对内存空间的释放。
If—else—if , Do—while 用来控制程序的循环。
用链表的知识完成数据的 输入 删除 查看 。
4. 数据域、指针域(结点的知识)
四.程序流程图
五、程序清单:
#include? /*I/O函数*/#include /*其它说明*/#include /*字符串函数*/#define BUFLEN 100 /* 缓冲区最大字符数 */#define LEN 15 /* 学号和姓名最大字符数,实际请更改 */#define N 100 /* 最大学生人数,实际请更改*/struct record /*结构体*/{char code[LEN+1]; /* 学号 */char name[LEN+1]; /* 姓名 */int age; /* 年龄 */char sex[3]; /* 性别 */char time[LEN+1]; /* 出生年月 */char add[30]; /* 家庭地址 */char tel[LEN+1]; /* 电话号码 */char mail[30]; /* 电子邮件地址 */}stu[N];int k=1,n,m; /* 定义全局变量 */
void readfile();/* 函数声明 */void seek();void modify();void insert();void del();void display();void save();void menu();
int main(){??while(k)menu();system("pause");return 0;}
void help(){?printf("\n0.欢迎使用系统帮助!\n");printf("\n1.进入系统后,先刷新学生信息,再查询;\n");printf("\n2.按照菜单提示键入数字代号;\n");printf("\n3.增加学生信息后,切记保存按7;\n");printf("\n4.