当前位置:首页 > C语言实习设计报告(学生公寓管理管理系统)
按姓名查询流程图: 开始 输入name p0=h
是 strcmp(p0->nam
e,name)?==0
否
p0=p0->next
输出p0 结束
(按学号、宿舍号、楼层、宿舍楼的流程图类似于按姓名查询的流程图)
排序模块流程图: 开始 choice 输入 是 sort_num() output (h) choice=1? 否 是 sort_dormitary() output (h) choice=2? 否 是 sort_floor() output (h) choice=3? 否 是 sort_building() output (h) choice=4? 否 是 choice=0? 结束
统计模块流程图: 开始 choice 输入 是 count_dormitary() choice=1? 否 是 count_floor() choice=2? 否 是 count_building() choice=3? 是 choice=0? 结束
六、调试情况,设计技巧及体会
通过两周的编程,我完成了学生宿舍管理这个小系统。进一步理解并掌握了C 语言中的精华指针和键表。程序可以流畅运行,实现对数据的录入、修改、插入、删除、排序、查询、统计等基本功能。程序开始时从文件中读取数据,结束时对新数据或更新的数据进行保存,以便下次再次调用。
在编程中也不是一帆风顺的,开始时由于对C语言的许多知识点都遗忘了,导致编程过程中相当吃力,经过一两天的适应后,模块基本上编的得心应手。但当我编写读数据这个模块时遇到了一点问题,程序总是读出一些乱码,并不是我先前存入的数据。经过指导老师耐心的指点下,终于解决了这个问题。 这次高级语言程序设计,不仅巩固了我所学到的C语言知识,还让我认识到了编写一个完整的程序不仅要有必备的基础知识,还要耐心,细心,遇到问题不能轻言放弃,灵感可能就会出现在下一秒。
七、参考文献
《C语言程序设计》 王曙燕 曹锰 科学出版社 2005年2月
八、附录:源代码
#include
#define N sizeof(struct stud) /*先用结构体定义学生信息*/ struct stud {
int num;
char name[10]; char sex[8]; int age;
char major[18]; int grade; int classes; int building; int floor; int dormitary;
struct stud *next; /*next是指向本结构体的类型的指针类型*/ };
struct stud *h,*p; /*定义指向结构体的指针变量*/ FILE *fp; /*定义文件指针*/
/*建立和输出链表*/ struct stud *creat(void)
{ struct stud *p1,*p2,*head; int i,k;
printf(\ scanf(\ head=NULL;
printf(\ if(k>0)
{ head=p2=p1=(struct stud*)malloc(N); /*为head,p2,p1申请存储空间,并都指向首结点*/
for(i=1;i<=k;i++)
{ p1=(struct stud*)malloc(N);
printf(\ scanf(\ printf(\ scanf(\
printf(\ scanf(\
共分享92篇相关文档