版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验报告实验名称:学生通信录管理系统实验项目性质:综合性、设计性所涉及课程:C语言课程设计计划学时:实验学时4一、实验目的综合考察学生本学期对 C语言的掌握程度。二、实验容1. 编写一个可以把学生信息写入文件的函数creact (),采用动态链表。2编写一个可以增加新成员的函数addl ()。3编写一个可以查询确定学生的函数searchi ()。4编写一个可以删除确定学生的函数deli()。5编写一个可以修改确定学生的函数modifyl ()。6编写一个可以打开通信录的函数open1()。附录:search1 函数调用 search num 禾口 search name 函数,分另U 为按学号
2、和按名字查询。del函数调用del name和deltel函数,分别为按名字和按 删除。modify1 函数调用 modify num 禾口 modify name 函数,分别为按学号和按名字找到修改。 ope n1函数调用sorttel和sort name函数,分别为按和按名字 从小到大的顺序打开。三、实验(设计)仪器设备和材料清单1.硬件:PC机2. 软件:Turbo C 2.0/Turbo C+ 3.0四、实验要求设计一个学生通讯录管理系统,在动态链表程序的基础上,设计要求如下(必须使用结构体和动态链表等数据结构)1建立文件存储文件使用指定文件名或默认文件名;可以不保存输入记录,但需要确
3、认是否保存输入记录如果已有文件,只能在其后追加;新增记录可以不存入原文件中,以可以用原来的文件覆盖存的容;可以将多个个文件记录合并到一个文件中;2文件的存取和显示可以单独存取文件;可以随时显示存中记录的全部容;可以直接存取默认文件或指定文件;3删除记录可以按“”或“”方式删除记录并更新存链表容;能给出被删除的信息,输出没有找到的信息;如果已经是空表,上出时应给出信息并返回主菜单;如果没有要删除的信息,输出没有找到的信息;删除操作仅限于存,只有执行记录时,才能覆盖原记录;4查询记录可以按“”或“”或“宿舍”方式查询记录能给出查询记录的信息;如果查询的信息不存在,输出没有找到的信息;5整体功能a可
4、以随时检索、删除、或增加新记录,保存或取消新的记录b使可由16位字符和数字的混合编码组成c使可由18位字符和数字组成d将输出信息加上输出信息信息栏,例如性别年龄生日宿舍四 1234 男 217月1日 东二333e使用菜单实现功能的正确的选择f所有节点信息都是动态生成。6测试程序应列出测试大纲对程序进行测试;应保证测试用例测试到程序的各种边缘情况五、实验步骤及结果测试A、主函数主函数提供可选择的功能1234560创建增加查找删除修改打开退出按名字、按学号按、按名字按名字、按学号按、按名字程序清单:void mai n()int i;end:prin tf(|n);printf(| 1.ceate
5、 new file|n);printf(| 2.add in formati on|n);printf(| 3.search|n);printf( “| 4.telect|n);printf(|5.modify|n);printf(|6.ope n|n);printf(| O.register|n);printf(I|n);prin tf(i nput your choice(0-6): n); sca nf(%d,&i);if(i=1)creat1(); goto en d;if(i=2)add1(); goto en d;if(i=3)search1(); goto en d; if(i=
6、4)del1();goto en d;if(i=5)modify1(); goto en d; if(i=6)ope n1();goto en d;exit(0);! 1 rceate neu File i Z . add inf or-nat ion I 3 ,seaimh! 4.telect! 5 . raodlf y I G.open;0.register|input youi* choiceC0-&):B、创建:void create。开始1动态申请内存1输入学号输入其他信息动态申请内存并输入学 号结束链表的建立1r存入文件1! 、结束 上程序清单:void creat1()FILE
7、*fp;char i;struct stude nt *p1,*p2,*head;n=0;p1=p2=(struct stude nt *)malloc(LEN);prin tf(ne nter NO.:n);sca nf(%d,&p1- nu m);while(p1- num!=0)prin tf(e nter n ame: n);sca nf(%s,p1- n ame);prin tf(e nter tel:n);scan f(%s,p1 -tel);doprin tf(e nter sex:n);getchar();scan f(%c,&p1-sex);while(p1-sex!=f &
8、p1-sex!=F&p1-sex!=m&p1- sex!=M);doprin tf(e nter age: n);sca nf(%d,&p1-age);while(p1-ageage=150);prin tf(e nter birthday: n);scan f(%s,p1 -bir);prin tf(e nter address: n);sca nf(%s,p1-add);n=n+1;if(n=1)head=p1;else p2-n ext=p1;p2=p1;p1= (struct student *)malloc(LEN);prin tf(e nter NO.:n);sca nf(%d,&
9、p1- nu m);p2-n ext=NULL;printf(nsave them or no(y/n)n);dopri ntf(i nput choicen);getchar();sea nf(%c,&i);while(i!=y&i 匸Y&i 匸n&i匸N); if(i=y|i= Y)p1=head;if(fp=fope n(FILENAME,wb)=NULL)prin tf(ca nnot ope n filen);return;if(p1!=NULL)doif(fwrite(p1,sizeof(struct stude nt),1,fp)!=1)prin tf(file write er
10、ror n);fclose(fp);break;p1=p1- n ext;while(p1!=NULL);fclose(fp);intuit youp cholteC0Gtnter NO,:12enter n ame:1 in entei1 te 1: 13-427506991 entev sex:Fent*i* ae!tnter bithday: i?0-10-ll pnter address: 11-237NO 亠;C、增加 void addl ()a ”,即设计思路和创建新通信录一样,只是文件的打开方式是 以追加的方式打开。程序清单:void add1()FILE *fp;char i;
11、struct stude nt *p1,*p2,*head;n=0;p1=p2=(struct stude nt *)malloc(LEN);prin tf(ne nter NO.:n);sca nf(%d,&p1- nu m);while(p1- num!=0)prin tf(e nter n ame: n);sea nf(%s,p1- n ame);prin tf(e nter tel:n);scan f(%s,p1 -tel);prin tf(e nter sex:n);getchar();scan f(%c,&p1-sex);prin tf(e nter age: n);sca nf(
12、%d,&p1-age);prin tf(e nter birthday: n);scan f(%s,p1 -bir);prin tf(e nter address: n);sca nf(%s,p1-add);n=n+1;if(n=1)head=p1;else p2-n ext=p1;p2=p1;p1=(struct stude nt *)malloc(LEN);prin tf(e nter NO.:n);sca nf(%d,&p1- nu m);p2-n ext=NULL;printf(nsave them or no(y/n)n);dopri ntf(i nput choice n);get
13、char();sca nf(%c,&i);while(i!=y&i 匸Y&i 匸n&i匸N);if(i=y|i= Y)p1=head;if(fp=fope n( FILENAME,a)=NULL)prin tf(ca nnot ope n file n);return;if(p1!=NULL)doif(fwrite(p1,sizeof(struct stude nt),1,fp)!=1)prin tf(file write error n);fclose(fp);break;p1=p1- n ext;while(p1!=NULL);fclose(fp);Lnpufc youi cJio ic
14、e ( 0t :inter NO.:IS inter nane : taiWriter tel:34568933B1inter sex:inter age :1inter biFthdap:.993-13-11nter address:5-221mtev NO.:D、查找 void search ()程序清单:1、void search1()int i;prin tf(please in put your choice(0-2);prin tf(n);printf(| l.search in NO.|n);prin tf(| 2.search in n ame|n);prin tf(| O.r
15、egister|n);prin tf(n);doprin tf(i nput your choice);sca nf(%d,&i);while(i!=1&i !=2&i匸0);switch(i)case1: search num(); break;case2: search name(); break;default: exit(0);2、void search name()struct stude nt *p1,*p2,*head;char n ame16;head=recreat();prin tf(e nter the stude nts n ame:n);sea nf(%d, name);for(p1=head;p1- n ext!=NULL;p1=p1- next)if(strcmp(p1- name, name)=O)prin tf(,%dt%st%st%ct%dt%st%sn,p1- nu m,p1- n ame,p1-tel,p1-sex,p1-age,p1-bir,p1-add);3、void search num()struct stude nt *p1,*p2,*head;int num;head=recreat();printf(enter the students NO.:n);sca nf(%d
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年化办公设备买卖协议范本
- 农村土地权属协议
- 2024年驾驶员专属工作协议模板
- 齐鲁工业大学《Linux系统》2022-2023学年期末试卷
- 2024年商业加盟协议范例
- 南京信息工程大学《影视技术基础》2021-2022学年第一学期期末试卷
- 2024装修行业保密义务协议
- 河南省林州市2024-2025学年上学期七年级数学期中试卷
- 建筑物拆除前的安全评估与风险控制技术研究考核试卷
- 企业环保与供应链管理考核试卷
- 分层次教学与个性化辅导计划
- 基于物联网的农业无人机高效配送方案
- 毛细支气管炎护理查房课件
- EHS(环境健康安全)管理制度
- GB/T 10476-2024尿素高压冷凝器技术条件
- 2024-2030年中国金融BPO行业市场发展分析及投资前景与策略研究报告
- 二年级《公共安全教育》全册教学设计
- 2024-2025学年小学科学四年级下册青岛版(六三制2024)教学设计合集
- 2024版中国血脂管理指南
- 2022下半年四川省考公务员考试行测题及解析(三十二)
- 快乐读书吧《鲁滨逊漂流记》整本书导读课 教学设计-2023-2024学年语文六年级下册统编版
评论
0/150
提交评论