宿舍管理查询软件 课程设计报告

上传人:飞*** 文档编号:31312559 上传时间:2018-02-06 格式:DOC 页数:19 大小:274.50KB
返回 下载 相关 举报
宿舍管理查询软件 课程设计报告_第1页
第1页 / 共19页
宿舍管理查询软件 课程设计报告_第2页
第2页 / 共19页
宿舍管理查询软件 课程设计报告_第3页
第3页 / 共19页
宿舍管理查询软件 课程设计报告_第4页
第4页 / 共19页
宿舍管理查询软件 课程设计报告_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《宿舍管理查询软件 课程设计报告》由会员分享,可在线阅读,更多相关《宿舍管理查询软件 课程设计报告(19页珍藏版)》请在金锄头文库上搜索。

1、课 程 设 计课程设计名称: 宿舍管理查询软件 专 业 班 级 : 计科 0604 学 生 姓 名 : 胡方俊 学 号 :20064140414 指 导 教 师 : 白浩 课程设计时间: 2008 年 6 月 23 日 11 需求分析为一个宿舍设计管理查询软件,每当进入个新同学,可以输入他的姓名,学号以及电话号码,并且可以把他们的所有信息按学号从小到大排列,能按照姓名查找并显示其所有信息,也可以按照姓名删除某个学生的信息。2 概要设计2.1 使用 C 语言中的结构体链表来存储数据结构体链表可以方便存储成组的相关数据。结构体链表可以方便结构体的添加、删除、查找。另外结构体链表可以让一个结构体的相

2、关数据集体存储,不仅十分方便我们对数据的操作,而且让程序的的思路特别清晰,让程序更加清晰易懂。通过对结构以链表的操作来控制数据。在添加数据时,增加链表的长度,在删除时先通过查找找到此数据的前驱和后续,来对数据进行删除。学会用文件的拷贝来实现冒泡法排序,这也是一种不同于常规的新方法。2.2 用户界面设计窗口包括: 1:添加所有学生的信息 2:显示学生所有信息3:按学号进行排序 4:插入学生所有信 5:按姓名删除学生信息 6:查找学生所有的信息 0:退出学生信息管理系统 2.3 运行说明2此程序在使用时,应该先进性多个学生信息的添加,之后才能进行相关的操作,否则将不会显示学生的信息,并提示重新操作

3、。3 运行环境3.1 硬件环境一般的3.2 软件环境(1)Windows Vista/2003/XP(2)计算机及 VisualC+6.0 编程环境。4 开发工具和编程语言4.1 开发工具Microsoft Visual C+ 6.04.2 编程语言Visual C5 详细设计5.1 在宿舍管理系统里面添加学生信息(1)添加学生信息的基本原理用指针*P 来创建一个存储单元,来存储图书的信息:学生的姓名、学号、电话号码。然后再和链变相连,有结构体链表来存储所有学生的信息。*指针只想最后一个结构体链表的最后一个结构体(2)添加学生信息的原理图3存储图书的结构体单元P 的 next 指向NULL5.

4、2 在宿舍管理系统中显示所有学生的信息用 printf 来显示学生的信息,并且用 for 循环来实现所有的学生信息都能显示。5.3 在宿舍管理系统中按学号进行排序利用拷贝函数实现冒泡法排序,学号与学号间进行大小的相互比较,大的自动下沉,这样每进行一次比较,大的都会沉到下面,最终是由小到大的排列。5.4 在宿舍管理系统中按姓名进行删除信息首先用指针找到此学生的前驱和后续,然后让前驱的 NEXT 指向后续,就删除所要删除的信息了。程序源代码#include /*引用库函数*/ #include #include #include typedef struct /*定义结构体数组 */ 4 char

5、 num10; /*学号*/ char name20; /*姓名*/ long tel; /*电话 */ Student; Student stu80; /*结构体数组变量 */ int menu_select() /*菜单函数*/ char c; do system(cls); /*运行前清屏*/ printf(*n);printf(*欢迎进入宿舍管理系统 *n );printf(*1:添加所有学生的信息*n);printf(*2:显示学生所有信息*n);printf(*3:按学号进行排序*n);printf(*4:插入学生所有信息*n);printf(*5:按姓名删除学生信息*n);pri

