如果您无法下载资料,请参考说明:
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
实名认证
内容提供者
最近下载