




如果您无法下载资料,请参考说明:
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日东二333 e使用菜单实现功能的正确的选择 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

17****21
实名认证
内容提供者


最近下载