C语言学生通信录管理系统课程设计报告1_计算机-.NET.pdf

上传人:c****1 文档编号:93964888 上传时间:2023-07-20 格式:PDF 页数:17 大小:399.86KB
返回 下载 相关 举报
C语言学生通信录管理系统课程设计报告1_计算机-.NET.pdf_第1页
第1页 / 共17页
C语言学生通信录管理系统课程设计报告1_计算机-.NET.pdf_第2页
第2页 / 共17页
点击查看更多>>
资源描述

《C语言学生通信录管理系统课程设计报告1_计算机-.NET.pdf》由会员分享,可在线阅读,更多相关《C语言学生通信录管理系统课程设计报告1_计算机-.NET.pdf(17页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、实验报告 实验名称:学生通信录管理系统 实验项目性质:综合性、设计性 所涉及课程:C语言课程设计 计划学时:实验学时 4 一、实验目的 综合考察学生本学期对 C语言的掌握程度。二、实验内容 1.编写一个可以把学生信息写入文件的函数 creact(),采用动态链表。2.编写一个可以增加新成员的函数 add1()。3 编写一个可以查询确定学生的函数 search1()。4 编写一个可以删除确定学生的函数 del1()。5 编写一个可以修改确定学生的函数 modify1()。6 编写一个可以打开通信录的函数 open1()。附录:search1 函数调用 searchnum 和 searchname

2、函数,分别为按学号和按名字查询。del 函数调用 delname 和 deltel 函数,分别为按名字和按电话删除。modify1 函数调用 modifynum和 modifyname函数,分别为按学号和按名字找到修改。欢迎下载 2 open1 函数调用 sorttel 和 sortname 函数,分别为按电话和按名字从小到大的顺序打开。三、实验(设计)仪器设备和材料清单 1.硬件:PC机 2.软件:Turbo C 2.0/Turbo C+3.0 四、实验要求 设计一个学生通讯录管理系统,在动态链表程序的基础上,设计要求如下(必须使用结构体和动态链表等数据结构)1 建立文件 存储文件使用指定文

3、件名或默认文件名;可以不保存输入记录,但需要确认是否保存输入记录 如果已有文件,只能在其后追加;新增记录可以不存入原文件中,以可以用原来的文件覆盖内存的内容;可以将多个个文件记录合并到一个文件中;2 文件的存取和显示 可以单独存取文件;可以随时显示内存中记录的全部内容;可以直接存取默认文件或指定文件;3 删除记录 可以按“姓名”或“电话”方式删除记录并更新内存链表内容;实验目的综合考察学生本学期对语言的掌握程度二实验内容编写一个可以把学生信息写入文件的函数采用动态链表编写一个可以增加新成员的函数编写一个可以查询确定学生的函数编写一个可以删除确定学生的函数编写一个可以修数分别为按名字和按电话删除

4、函数调用和函数分别为按学号和按名字找到修改函数调用和函数分别为按电话和按名字从小到大的顺序打开三实验设计仪器设备和材料清单硬件机软件四实验要求设计一个学生通讯录管理系统在动态链件名可以不保存输入记录但需要确认是否保存输入记录如果已有文件只能在其后追加新增记录可以不存入原文件中以可以用原来的文件覆盖内存的内容可以将多个个文件记录合到一个文件中文件的存取和显示可以单独存取文件可以 欢迎下载 3 能给出被删除的信息,输出没有找到的信息;如果已经是空表,上出时应给出信息并返回主菜单;如果没有要删除的信息,输出没有找到的信息;删除操作仅限于内存,只有执行记录时,才能覆盖原记录;4 查询记录 可以按“姓名

5、”或“电话”或“宿舍”方式查询记录 能给出查询记录的信息;如果查询的信息不存在,输出没有找到的信息;5 整体功能 a 可以随时检索、删除、或增加新记录,保存或取消新的记录 b 使姓名可由 16 位字符和数字的混合编码组成 c 使电话号码可由 18 位字符和数字组成 d 将输出信息加上输出信息信息栏,例如 姓名 电话 性别 年龄 生日 宿舍 李四 1234 男 21 7 月 1 日 东二 333 e 使用菜单实现功能的正确的选择 f 所有节点信息都是动态生成。6 测试程序 应列出测试大纲对程序进行测试;应保证测试用例测试到程序的各种边缘情况 五、实验步骤及结果测试 实验目的综合考察学生本学期对语

6、言的掌握程度二实验内容编写一个可以把学生信息写入文件的函数采用动态链表编写一个可以增加新成员的函数编写一个可以查询确定学生的函数编写一个可以删除确定学生的函数编写一个可以修数分别为按名字和按电话删除函数调用和函数分别为按学号和按名字找到修改函数调用和函数分别为按电话和按名字从小到大的顺序打开三实验设计仪器设备和材料清单硬件机软件四实验要求设计一个学生通讯录管理系统在动态链件名可以不保存输入记录但需要确认是否保存输入记录如果已有文件只能在其后追加新增记录可以不存入原文件中以可以用原来的文件覆盖内存的内容可以将多个个文件记录合到一个文件中文件的存取和显示可以单独存取文件可以 欢迎下载 4 A、主函

7、数 主函数 提供可选择的功能 1 2 3 4 5 6 0 创建 增加 查找 删除 修改 打开 退出 按名字、按学号 按电话、按名字 按名字、按学号 按电话、按名字 程序清单:void main()int i;end:printf(|-|n);printf(|1.ceate new file|n);printf(|2.add information|n);printf(|3.search|n);printf(“|4.telect|n);printf(|5.modify|n);printf(|6.open|n);printf(|0.register|n);printf(|-|n);实验目的综合考察

8、学生本学期对语言的掌握程度二实验内容编写一个可以把学生信息写入文件的函数采用动态链表编写一个可以增加新成员的函数编写一个可以查询确定学生的函数编写一个可以删除确定学生的函数编写一个可以修数分别为按名字和按电话删除函数调用和函数分别为按学号和按名字找到修改函数调用和函数分别为按电话和按名字从小到大的顺序打开三实验设计仪器设备和材料清单硬件机软件四实验要求设计一个学生通讯录管理系统在动态链件名可以不保存输入记录但需要确认是否保存输入记录如果已有文件只能在其后追加新增记录可以不存入原文件中以可以用原来的文件覆盖内存的内容可以将多个个文件记录合到一个文件中文件的存取和显示可以单独存取文件可以 欢迎下载

9、 5 printf(input your choice(0-6):n);scanf(%d,&i);if(i=1)creat1();goto end;if(i=2)add1();goto end;if(i=3)search1();goto end;if(i=4)del1();goto end;if(i=5)modify1();goto end;if(i=6)open1();goto end;exit(0);B、创建:void create()实验目的综合考察学生本学期对语言的掌握程度二实验内容编写一个可以把学生信息写入文件的函数采用动态链表编写一个可以增加新成员的函数编写一个可以查询确定学生的函

10、数编写一个可以删除确定学生的函数编写一个可以修数分别为按名字和按电话删除函数调用和函数分别为按学号和按名字找到修改函数调用和函数分别为按电话和按名字从小到大的顺序打开三实验设计仪器设备和材料清单硬件机软件四实验要求设计一个学生通讯录管理系统在动态链件名可以不保存输入记录但需要确认是否保存输入记录如果已有文件只能在其后追加新增记录可以不存入原文件中以可以用原来的文件覆盖内存的内容可以将多个个文件记录合到一个文件中文件的存取和显示可以单独存取文件可以 欢迎下载 6 程序清单:void creat1()开始 动态申请内存 输入学号 学号不为 0 输入其他信息 动态申请内存并输入学号 结束链表的建立

11、存入文件 结束 实验目的综合考察学生本学期对语言的掌握程度二实验内容编写一个可以把学生信息写入文件的函数采用动态链表编写一个可以增加新成员的函数编写一个可以查询确定学生的函数编写一个可以删除确定学生的函数编写一个可以修数分别为按名字和按电话删除函数调用和函数分别为按学号和按名字找到修改函数调用和函数分别为按电话和按名字从小到大的顺序打开三实验设计仪器设备和材料清单硬件机软件四实验要求设计一个学生通讯录管理系统在动态链件名可以不保存输入记录但需要确认是否保存输入记录如果已有文件只能在其后追加新增记录可以不存入原文件中以可以用原来的文件覆盖内存的内容可以将多个个文件记录合到一个文件中文件的存取和显

12、示可以单独存取文件可以 欢迎下载 7 FILE*fp;char i;struct student*p1,*p2,*head;n=0;p1=p2=(struct student*)malloc(LEN);printf(nenter NO.:n);scanf(%d,&p1-num);while(p1-num!=0)printf(enter name:n);scanf(%s,p1-name);printf(enter tel:n);scanf(%s,p1-tel);do printf(enter sex:n);getchar();scanf(%c,&p1-sex);while(p1-sex!=f&p

13、1-sex!=F&p1-sex!=m&p1-sex!=M);do 实验目的综合考察学生本学期对语言的掌握程度二实验内容编写一个可以把学生信息写入文件的函数采用动态链表编写一个可以增加新成员的函数编写一个可以查询确定学生的函数编写一个可以删除确定学生的函数编写一个可以修数分别为按名字和按电话删除函数调用和函数分别为按学号和按名字找到修改函数调用和函数分别为按电话和按名字从小到大的顺序打开三实验设计仪器设备和材料清单硬件机软件四实验要求设计一个学生通讯录管理系统在动态链件名可以不保存输入记录但需要确认是否保存输入记录如果已有文件只能在其后追加新增记录可以不存入原文件中以可以用原来的文件覆盖内存的内

14、容可以将多个个文件记录合到一个文件中文件的存取和显示可以单独存取文件可以 欢迎下载 8 printf(enter age:n);scanf(%d,&p1-age);while(p1-ageage=150);printf(enter birthday:n);scanf(%s,p1-bir);printf(enter address:n);scanf(%s,p1-add);n=n+1;if(n=1)head=p1;else p2-next=p1;p2=p1;p1=(struct student*)malloc(LEN);printf(enter NO.:n);scanf(%d,&p1-num);p

15、2-next=NULL;printf(nsave them or no(y/n)n);doprintf(input choicen);getchar();scanf(%c,&i);while(i!=y&i!=Y&i!=n&i!=N);if(i=y|i=Y)实验目的综合考察学生本学期对语言的掌握程度二实验内容编写一个可以把学生信息写入文件的函数采用动态链表编写一个可以增加新成员的函数编写一个可以查询确定学生的函数编写一个可以删除确定学生的函数编写一个可以修数分别为按名字和按电话删除函数调用和函数分别为按学号和按名字找到修改函数调用和函数分别为按电话和按名字从小到大的顺序打开三实验设计仪器设备和材

16、料清单硬件机软件四实验要求设计一个学生通讯录管理系统在动态链件名可以不保存输入记录但需要确认是否保存输入记录如果已有文件只能在其后追加新增记录可以不存入原文件中以可以用原来的文件覆盖内存的内容可以将多个个文件记录合到一个文件中文件的存取和显示可以单独存取文件可以 欢迎下载 9 p1=head;if(fp=fopen(FILENAME,wb)=NULL)printf(cannot open filen);return;if(p1!=NULL)do if(fwrite(p1,sizeof(struct student),1,fp)!=1)printf(file write errorn);fclo

17、se(fp);break;p1=p1-next;while(p1!=NULL);fclose(fp);实验目的综合考察学生本学期对语言的掌握程度二实验内容编写一个可以把学生信息写入文件的函数采用动态链表编写一个可以增加新成员的函数编写一个可以查询确定学生的函数编写一个可以删除确定学生的函数编写一个可以修数分别为按名字和按电话删除函数调用和函数分别为按学号和按名字找到修改函数调用和函数分别为按电话和按名字从小到大的顺序打开三实验设计仪器设备和材料清单硬件机软件四实验要求设计一个学生通讯录管理系统在动态链件名可以不保存输入记录但需要确认是否保存输入记录如果已有文件只能在其后追加新增记录可以不存入原

18、文件中以可以用原来的文件覆盖内存的内容可以将多个个文件记录合到一个文件中文件的存取和显示可以单独存取文件可以 欢迎下载 10 C、增加 void add1()设计思路和创建新通信录一样,只是文件的打开方式是“a”,即以追加的方式打开。程序清单:void add1()FILE*fp;char i;struct student*p1,*p2,*head;n=0;p1=p2=(struct student*)malloc(LEN);printf(nenter NO.:n);scanf(%d,&p1-num);while(p1-num!=0)printf(enter name:n);实验目的综合考察学

19、生本学期对语言的掌握程度二实验内容编写一个可以把学生信息写入文件的函数采用动态链表编写一个可以增加新成员的函数编写一个可以查询确定学生的函数编写一个可以删除确定学生的函数编写一个可以修数分别为按名字和按电话删除函数调用和函数分别为按学号和按名字找到修改函数调用和函数分别为按电话和按名字从小到大的顺序打开三实验设计仪器设备和材料清单硬件机软件四实验要求设计一个学生通讯录管理系统在动态链件名可以不保存输入记录但需要确认是否保存输入记录如果已有文件只能在其后追加新增记录可以不存入原文件中以可以用原来的文件覆盖内存的内容可以将多个个文件记录合到一个文件中文件的存取和显示可以单独存取文件可以 欢迎下载

20、11 scanf(%s,p1-name);printf(enter tel:n);scanf(%s,p1-tel);printf(enter sex:n);getchar();scanf(%c,&p1-sex);printf(enter age:n);scanf(%d,&p1-age);printf(enter birthday:n);scanf(%s,p1-bir);printf(enter address:n);scanf(%s,p1-add);n=n+1;if(n=1)head=p1;else p2-next=p1;p2=p1;p1=(struct student*)malloc(LEN

21、);printf(enter NO.:n);scanf(%d,&p1-num);p2-next=NULL;printf(nsave them or no(y/n)n);实验目的综合考察学生本学期对语言的掌握程度二实验内容编写一个可以把学生信息写入文件的函数采用动态链表编写一个可以增加新成员的函数编写一个可以查询确定学生的函数编写一个可以删除确定学生的函数编写一个可以修数分别为按名字和按电话删除函数调用和函数分别为按学号和按名字找到修改函数调用和函数分别为按电话和按名字从小到大的顺序打开三实验设计仪器设备和材料清单硬件机软件四实验要求设计一个学生通讯录管理系统在动态链件名可以不保存输入记录但需要

22、确认是否保存输入记录如果已有文件只能在其后追加新增记录可以不存入原文件中以可以用原来的文件覆盖内存的内容可以将多个个文件记录合到一个文件中文件的存取和显示可以单独存取文件可以 欢迎下载 12 doprintf(input choicen);getchar();scanf(%c,&i);while(i!=y&i!=Y&i!=n&i!=N);if(i=y|i=Y)p1=head;if(fp=fopen(FILENAME,a)=NULL)printf(cannot open filen);return;if(p1!=NULL)do if(fwrite(p1,sizeof(struct student

23、),1,fp)!=1)printf(file write errorn);fclose(fp);break;p1=p1-next;while(p1!=NULL);fclose(fp);实验目的综合考察学生本学期对语言的掌握程度二实验内容编写一个可以把学生信息写入文件的函数采用动态链表编写一个可以增加新成员的函数编写一个可以查询确定学生的函数编写一个可以删除确定学生的函数编写一个可以修数分别为按名字和按电话删除函数调用和函数分别为按学号和按名字找到修改函数调用和函数分别为按电话和按名字从小到大的顺序打开三实验设计仪器设备和材料清单硬件机软件四实验要求设计一个学生通讯录管理系统在动态链件名可以不保

24、存输入记录但需要确认是否保存输入记录如果已有文件只能在其后追加新增记录可以不存入原文件中以可以用原来的文件覆盖内存的内容可以将多个个文件记录合到一个文件中文件的存取和显示可以单独存取文件可以 欢迎下载 13 D、查找 void search()开始 选择按名字或按学号查按名字择调用 Searchname()按学号择调用 Searchnum()结束 实验目的综合考察学生本学期对语言的掌握程度二实验内容编写一个可以把学生信息写入文件的函数采用动态链表编写一个可以增加新成员的函数编写一个可以查询确定学生的函数编写一个可以删除确定学生的函数编写一个可以修数分别为按名字和按电话删除函数调用和函数分别为按

25、学号和按名字找到修改函数调用和函数分别为按电话和按名字从小到大的顺序打开三实验设计仪器设备和材料清单硬件机软件四实验要求设计一个学生通讯录管理系统在动态链件名可以不保存输入记录但需要确认是否保存输入记录如果已有文件只能在其后追加新增记录可以不存入原文件中以可以用原来的文件覆盖内存的内容可以将多个个文件记录合到一个文件中文件的存取和显示可以单独存取文件可以 欢迎下载 14 程序清单:1、void search1()int i;printf(please input your choice(0-2);printf(|-|n);printf(|1.search in NO.|n);printf(|2

26、.search in name|n);printf(|0.register|n);printf(|-|n);开始 查 找 符 合节点 找到则输出该节点内容 找不到输出“not find”结束 重建链表 输入名字(电话)实验目的综合考察学生本学期对语言的掌握程度二实验内容编写一个可以把学生信息写入文件的函数采用动态链表编写一个可以增加新成员的函数编写一个可以查询确定学生的函数编写一个可以删除确定学生的函数编写一个可以修数分别为按名字和按电话删除函数调用和函数分别为按学号和按名字找到修改函数调用和函数分别为按电话和按名字从小到大的顺序打开三实验设计仪器设备和材料清单硬件机软件四实验要求设计一个学生

27、通讯录管理系统在动态链件名可以不保存输入记录但需要确认是否保存输入记录如果已有文件只能在其后追加新增记录可以不存入原文件中以可以用原来的文件覆盖内存的内容可以将多个个文件记录合到一个文件中文件的存取和显示可以单独存取文件可以 欢迎下载 15 do printf(input your choice);scanf(%d,&i);while(i!=1&i!=2&i!=0);switch(i)case1:searchnum();break;case2:searchname();break;default:exit(0);2、void searchname()struct student*p1,*p2,

28、*head;char name16;head=recreat();printf(enter the students name:n);scanf(%d,name);for(p1=head;p1-next!=NULL;p1=p1-next)if(strcmp(p1-name,name)=0)实验目的综合考察学生本学期对语言的掌握程度二实验内容编写一个可以把学生信息写入文件的函数采用动态链表编写一个可以增加新成员的函数编写一个可以查询确定学生的函数编写一个可以删除确定学生的函数编写一个可以修数分别为按名字和按电话删除函数调用和函数分别为按学号和按名字找到修改函数调用和函数分别为按电话和按名字从小到

29、大的顺序打开三实验设计仪器设备和材料清单硬件机软件四实验要求设计一个学生通讯录管理系统在动态链件名可以不保存输入记录但需要确认是否保存输入记录如果已有文件只能在其后追加新增记录可以不存入原文件中以可以用原来的文件覆盖内存的内容可以将多个个文件记录合到一个文件中文件的存取和显示可以单独存取文件可以 欢迎下载 16 printf(,%dt%st%st%ct%dt%st%sn,p1-num,p1-name,p1-tel,p1-sex,p1-age,p1-bir,p1-add);3、void searchnum()struct student*p1,*p2,*head;int num;head=rec

30、reat();printf(enter the students NO.:n);scanf(%d,&num);for(p1=head;p1-next!=NULL;p1=p1-next)if(p1-num=num)printf(,%dt%st%st%ct%dt%st%sn,p1-num,p1-name,p1-tel,p1-sex,p1-age,p1-bir,p1-add);实验目的综合考察学生本学期对语言的掌握程度二实验内容编写一个可以把学生信息写入文件的函数采用动态链表编写一个可以增加新成员的函数编写一个可以查询确定学生的函数编写一个可以删除确定学生的函数编写一个可以修数分别为按名字和按电话删

31、除函数调用和函数分别为按学号和按名字找到修改函数调用和函数分别为按电话和按名字从小到大的顺序打开三实验设计仪器设备和材料清单硬件机软件四实验要求设计一个学生通讯录管理系统在动态链件名可以不保存输入记录但需要确认是否保存输入记录如果已有文件只能在其后追加新增记录可以不存入原文件中以可以用原来的文件覆盖内存的内容可以将多个个文件记录合到一个文件中文件的存取和显示可以单独存取文件可以 欢迎下载 17 实验目的综合考察学生本学期对语言的掌握程度二实验内容编写一个可以把学生信息写入文件的函数采用动态链表编写一个可以增加新成员的函数编写一个可以查询确定学生的函数编写一个可以删除确定学生的函数编写一个可以修数分别为按名字和按电话删除函数调用和函数分别为按学号和按名字找到修改函数调用和函数分别为按电话和按名字从小到大的顺序打开三实验设计仪器设备和材料清单硬件机软件四实验要求设计一个学生通讯录管理系统在动态链件名可以不保存输入记录但需要确认是否保存输入记录如果已有文件只能在其后追加新增记录可以不存入原文件中以可以用原来的文件覆盖内存的内容可以将多个个文件记录合到一个文件中文件的存取和显示可以单独存取文件可以

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