C语言学生通信录管理系统课程设计报告1.doc
上传人:17****21 上传时间:2024-09-09 格式:DOC 页数:17 大小:57KB 金币:5 举报 版权申诉
预览加载中,请您耐心等待几秒...

C语言学生通信录管理系统课程设计报告1.doc

C语言学生通信录管理系统课程设计报告1.doc

预览

免费试读已结束,剩余 7 页请下载文档后查看

5 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

/NUMPAGES17实验报告实验名称:学生通信录管理系统实验项目性质:综合性、设计性所涉与课程:C语言课程设计计划学时:实验学时4一、实验目的综合考察学生本学期对C语言的掌握程度。二、实验容1.编写一个可以把学生信息写入文件的函数creact(),采用动态链表。2.编写一个可以增加新成员的函数add1()。3编写一个可以查询确定学生的函数search1()。4编写一个可以删除确定学生的函数del1()。5编写一个可以修改确定学生的函数modify1()。6编写一个可以打开通信录的函数open1()。附录:search1函数调用searchnum和searchname函数,分别为按学号和按名字查询。del函数调用delname和deltel函数,分别为按名字和按删除。modify1函数调用modifynum和modifyname函数,分别为按学号和按名字找到修改。open1函数调用sorttel和sortname函数,分别为按和按名字从小到大的顺序打开。三、实验(设计)仪器设备和材料清单1.硬件:PC机2.软件:TurboC2.0/TurboC++3.0四、实验要求设计一个《学生通讯录管理系统》,在动态链表程序的基础上,设计要求如下(必须使用结构体和动态链表等数据结构)1建立文件存储文件使用指定文件名或默认文件名;可以不保存输入记录,但需要确认是否保存输入记录如果已有文件,只能在其后追加;新增记录可以不存入原文件中,以可以用原来的文件覆盖存的容;可以将多个个文件记录合并到一个文件中;2文件的存取和显示可以单独存取文件;可以随时显示存中记录的全部容;可以直接存取默认文件或指定文件;3删除记录可以按“”或“”方式删除记录并更新存链表容;能给出被删除的信息,输出没有找到的信息;如果已经是空表,上出时应给出信息并返回主菜单;如果没有要删除的信息,输出没有找到的信息;删除操作仅限于存,只有执行记录时,才能覆盖原记录;4查询记录可以按“”或“”或“宿舍”方式查询记录能给出查询记录的信息;如果查询的信息不存在,输出没有找到的信息;5整体功能a可以随时检索、删除、或增加新记录,保存或取消新的记录b使可由16位字符和数字的混合编码组成c使可由18位字符和数字组成d将输出信息加上输出信息信息栏,例如性别年龄生日宿舍四1234男217月1日东二333e使用菜单实现功能的正确的选择f所有节点信息都是动态生成。6测试程序应列出测试大纲对程序进行测试;应保证测试用例测试到程序的各种边缘情况五、实验步骤与结果测试A、主函数主函数提供可选择的功能1234560创建增加查找删除修改打开退出按名字、按学号按、按名字按名字、按学号按、按名字程序清单:voidmain(){inti;end:printf("|----------------------------------------|\n");printf("|1.ceatenewfile|\n");printf("|2.addinformation|\n");printf("|3.search|\n");printf(“|4.telect|\n");printf("|5.modify|\n");printf("|6.open|\n");printf("|0.register|\n");printf("|---------------------------------------|\n");printf("inputyourchoice(0-6):\n");scanf("%d",&i);if(i==1){creat1();gotoend;}if(i==2){add1();gotoend;}if(i==3){search1();gotoend;}if(i==4){del1();gotoend;}if(i==5){modify1();gotoend;}if(i==6){open1();gotoend;}exit(0);}B、创建:voidcreate()开始动态申请内存输入学号学号不为0输入其他信息动态申请内存并输入学号结束链表的建立存入文件结束程序清单:voidcreat1(){FILE*fp;chari;structstudent*p1,*p2,*head;n=0;p1=p2=(structstudent*)malloc(LEN);printf("\nenterNO.:\n");scanf("%d",&p1->num);while(p1