1、C语言课程设计报告8822207(此文档为word格式,下载后您可任意编辑修改!)C语言课程设计报告 题目: 学 院 专 业 年级班别 学 号 学生姓名 指导教师 成 绩 2009年12月 1. 课程设计题目,内容,要求设计一个学生通讯录管理系统,在动态链表程序的基础上,设计要求如下(必须使用结构体和链表等数据结构)1建立文件 存储文件使用指定文件名或默认文件名; 可以不保存输入记录,但需要确认是否保存输入记录 如果已有文件,只能在其后追加; 新增记录可以不存入原文件中,以可以用原来的文件覆盖内存的内容;可以将多个个文件记录合并到一个文件中;2文件的存取和显示 可以单独存取文件; 可以随时显示
2、内存中记录的全部内容; 可以直接存取默认文件或指定文件;3删除记录 可以按“姓名”或“电话”方式删除记录并更新内存链表内容; 能给出被删除的信息,输出没有找到的信息; 如果已经是空表,上出时应给出信息并返回主菜单; 如果没有要删除的信息,输出没有找到的信息;删除操作仅限于内存,只有执行记录时,才能覆盖原记录;4查询记录 可以按“姓名”或“电话”或“宿舍”方式查询记录 能给出查询记录的信息;如果查询的信息不存在,输出没有找到的信息;5 整体功能 a可以随时检索、删除、或增加新记录,保存或取消新的记录 b使姓名可由16位字符和数字的混合编码组成 c使电话号码可由18位字符和数字组成d将输出信息加上
3、输出信息信息栏,例如 姓名 电话 性别 年龄 生日 宿舍 李四 1234 男 21 7月1日 东二333 e使用菜单实现功能的正确的选择 f 所有节点信息都是动态生成。6测试程序 应列出测试大纲对程序进行测试; 应保证测试用例测试到程序的各种边缘情况二总体设计系统包括的函数有Main.c:整个系统的主函数Menu.c:系统的主界面Creat.c:创建链表Add.c:追加记录Del.c:删除记录Modify.c:修改记录Read.c:从外部文件读取记录Save.c:保存记录到外部文件Search.c:查找记录Skim.c:浏览记录Headyy.menuCreat.c Add.c Del.c Mo
4、dify.c Read.c Save.c Search.c Skim.c三详细设计 程序清单:,Num.,Name,Tel.,Sex,Age,Birtday,Dormitory);struct addbok *声明结构体类型* long num; char nam16; *储存编号* char tel18; *储存电话* char sex4; *学生性别* int age; *学生年龄* char bir10; *学生生日* char dor13; *学生宿舍* struct addbok * next; ;void print(struct addbok *);具体实现:创建了结构体变量ad
5、dbokmain.c#include int n=0;void main() int c,color,i=0; struct addbok *nnnnnnnnntttWelcome to Students Address System); printf(nn); printf(ttttttDesign by YangYing); sleep(1); *延时1秒* clrscr(); while(i=0) system(cls); printf(=Students Address System=); printf(* * * * * * * * * * * * * * * * * * * * *
6、 * * * * * * * * * * * * * * * * * * *n); printf(* NO.: Name:YangYing Class:Science Of Computer Class1 *n); printf(* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *n); printf(=); c=meun(); switch(c) case 1:.nn); getch(); 具体实现:设置了开始的欢迎词,并且对照参考书设置了背景色和字体颜色,每种颜色延时1秒,在此函数中输
7、入了自己的学号班级姓名,并且用switch语句实验了选择功能操作的函数指向。menu.c#include int n;int meun(void) int i; printf(nn); printf( #menu#n); printf( *n); printf( | 1:Creat 2:Add item 3:Skim items |n); printf( | 4:Modify item 5:Search item 6:Delete item |n); printf( | 7:Read file 8:Save item 0:Exit system |n); printf( *n); printf
8、(nt Please choose the number which you WANT:); scanf(%d,&i); return(i);具体实现:主要表现了主函数的菜单,供用户选择。1选项是建立链表并且创建多个新记录2选项是在链表后面追加若干个记录3选项是浏览存储的记录4选项是修改已有的记录5选项是查找记录6选项是删除系统中的记录7选项是从外部文件读取记录8选项是保存记录到外部文件0选项是推出系统creat.c#include num); if(p1-num=0) printf(nn); printf(nWritten overn); getch(); system(cls); retu
9、rn(=n+1; if(n=1) ); printf(NO.%d: n,i); i=i+1; printf(Num.:); scanf(%ld,&p1-num); if(p1-num=0) p2-next=NULL; printf(nn); printf(nWritten overn); getch(); system(cls); return(n); printf(nWritten overn); getch(); system(cls); return( int n;struct addbok *add(struct addbok *);while(yy!=0) p1=(struct ad
10、dbok *)malloc(LEN); p0=p2=); printf(n); printf(Num.:); scanf(%ld,p1-num); printf(Name:); scanf(%s,p1-nam); printf(Tel.:); scanf(%s,p1-tel); printf(Sex:); scanf(%s,p1-sex); printf(Age:); scanf(%d,&p1-age); printf(Birthday:); scanf(%s,p1-bir); printf(Dormitory:); scanf(%s,p1-dor); if(p2=NULL) n=n+1; =
11、n+1; p2-next=p1; p1-next=NULL; else while(p2-next!=NULL) p0=p2; p2=p2-next; n=n+1; p2-next=p1; p1-next=NULL; printf(n -Written over-n); printf(nEnter0to the menu,Any key go on: ); scanf(%d,&yy);system(cls); return( int n;struct addbok *del(struct addbok *=Delete record=n); while(yy!=0) if(); goto en
12、d; printf(nEnter the num. you want to delete:); scanf(%ld,&num); p1=n-1;printf(n-Delete-n);goto end; else p2-next=p1-next;n=n-1;printf(n-Delete-n);goto end; else printf(nSorry,can not find the record!n);goto end;end:printf(nEnter0to the menu,Any number go on: );scanf(%d,&yy); system(cls); return( int n;struct
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1