6、ntf(*6:查找学生所有的信息*n);printf(*0:退出学生信息管理系统*n);printf(*n);printf(请选择功能选项: );5c=getchar(); /*读入选择*/ while(c9); return(c-0); /*返回选择*/ int Input(Student stud,int n) /*输入若干条记录*/ int i=0; char sign,x10; /*x10为清除多余的数据所用 */ while(sign!=n&sign!=N) /*判断*/ printf(tttstudents num:); /*交互输入*/ scanf(ttt%s,studn+i.n

7、um); printf(tttstudents name:); scanf(ttt%s,studn+i.name); printf(tttstudents tel:); scanf(ttt%d, gets(x); /*清除多余的输入*/ printf(tttany more records?(Y/N); scanf(ttt%c, /*输入判断*/ i+; return(n+i); 6void Display(Student stud,int n) /*显示所有记录*/ int i; printf(ttt-n); /*格式头*/ printf(tttnumber name teln); prin

8、tf(ttt-n); for(i=1;i1&i%10=0) /*每十个暂停*/ printf(ttt-n); /*格式*/ printf(ttt); system(pause); printf(ttt-n); printf(ttt); system(pause); void Sort_by_num(Student stud,int n) /*按学号排序*/ int i,j,*p,*q,s; char t10; 7for(i=0;i0) strcpy(t,studj+1.num); strcpy(studj+1.num,studj.num); strcpy(studj.num,t); strcp

9、y(t,studj+1.name); strcpy(studj+1.name,studj.name); strcpy(studj.name,t); p= q= s=*p; *p=*q; *q=s; int Insert_a_record(Student stud,int n) /*插入一条记录*/ char x10; /*清除多余输入所用*/ printf(tttstudents num:); /*交互式输入*/ scanf(ttt%s,studn.num); printf(tttstudents name:); scanf(ttt%s,studn.name); 8printf(tttstud

10、ents tel:); scanf(ttt%d, gets(x); n+; Sort_by_num(stud,n); /*调用排序函数*/ printf(tttInsert Successed!n); /*返回成功信息*/ return(n); int Delete_a_record(Student stud,int n) /*按姓名查找,删除一条记录*/ char s20; int i=0,j; printf(ttttell me his(her) name:); /*交互式问寻*/ scanf(%s,s); while(strcmp(studi.name,s)!=0 /*查找判断*/ if

11、(i=n) printf(tttnot find!n); /*返回失败信息*/ return(n); for(j=i;jn-1;j+) /*删除操作*/ strcpy(studj.num,studj+1.num); 9strcpy(studj.name,studj+1.name); studj.tel=studj+1.tel; printf(tttDelete Successed!n); /*返回成功信息*/ return(n-1); void Query_a_record(Student stud,int n) /*查找并显示一个记录 */ char s20; int i=0; printf

12、(tttinput his(her) name:); /*交互式输入*/ scanf(ttt%s,s); while(strcmp(studi.name,s)!=0 /*查找判断*/ if(i=n) printf(tttnot find!n); /*输入失败信息*/ return; printf(ttthis(her) number:%sn,studi.num); /*输出该学生信息*/ printf(ttthis(her) tel:%dn,studi.tel); int AddfromText(Student stud,int n) /*从文件中读入数据*/ 10 int i=0,num;

13、FILE *fp; /*定义文件指针*/ char filename20; /*定义文件名 */ printf(tttInput the filename:); scanf(ttt%s,filename); /*输入文件名*/ if(fp=fopen(filename,rb)=NULL) /*打开文件*/ printf(tttcannt open the filen); /*打开失败信息*/ printf(ttt); system(pause); return(n); fscanf(fp,%d, /*读入总记录量*/ while(inum) /*循环读入数据*/ fscanf(fp,%s%s%d,studn+i.num,studn+i.name, i+; n+=num; fclose(fp); /*关闭文件*/ printf(tttSuccessed!n); printf(ttt); system(pause); 11return(n); void WritetoText(Student stud,int n) /*将所有记录写入文件*/ int i=0; FILE *fp; /*定义文件指针*/ char filename20; /*定义文件名 */ printf(tttWr

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 其它中学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号