(完整版)通讯录管理系统数据结构毕业课程设计(C语言)

合集下载

通讯录管理系统课程设计c语言

通讯录管理系统课程设计c语言

通讯录管理系统课程设计c语言一、课程目标知识目标:1. 理解通讯录管理系统的基础概念,掌握C语言实现通讯录管理的核心功能;2. 学会使用结构体、数组、文件操作等C语言基础知识,实现数据的存储与读取;3. 掌握函数的定义与调用,能运用模块化编程思想设计通讯录管理系统。

技能目标:1. 能够运用所学知识独立设计并实现一个简单的通讯录管理系统;2. 培养良好的编程习惯,编写规范、可读性强的代码;3. 提高问题分析能力,通过编写程序解决实际问题。

情感态度价值观目标:1. 培养学生对C语言的兴趣,激发学习热情,树立编程自信心;2. 培养学生的团队协作意识,学会在团队中发挥个人优势,共同解决问题;3. 培养学生严谨、踏实的学术态度,养成勤奋思考、乐于探究的良好习惯。

课程性质:本课程为实践性较强的课程,旨在让学生通过实际操作,掌握C语言在通讯录管理系统中的应用。

学生特点:学生具备一定的C语言基础,对编程有一定了解,但实际操作能力有待提高。

教学要求:结合学生特点,注重理论与实践相结合,强调动手实践,培养学生实际编程能力。

通过分解课程目标为具体学习成果,使学生在完成课程学习后,能独立设计并实现一个简单的通讯录管理系统。

二、教学内容1. 通讯录管理系统概述- 了解通讯录管理系统的基本功能与需求;- 掌握系统设计的基本流程与模块划分。

2. C语言基础知识回顾- 结构体、数组的使用;- 文件操作(读写、打开、关闭文件);- 函数的定义与调用。

3. 通讯录管理系统核心功能实现- 设计并实现数据结构存储通讯录信息;- 编写功能函数,包括增加、删除、修改和查询联系人;- 实现数据的持久化存储。

4. 系统测试与优化- 学习测试方法,对系统进行功能测试;- 分析测试结果,优化代码与算法。

5. 编程规范与团队协作- 学习编程规范,编写高质量的代码;- 了解团队协作的重要性,培养团队协作能力。

教学内容安排与进度:第1周:通讯录管理系统概述与需求分析;第2周:C语言基础知识回顾;第3周:设计数据结构与功能函数;第4周:实现通讯录管理系统核心功能;第5周:系统测试与优化;第6周:总结与团队协作。

通讯录管理系统c语言课程设计报告(一)

通讯录管理系统c语言课程设计报告(一)

通讯录管理系统c语言课程设计报告(一)通讯录管理系统C语言课程设计报告1. 简介通讯录管理系统是一款基于C语言开发的软件,旨在帮助用户方便地存储、查找、编辑和删除联系人信息。

本报告将对该系统的功能和设计进行详细介绍。

2. 系统功能通讯录管理系统具备以下主要功能:•添加联系人:用户可以输入联系人的姓名、电话号码、电子邮件等信息,并将其添加到通讯录中。

•查找联系人:用户可以根据姓名或电话号码等方式,快速查找通讯录中的联系人信息。

•编辑联系人:用户可以修改通讯录中已有联系人的信息,如电话号码、电子邮件等。

•删除联系人:用户可以从通讯录中删除特定联系人。

•显示通讯录:用户可以查看通讯录中的所有联系人信息。

•退出系统:用户可以选择退出通讯录管理系统。

3. 系统设计数据结构通讯录管理系统主要使用以下数据结构存储联系人信息:•结构体:定义了一个联系人的数据结构,包括姓名、电话号码、电子邮件等字段。

•数组:用于存储多个联系人信息,构成通讯录。

数组的每个元素对应一个联系人的结构体。

主要函数添加联系人函数void addContact(struct Contact contacts[], int *num Contacts)•功能:向通讯录中添加一个联系人。

•输入参数:通讯录数组contacts、通讯录中联系人数量numContacts的指针。

•输出:无。

查找联系人函数void searchContact(struct Contact contacts[], int n umContacts)•功能:根据用户提供的关键词在通讯录中查找联系人。

•输入参数:通讯录数组contacts、通讯录中联系人数量numContacts。

•输出:无。

编辑联系人函数void editContact(struct Contact contacts[], int num Contacts)•功能:根据用户选择的联系人在通讯录中编辑联系人信息。

通讯录管理系统 C语言课程设计

通讯录管理系统 C语言课程设计

C语言课程设计:通讯录管理系统目录一、需求分析 (2)二、概要设计 (2)三、详细设计 (3)四、上机操作 (14)五、实习心得 (19)六、源程序 (20)一、需求分析具有数据的插入、修改、删除、显示和查询功能的电话簿管理程序。

(1)数据包括:人名、工作单位、电话号码和E-MAIL地址。

(2)可对记录中的姓名和电话号码进行修改。

(3)可增加和删除记录。

(4)可显示所有的保存记录。

(5)可按人名或电话号码进行查询。

[提示]建议采用结构体数组和文件系统实现。

结构体成员包括人名、工作单位、电话号码和E-MAIL地址。

根据题目的要求程序应该采用结构体数组和文件系统实现。

应该有文件的操作功能;在程序中应该包括输入、显示、删除、查询、添加、修改、保存、加载和退出的功能。

二、概要设计根据上面的分析,可以将程序系统的设计分为如下几个模块:插入、显示、删除、查询、修改、保存和退出。

三、详细设计1、主函数;主函数一般设计得比较简洁,只提供输入,处理和输出部分的函数调用。

其中各功能模块用菜单方式选择。

流程图N【程序】int main()***********\n");printf("\t\t**********************************************\n");scanf("%d",&n);for(i=0;i<n;i++) ame);printf("请输入工作单位:\n");scanf("%s",&pMan[Size+i].Depart);printf("请输入电话号码:\n");scanf("%s",&pMan[Size+i].TEL);printf("请输入Email地址:\n");scanf("%s",&pMan[Size+i].Email);}if(Save(pMan,Size+n)){printf("\t\t*********** 恭喜!数据插入成功! ***********\n");}else{printf("\t\t*********** 操作失败,请稍后再试!***********\n");}return Size+n;}2、显示模块此模块为显示所有记录,流程图如下:【程序】void Display(ManpMan,int Size){printf("您要删除的信息为:\n");printf("%s\t\t%s\t%s\t%s\n",pMan->Name,pMan->Depart,pMan->TEL,pMan->Email);printf("是否确认删除?(Y/N)\n");scanf("%s",&control);switch(control){case 'y':pMan->Name[0]='\0';pMan->Depart[0]='\0';pMan->TEL[0]='\0';pMan->Email[0]='\0';if(Save(pMan,Size))开始输入要修改记录的姓名是否找到信息提示未找到信息显示要修改的信息修改需要修改的条目,并保存结束N Y***********\n");printf("\t\t**********************************************\n");scanf("%d",&n);for(i=0;i<n;i++) ame);printf("请输入工作单位:\n");scanf("%s",&pMan[Size+i].Depart);printf("请输入电话号码:\n");scanf("%s",&pMan[Size+i].TEL);printf("请输入Email地址:\n");scanf("%s",&pMan[Size+i].Email);}if(Save(pMan,Size+n)){printf("\t\t*********** 恭喜!数据插入成功! ***********\n");}else{printf("\t\t*********** 操作失败,请稍后再试!***********\n");}return Size+n;}void Modify(Man * pMan,int Size) {printf("您要删除的信息为:\n");printf("%s\t\t%s\t%s\t%s\n",pMan->Name,pMan->Depart,pMan->TEL,pMan->Email);printf("是否确认删除?(Y/N)\n");scanf("%s",&control);switch(control){case 'y':pMan->Name[0]='\0';pMan->Depart[0]='\0';pMan->TEL[0]='\0';pMan->Email[0]='\0';if(Save(pMan,Size))//将新信息写入文件{printf("\t\t**************恭喜!信息删除成功!**************\n");;printf("\t\t**********************************************\n");break;}else{printf("\t\t************操作失败,请稍后再试! *************\n");printf("\t\t**********************************************\n");break;}case 'n':printf("信息未删除!\n");break;default:printf("选择有误!\n");break;}}else{printf("\t\t*********抱歉,没有找到相关信息! *********\n");printf("\t\t******************************************\n");}}void Display(Man * pMan,int Size) //显示所有记录{int i;printf("\t人名\t 工作单位\t 电话号码\t E-mail地址\n");printf("\t************************************************************\n");for(i=0;i<=Size;i++,pMan++)//依次输出文件中的信息{printf("\t%s\t\t%s\t%s\t%s\n",pMan->Name,pMan->Depart,pMan->TEL,pMan->Email);printf("\t-----------------------------------------------------------\n");}}void S_asname(Man * pMan,int Size) //查找信息{int i=0;char name[8];printf("\t\t***********请输入要查询信息的姓名:***********\n");printf("\t\t**********************************************\n");scanf("%s",name);while(i<Size&&strcmp(pMan->Name,name))//查找{pMan++;i++;}if(!strcmp(pMan->Name,name))//找到后输出{printf("\t\t***************查到的信息为:***************\n");printf("\t*************************************************************\n");printf("\t人名\t 工作单位\t 电话号码\t E-mail地址\n");printf("\t*************************************************************\n");printf("\t%s\t\t%s\t%s\t%s\n",pMan->Name,pMan->Depart,pMan->TEL,pMan->Email);printf("\t*************************************************************\n");}else{printf("\t\t***********抱歉,没有找到相关数据************\n");printf("\t\t**********************************************\n");}}void S_astel(Man * pMan,int Size) //按电话查找模块{int i=0;char tel[12];printf("\t\t***********请输入要查询信息的电话:************\n");printf("\t\t**********************************************\n");scanf("%s",tel);while(i<Size&&strcmp(pMan->TEL,tel)) //查找信息{pMan++;i++;}if(!strcmp(pMan->TEL,tel)) //输出找到的信息{printf("\t\t****************查到的信息为: ****************\n");printf("\t*******************************************************\n");printf("\t人名\t 工作单位\t 电话号码\t E-mail地址\n");printf("\t*******************************************************\n");printf("\t%s\t\t%s\t%s\t%s\n",pMan->Name,pMan->Depart,pMan->TEL,pMan->Email);printf("\t*******************************************************\n");}else{printf("\t\t************抱歉,没有找到相关数据************\n");printf("\t\t**********************************************\n");}}int main() //主函数{Man man[500],*pman=man;;char control;int size;printf("\t\t**********************************************\n"); //窗口初始化printf("\t\t********** 欢迎使用通讯录管理系统! ***********\n");printf("\t\t*--------------------------------------------*\n");printf("\t\t* 请按回车键继续! *\n");printf("\t\t**********************************************\n");scanf("%c",&control);if(control){size=Scan(pman); //判断文件是否存在printf("\t\t\t请输入相应操作数操作\n");for(;;) //菜单生成{printf("\t\t**********************************************\n");printf("\t\t* 1--插入信息*\n");printf("\t\t* 2--按姓名查找*\n");printf("\t\t* 3--按电话查找*\n");printf("\t\t* 4--删除信息*\n");printf("\t\t* 5--显示信息*\n");printf("\t\t* 6--修改信息*\n");printf("\t\t* 0--退出系统*\n");printf("\t\t**********************************************\n");scanf("%s",&control);switch(control){case '1': size=Insert(pman,size);break; //插入新的通讯录case '2': S_asname(pman,size);break; //按姓名查找case '3': S_astel(pman,size);break; //按电话查找case '4': Delete(pman,size);break; //删除信息case '5': Display(pman,size);break; //显示所有信息case '6': Modify(pman,size);break; //修改信息case '0': printf("**************谢谢使用!再见!**************\n"); //退出系统return 0;default: printf("**********输入数字有误,请重新输入**********\n");break;}}}return 0;}。

c语言通讯录管理系统课程设计

c语言通讯录管理系统课程设计

c语言通讯录管理系统课程设计一、课程目标知识目标:1. 理解C语言中数据结构的基本概念,掌握通讯录管理系统中链表的应用;2. 掌握C语言中文件操作的基本方法,实现对通讯录信息的存储和读取;3. 学会使用C语言编程解决实际问题,具备分析和设计简单通讯录管理系统的能力。

技能目标:1. 能够运用所学知识,设计并实现一个具备增加、删除、修改和查询功能的通讯录管理系统;2. 能够运用链表数据结构,实现通讯录信息的动态管理;3. 能够编写清晰的C语言代码,养成良好的编程习惯。

情感态度价值观目标:1. 培养学生的团队合作精神,提高沟通与协作能力;2. 激发学生对计算机编程的兴趣,培养自主学习和解决问题的能力;3. 引导学生认识到编程在解决实际问题中的应用价值,增强其学习责任感。

课程性质:本课程为实践性较强的课程,结合C语言编程知识,让学生通过实际操作,掌握通讯录管理系统的设计与实现。

学生特点:学生在本年级已具备一定的C语言基础,对数据结构有一定了解,但实际编程能力有待提高。

教学要求:教师需结合学生特点,采用任务驱动法,引导学生主动参与课堂,通过实践操作,提高学生的编程能力和解决实际问题的能力。

同时,注重培养学生的团队合作精神和自主学习能力。

在教学过程中,关注学生的情感态度价值观的培养,使其在学习过程中形成积极向上的心态。

二、教学内容1. 数据结构基础:复习C语言中的结构体和指针,引入链表的概念及其在通讯录管理系统中的应用。

- 教材章节:第三章 数据结构,第5节 链表。

- 内容安排:讲解链表的创建、插入、删除等基本操作。

2. 文件操作:介绍C语言中文件读写的基本方法,使学生能够将通讯录信息保存在文件中。

- 教材章节:第五章 文件,第2节 文件的读写。

- 内容安排:讲解fopen、fprintf、fscanf、fclose等文件操作函数的使用。

3. 通讯录管理系统功能设计:- 教材章节:实践项目——通讯录管理系统。

c语言课程设计通讯录管理系统

c语言课程设计通讯录管理系统

c语言课程设计 通讯录管理系统一、课程目标知识目标:1. 理解C语言中结构体的概念和使用方法,掌握利用结构体创建复杂数据结构的能力;2. 学会使用数组存储结构体数据,实现对通讯录信息的有效管理;3. 掌握基本的文件操作,能够实现通讯录数据的存储和读取。

技能目标:1. 能够运用结构体和数组设计并实现一个简单的通讯录管理系统;2. 掌握在C语言中进行简单的输入输出操作,实现用户界面的友好交互;3. 学会使用调试工具进行程序调试,提高解决问题的能力。

情感态度价值观目标:1. 培养学生对编程的兴趣,激发其主动探索和创新的欲望;2. 培养学生的团队协作意识,学会在项目开发中与他人合作;3. 引导学生关注信息技术在生活中的应用,认识到编程对解决实际问题的重要性。

课程性质:本课程为实践性较强的课程,要求学生在掌握C语言基础知识的基础上,运用所学知识设计并实现一个通讯录管理系统。

学生特点:学生具备一定的C语言基础,对编程有一定的兴趣,但可能缺乏实际项目经验。

教学要求:通过本课程的学习,使学生能够将所学知识应用于实际项目中,提高其编程能力和解决实际问题的能力。

将课程目标分解为具体的学习成果,以便在教学过程中进行有效指导和评估。

二、教学内容1. 结构体和结构体数组的概念及应用- 课本章节:第五章 结构体与共用体- 内容:结构体的定义、结构体成员的访问、结构体数组的创建与使用。

2. 文件操作基础- 课本章节:第六章 文件- 内容:文件的打开与关闭、文件的读写操作、文件的定位。

3. 通讯录管理系统设计- 内容:系统需求分析、功能模块划分、系统设计、实现与测试。

4. 用户界面设计- 内容:菜单设计、命令行用户输入输出、简单的人机交互流程。

5. 项目实践与团队协作- 内容:项目分组、任务分配、代码共享与协作、项目评审。

教学进度安排:第一周:复习结构体和结构体数组相关知识,讲解通讯录管理系统需求。

第二周:学习文件操作基础,设计通讯录数据存储与读取功能。

C语言课程设计--学生通讯录管理系统设计

C语言课程设计--学生通讯录管理系统设计

一、题目内容的描述学生通讯录管理系统设计设计一个学生通信录,学生通迅录数据信息构成内容可自行设计(如:姓名、家庭地址、邮政编码、电话号码等等),通信录数据类型定义为结构体类型。

由键盘输入数据(最好要考虑输入数据输入的格式及输入数据的有效性),然后进行以下的功能实现。

程序要求主函数是一个功能选择菜单,其它各功能都用各自的函数实现。

功能要求如下:1、能建立、修改和增删学生通讯录2、能够按多种方式进行查询,例如按姓名、按电话号码等。

3、通讯录的数据保存在文件中,运行程序时将通讯录数据从文件读取到内存中。

对通讯录进行增加、删除、修改学生数据后,提供功能菜单,可以将内存中修改过的通讯录重新保存至文件。

二、应用程序功能的详细说明1、应用程序实现了可视化的系统操作界面。

2、对学生通讯录形成了系统化的管理,操作简便明了。

3、程序具有系统帮助,添加、显示、查询、刷新、删除、排序、保存、修改、读取学生通讯录的功能。

各项功能均可按照文字提示操作,浅显易懂。

4、系统的各个功能模块都用函数的形式来实现(readfile()、seek()、modify()、sort()、insert()、del()、save()、menu())方便查看。

5.可以将信息保存在文件("student.txt")中,亦可将信息从文件中读取出来,灵活方便。

三、主要模块的算法描述模块一:头文件,变量定义,函数的声明对系统所使用的变量进行定义,对函数进行声明。

模块二:录入学生信息声明函数void readfile(),说明一个文件指针FILE *fp打开文件"student.txt"。

模块三:学生信息的查找声明void seek()为查找函数,通过switch(item)设定用学号查找,用姓名查找两个分支。

模块四:学生信息的修改声明void modify()为学生信息修改函数,通过switch(item)设定所要修改的项目。

(完整版)c语言通讯录管理系统毕业课程设计

(完整版)c语言通讯录管理系统毕业课程设计

计算机科学与技术学院课程设计成绩单课程名称:数据结构课程设计姓名胡咏性别女学号班级电本1302班电话综合成绩成绩等级程序运行情况(占总成绩20%)□能正确运行□基本能正确运行□能运行但结果不完善(20分)(15分)(10分)程序功能完善程度(占总成绩10%)□完善□基本完善□不完善(10分)(8分)(5分)程序结构的合理性(占总成绩10%)□合理□基本合理□不太合理(10分)(8分)(5分)对问题的答辩情况(占总成绩40%)□概念正确有创新(40分)□能正确回答所有问题(35分)□基本能正确回答(30分)□部分问题回答概念不清晰(20分)学生的工作态度与独立工作能力(占总成绩10%)□工作态度认真能独立完成任务(10分)□工作态度基本认真,独立性尚可(8分)□工作态度和独立性较差(5分)设计报告的规范性(占总成绩10%)□符合规范□基本符合规范□规范性较差(10分)(8分)(5分)A:90~100分A-:85~89分B+:82~84分B:78~81分B-:75~77分C+:72~74分C:68~71分C-:64~67分D:60~63分F:<60分一、基本要求1、设计合适的数据结构存储朋友、分组信息,将friend.txt与group.txt中的内容导入其中。

记录包括:编号,姓名,性别,生日,电话号码1,电话号码2,电话号码3,住址与分组。

2、能实现插入、删除、修改和查询操作。

其中查询可按姓名,拼音或电话查询。

3、能实现多条件查询。

4、最后把系统中的数据保存回相应的文件中。

二、解题思路根据题目要求,1、键盘式选择菜单实现功能选择。

2、通讯录数据以文本文件存储,故应提供文件的输入输出等操作。

将保存在txt 文件中的数据读取出来并设计合适的链表(有头结点的单链表)用来存储数据。

3、利用链表进行通讯录记录的插入,查找,修改,删除等操作。

4、查找可通过姓名,拼音电话号码进行查找。

5、修改和删除均建立在查找的基础之上。

c语言课程设计通讯录管理系统课程设计报告

c语言课程设计通讯录管理系统课程设计报告

c语言课程设计通讯录管理系统课程设计报告一、教学目标本课程旨在通过学习C语言通讯录管理系统的设计与实现,让学生掌握C语言编程的基本技能,培养其软件开发的基本思路与方法。

具体目标如下:1.知识目标:–理解C语言的基本数据类型、运算符、控制结构。

–学习C语言函数的定义与调用。

–掌握结构体、文件操作等高级C语言特性。

2.技能目标:–能够运用C语言实现简单的数据结构,如链表、数组。

–培养学生使用C语言进行程序设计的能力,能够独立完成程序编写、调试与优化。

–学会使用C语言实现文件操作,包括文件的读取与写入。

3.情感态度价值观目标:–培养学生对计算机科学的兴趣,增强其自主学习的动力。

–通过项目实践,培养学生的团队协作能力和解决问题的能力。

–引导学生理解技术对生活的影响,培养其对技术发展的责任感。

二、教学内容教学内容选取C语言编程的核心知识点,结合通讯录管理系统的实例进行讲解。

具体内容包括:1.C语言基础:数据类型、变量、运算符、控制结构。

2.函数:函数定义、调用、参数传递、返回值。

3.数据结构:数组、链表、栈和队列。

4.文件操作:文件读写、文件指针。

5.通讯录管理系统实现:结构体定义、系统功能实现、项目管理。

三、教学方法结合C语言特点和通讯录管理系统实例,采用以下教学方法:1.讲授法:系统讲解C语言基础知识和通讯录管理系统的设计理念。

2.案例分析法:通过分析典型代码案例,让学生理解程序设计逻辑。

3.实验法:学生在实验室进行编程实践,巩固理论知识。

4.讨论法:分组讨论问题,培养学生的团队协作和沟通能力。

四、教学资源1.教材:《C程序设计语言》(K&R)、《C Primer Plus》。

2.参考书:《C语言编程思想》、《C语言实践》。

3.多媒体资料:教学PPT、在线编程教程、视频讲解。

4.实验设备:计算机、网络环境、编程环境(如Code::Blocks、VisualStudio)。

五、教学评估本课程的教学评估将综合考虑学生的平时表现、作业、考试等方面,以全面、客观、公正地评价学生的学习成果。

C语言毕业课程设计-通讯录管理系统

C语言毕业课程设计-通讯录管理系统

(此文档为word格式,下载后您可任意编辑修改!) C语言通讯录管理系统课程设计报告通讯录管理系统题目学号姓名09级电子信息工程年级专业指导教师完成日期年月日1设计题目的内容、任务及具体要求本程序是非数值计算型算法设计,我设计出了通讯录管理系统的基本功能,并设计了简单的界面。

本程序主要考察对自定义函数的熟悉程度,本程序主要使用的是数组的相关操作,包括结构体数组的输入、输出、查找、删除等。

我设计的这个通讯录系统也初步实现了人员信息的显示、删除、查找、修改、添加等必要的功能。

①记录通讯录内的人员的姓名、地址、邮编、电话号码。

②显示所有人员的信息。

③通过输入姓名查找人员信息。

④通过输入姓名查找到要删除的人员信息,然后可以进行删除。

⑤通过输入姓名查找到要修改的人员信息,然后可以进行修改。

⑥添加人员信息。

2总体设计思路本系统首先设计出了主函数,然后根据去要实现的功能分别设计拉,显示、删除、查找、修改、添加功能的子函数。

在显示的函数设计过程中首先运用拉文件的读取等必要的知识通过把文件的内容读取到内存然后打印出来。

删除函数的设计是首先从文件内找到要删除的人,然后通过写一个实现删除目的的FOR循环将该人从内存里删除,然后再用写的方式打开文件,将内存内的信息写入文件,实现删除。

查找也是先打开文件,用一个字符串对比的方法找出用户要查找的人,然后打印出来。

修改也大体和删除相同,添加函数在设计时通过申请一片空间,然后通过指针将需要添加的信息添加进去,从而实现添加功能。

下面就是总的程序流程图:3功能模块的具体设计3.1 界面分析3.1.1开始界面3.1.2显示功能的界面:选择1后系统出现现有的所有人员名单:3.1.3 显示删除功能的界面3.1.4 查找功能:通过5:find—by—name 用姓名来查找个人的通讯录信息通过6:find—by—tel 用电话号码来查找个人的通讯录信息3.1.5 修改功能的界面:输入姓名后的系统界面:输入修改信息后的系统界面:3.1.6添加功能的界面:选择1后的系统界面:3.2 程序设计主要内容#include<stdio.(){int m;printf(" ***************************************************\n\n\n");printf(" ********* Welcome to use yufeng's ***************\n\n\n"); printf(" ************** addressbook **********************\n\n\n");creat(); *主界面*while(1){ printf(" ******************************\n\n");printf(" 0 exit, press 0\n\n");printf(" 1 append,press 1\n\n");printf(" 2 modify,press 2\n\n");printf(" 3 output,press 3\n\n");printf(" 4 delete,press 4\n\n");printf(" 5 find by name,press 5\n\n");printf(" 6 find by tel,press 6\n\n"); *功能菜单*printf(" ******************************\n");scanf("%d",&m);if(m>=0&&m<=6){switch(m){case 1: append();break;case 2: modify();break;case 3: output();break;case 4: delete();break;case 5: find_by_name();break;case 6: find_by_tel();break;case 0: exit();}printf("\n\nHave finished,select again!\n");}elseprintf("\n\nError,select again!\n");}}void creat(){struct student one;printf("\nInput the name of addressbook:");gets(filename);if((fp=fopen(filename,"w"))==NULL){printf("\nCann't creat addressbook!");exit();}*fprintf(fp,"%-10s%-8d%-20s%-20s%-20s\n",,one.num,one.dis,one.tel,one.addr);*printf("\nInput name,num,dis,tel,addr(end press #)\n");gets();while(strcmp(,"#")){gets(one.num);gets(one.dis);gets(one.tel);gets(one.addr);fprintf(fp,"%-10s%-10s%-10s%-20s%-20s\n",,one.num,one.dis,one.tel,one.ad dr);gets();}fclose(fp);}void find_by_name(){int k=0;char namekey[8];struct student one;printf("\nInput name:");scanf("%s",namekey);if((fp=fopen(filename,"rb"))==NULL){printf("\nCann't open this addressbook!!!");exit();}while(!feof(fp)){fscanf(fp,"%s%s%s%s%s\n",,one.num,one.dis,one.tel,one.addr);if(!strcmp(namekey,)){printf("\n\nHave finded,as follow:\n");printf(" name num dis tel addr ");printf("\n%-10s%-10s%-10s%-20s%-20s\n",,one.num,one.dis,one.tel,one.addr);k=1;}if(!k)printf("\n\nSorry,there is no this student!!");fclose(fp);}void find_by_tel(){int k=0;char telkey[8];struct student one;printf("\nInput tel:");scanf("%s",telkey);if((fp=fopen(filename,"rb"))==NULL){printf("\nCann't open this addressbook!!!");exit();}while(!feof(fp)){fscanf(fp,"%s%s%s%s%s\n",,one.num,one.dis,one.tel,one.addr);if(!strcmp(telkey,one.tel)){printf("\n\nHave finded,as follow:\n");printf(" name num dis tel addr");printf("\n%-10s%-10s%-10s%-20s%-20s\n",,one.num,one.dis,one.tel,one.addr);k=1;}}if(!k)printf("\n\nSorry,there is no this student!!");fclose(fp);}void output(){struct student one;if((fp=fopen(filename,"r"))==NULL){printf("\nCann't open this addressbook!!!");exit(0);}* printf("\n\n%20s\n"," \nCann't open this addressbook\n");*while(!feof(fp))fscanf(fp,"%s%s%s%s%s\n",,one.num,one.dis,one.tel,one.addr);if(strcmp(,"%-10s%-10s%-10s%-20s%-20s\n",,one.num,one.dis,one.tel,o ne.addr);}fclose(fp);}void append(){struct student one;if((fp=fopen(filename,"a"))==NULL){printf("\nCann't open this addressbook!!");exit();}printf("\nInput new name,num,dis,tel,addr\n");scanf("%s%s%s%s%s",,one.num,one.dis,one.tel,one.addr);fprintf(fp,"%-10s%-10s%-10s%-20s%-20s\n",,one.num,one.dis,one.tel,one.addr);fclose(fp);}void modify(){int m,k=0;long offset;char namekey[8];struct student one;printf("\nInput name:");scanf("%s",namekey);if((fp=fopen(filename,"r+"))==NULL){printf("\nCann't open this addressbook!!!");exit();}while(!feof(fp)){offset=ftell(fp);fscanf(fp,"%s%s%s%s%s\n",,one.num,one.dis,one.tel,one.addr);if(!strcmp(namekey,)){k=1;break;}}if(k){printf("\nHave finded,as follow:");printf("\n%-10s%-10s%-10s%-20s%-20s\n",,one.num,one.dis,one.tel,one.addr);printf("\nInput new name,num,dis,tel,addr:");scanf("%s%s%s%s%s",,one.num,one.dis,one.tel,one.addr);fseek(fp,offset,SEEK_SET);printf("%1d",ftell(fp));fprintf(fp,"%-10s%-10s%-10s%-20s%-20s\n",,one.num,one.dis,one.tel,one.addr);}elseprintf("\nSorry,there is no this student!!");fclose(fp);}void delete(){int m,k=0,flag;long offset1;char namekey[8];struct student one;printf("\nInput name:");scanf("%s",namekey);if((fp=fopen(filename,"r+"))==NULL){printf("\nCann't open this addressbook!!");exit();}while(!feof(fp)){ offset1=ftell(fp);fscanf(fp,"%s%s%s%s%s\n",,one.num,one.dis,one.tel,one.addr);if(!strcmp(namekey,)){k=1;break;}}if(k){printf("\nHave finded,as follow:");printf("\n%-10s%-10s%-10s%-20s%-20s\n",,one.num,one.dis,one.tel,one.addr);printf("\n delete,press1:\n not delete,press0:");scanf("%d",&m);if(m){fseek(fp,offset1,SEEK_SET);strcpy(,"",,one.num,one.dis,one.tel,one.addr);}}elseprintf("\nSorry,there is no this student!!");fclose(fp);}通过对这些资源的合理利用使系统初步实现了通讯录管理系统的基本功能。

C语言课程设计-通讯录管理系统

C语言课程设计-通讯录管理系统

课程设计报告课程名称 C语言课程设计课题名称通讯录管理系统专业材料成型及控制工程班级材料0904班学号姓名指导教师2010年12月24 日湖南工程学院课程设计任务书课程名称 C语言课程设计课题通讯录管理系统专业班级学生姓名学号指导老师C语言课程设计任务书设计课题3:通讯录管理系统问题描述:通讯录管理系统主要管理用户通讯录的基本信息。

在系统中,每个用户是一条记录,包括姓名、电话号码、通讯地址。

系统要对一个有N个用户的通讯录统一进行管理。

包括了用户信息的录入、显示、修改、查询等操作。

1、功能设计要求:1)本系统采用结构体数组进行数据存储。

用户结构体应该包括用户的基本信息(姓名、电话号码、通讯地址)。

2)设计主菜单界面,确定函数个数。

设计菜单应包含以下功能:录入信息(用户基本信息录入)显示(显示用户基本情况)修改信息(用户基本信息修改)查询(查询用户的基本信息)退出系统3)要求:建立两个结构体数组(或链表、文件),包括至少5个用户的必要信息,能对数据进行补充、修改。

执行一个具体的功能之后,程序将重新显示菜单。

3、要求:1)用C语言实现系统;2)函数功能要划分好(结构化程序设计);3)界面友好(良好的人机交互),加必要的注释;4)提供程序测试方案。

目录一、系统介绍 (3)二、总体设计 (1)2.1程序模块 (1)2.2.函数分析 (1)2.3.总体结构 (1)三.主要模块的实现 (2)四.程序调试 (7)五.总结与体会 (19)一、系统介绍1、本系统采用结构体数组进行数据存储,信息包含编号、姓名、电话及通讯地址;2、能够提供添加、浏览和修改通讯录信息的功能;3、能够提供安不同方式查询的功能,可按姓名或电话查询;4、能够按表格方式输出通讯录信息。

二、总体设计2.1程序模块本程序主要设计了四个模块,分别是:添加函数:input( )查找函数:search( )修改函数:change( )浏览函数:scan( )2.2.函数分析input( )为输入函数,负责添加通讯录信息;search( )查找函数,对通讯录中的信息进行查找;change( )函数为修改函数,用于修改成员信息;scan( )函数为浏览函数,用于浏览整个通讯录。

c语言课程设计学生通讯录管理系统

c语言课程设计学生通讯录管理系统

C语言课程设计 - 学生通讯录管理系统1. 引言学生通讯录管理系统,简称STMS(Student Telephone Management System),是一款基于 C 语言开发的学生通讯信息管理系统。

该系统旨在帮助学校或其他机构方便地管理学生通讯录信息,包括学生的基本信息、联系方式等。

本文档将介绍该系统的设计要求、功能模块、数据结构、算法以及使用方法。

2. 设计要求学生通讯录管理系统应满足以下设计要求:•能够实现学生信息的添加、删除、修改和查询等基本操作;•提供用户友好的界面,方便用户进行操作;•数据存储应使用文件方式进行,确保数据可以持久保存;•提供合理的错误处理机制,提示用户操作引起的错误并给予相应的错误提示。

3. 功能模块学生通讯录管理系统包含以下功能模块:3.1 用户管理模块该模块用于管理系统注册的用户信息,包括用户的登录名、密码等。

•用户登录:用户输入用户名和密码,系统验证登录信息并提供相应权限;•用户注册:新用户可以通过该功能注册账号,并设置登录密码;•用户权限管理:系统根据用户不同的角色分配相应的权限。

3.2 学生信息管理模块该模块用于管理学生的基本信息和通讯录信息。

•添加学生信息:用户可以添加学生的基本信息和联系方式;•删除学生信息:用户可以根据学生的ID删除特定学生的信息;•修改学生信息:用户可以修改指定学生的信息;•查询学生信息:用户可以根据学生的姓名或其他关键词进行学生信息的查询。

3.3 通讯录管理模块该模块用于管理学生的通讯录信息,包括通讯录的名称、联系方式等。

•添加通讯录:用户可以添加新的通讯录,并指定通讯录的名称;•删除通讯录:用户可以根据通讯录的名称删除指定的通讯录;•修改通讯录:用户可以修改已存在的通讯录的名称;•查询通讯录:用户可以根据通讯录的名称查询对应的联系方式。

4. 数据结构学生通讯录管理系统采用以下数据结构:4.1 学生结构体typedef struct {int id; // 学生IDchar name[20]; // 学生姓名char gender; // 学生性别char phone[11]; // 学生电话号码char email[50]; // 学生电子邮箱} Student;4.2 通讯录结构体typedef struct {char name[50]; // 通讯录名称char phone[11]; // 通讯录联系方式} Directory;5. 算法学生通讯录管理系统采用以下算法实现部分功能:5.1 添加学生信息```c void addStudent() { Student student; // 用户输入学生信息 printf(。

c语言通讯录管理系统课程设计

c语言通讯录管理系统课程设计

c语言通讯录管理系统课程设计一、教学目标本课程旨在让学生掌握C语言编程基础,通过编写通讯录管理系统,培养学生的实际编程能力和问题解决能力。

具体目标如下:1.知识目标:学生能理解C语言的基本语法、数据类型、运算符、控制结构等,并掌握结构体、文件操作等高级概念。

2.技能目标:学生能运用C语言实现功能齐全的通讯录管理系统,包括但不限于添加、删除、查找、修改联系人信息等功能。

3.情感态度价值观目标:通过课程学习,学生能培养编程思维,增强对计算机科学的兴趣,理解技术对现代社会的重要性。

二、教学内容教学内容围绕C语言通讯录管理系统的设计与实现展开,具体包括:1.C语言基础知识:数据类型、变量、运算符、控制结构。

2.高级数据结构:结构体、指针、数组。

3.文件操作:文件的打开、读写、关闭。

4.通讯录管理系统设计:需求分析、系统设计、功能实现。

三、教学方法结合C语言的特点和学生实际情况,采用以下教学方法:1.讲授法:系统讲解C语言基础知识和编程技巧。

2.案例分析法:分析已有的通讯录管理系统案例,引导学生理解系统设计过程。

3.实验法:学生在实验室环境里动手编写代码,实践所学知识。

四、教学资源为确保教学质量,准备以下教学资源:1.教材:《C程序设计语言》(K&R)、《C Primer Plus》。

2.参考书:《C语言深度剖析》、《C语言编程实践》。

3.多媒体资料:教学PPT、在线编程教程、视频讲解。

4.实验设备:计算机、网络环境、编程环境(如Code::Blocks、Visual Studio)。

五、教学评估本课程采用多元化的评估方式,全面客观地评价学生的学习成果:1.平时表现:通过课堂参与、提问、小组讨论等评估学生的积极性与专注度。

2.作业:布置编程作业,评估学生的编程能力和对知识的理解应用。

3.实验:评估学生在实验室的编程实践表现,检查代码质量与创新性。

4.期中期末考试:设置包含选择题、填空题、编程题的试卷,全面测试学生的知识掌握和应用能力。

通讯录管理系统c语言课程设计

通讯录管理系统c语言课程设计

通讯录管理系统 - C语言课程设计一、引言通讯录管理系统是一个基础而重要的应用程序,它可以帮助用户轻松地管理各种联系人信息。

本文将介绍一个使用C语言开发的通讯录管理系统的设计和实现过程。

二、系统设计1. 功能设计通讯录管理系统主要包括以下功能: - 添加联系人信息 - 删除联系人信息 - 修改联系人信息 - 查询联系人信息 - 显示所有联系人信息2. 数据结构设计为了实现通讯录管理系统的功能,我们需要设计合适的数据结构来存储联系人信息。

在本系统中,我们使用结构体来表示每个联系人的信息,结构体包括姓名、电话号码等字段。

typedef struct {char name[50];char phone[20];// 其他字段} Contact;3. 界面设计为了方便用户操作,通讯录管理系统的界面设计应该简洁明了。

在本系统中,我们采用命令行界面,用户通过键盘输入不同的命令来实现相应的功能。

三、系统实现1. 添加联系人信息用户可以通过输入联系人的姓名和电话号码来添加新的联系人信息。

系统将会将新的联系人信息存储到通讯录中。

2. 删除联系人信息用户可以通过输入联系人的姓名来删除特定联系人的信息。

系统将会从通讯录中删除对应的联系人记录。

3. 修改联系人信息用户可以通过输入联系人的姓名来修改特定联系人的信息。

系统将会根据用户输入的信息更新通讯录中相应联系人的记录。

4. 查询联系人信息用户可以通过输入联系人的姓名来查询特定联系人的信息。

系统将会显示出对应联系人的所有信息。

5. 显示所有联系人信息用户可以查看通讯录中所有联系人的信息。

系统将会按照一定的格式将所有联系人的信息逐条显示出来。

四、总结通过本文的介绍,我们了解了一个简单而实用的通讯录管理系统的设计和实现过程。

通讯录管理系统可以帮助用户方便地管理联系人信息,提高工作效率。

我们希望在学习C语言的过程中,通过实际项目的练习,提升自己的编程能力和解决问题的能力。

通讯录管理系统是一个不错的项目选择,希望读者可以从中获益良多。

C语言课程设计---学生通讯录管理系统

C语言课程设计---学生通讯录管理系统

C语言课程设计---学生通讯录管理系统。

一、系统背景学生通讯录管理系统是一个收集、管理完善学生信息的设计方案,用于关注学生个人详细信息,包括学生姓名,性别,年龄,家庭住址等,旨在为学校、家长提供全面、及时的信息管理服务,使用简单、实用性强,并可以根据实际需求,调整系统功能内容及操作流程的学生通讯录管理系统。

二、系统功能1、信息录入:管理员可以对学生信息进行录入,包括学生的学号、姓名、性别、年龄、家庭住址、父母电话号码等。

3、信息查询:管理员可以根据学生学号、姓名等搜索学生信息,可以快速找到所需的学生节点信息。

4、信息统计:系统可以依据信息的个性化特点,自动生成学生通讯录,便于管理人员查阅。

5、用户管理:管理员可以管理系统用户的用户名、密码、权限等,并可以根据需求增加、修改、删除用户账号信息。

三、系统流程1、系统开发:从需求分析、详细设计、界面设计到程序编码完成,包括系统功能模块开发,业务流程分析,数据库设计,数据交互,压力测试,过程控制,系统安全,系统维护与更新等,以确保系统可靠性。

2、部署与安装:系统部署完毕后,需要完成服务器端基本信息采集,如确定服务器IP地址,运行环境,程序配置,操作系统配置,备份配置,文件安全配置,权限设置等安装步骤,以确保系统安全性。

3、运行维护:根据系统实际应用情况,工程师应对系统及数据库进行定期检查,完善系统运行日志,以及故障分析,体系数据库定期备份,完善系统的安全及性能,以确保系统正常运行。

四、系统实施1、硬件及软件:学生通讯录管理系统的实施需要运行在较新的计算机硬件系统上,需要使用Windows操作系统,是采用C语言作为开发语言,开发工具可以采用Visual Studio C++、Embarcadero C++ 11或以上,数据库系统采用Oracle 9i或者MySQL。

2、系统测试:针对系统实际功能,专业测试工程师应当进行系统测试, 并对测试结果进行分析,能够及时发现和修正系统中可能存在的严重错误和不确定性缺陷, 从而获得系统良好的可靠性。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

湖南工程学院课程设计报告通讯录管理系统姓名:李任学院:计算机与通讯学院专业:计算机科学与技术班级:计算机0803班指导教师:刘长松目录1.第一章:前言 (2)2.第二章:概述 (3)3.第三章:算法分析 (5)4.第四章:主要流程图 (12)5.第五章:程序源代码 (13)6.第六章:测试及输出结果 (20)7.第七章:课程设计体会 (23)8.第八章:参考文献 (24)第一章:前言通过一个学期的学习,我认为要学好C语言程序这门课程,不仅要认真阅读课本知识,更重要的是要通过上机实践才能增强和巩固我的知识。

而C语言课程设计则对我们有以下几点帮助:1. 进一步掌握和利用C语言进行程序设计的能力;2. 进一步理解和运用结构化程序设计的思想和方法;3. 初步掌握开发一个小型实用系统的基本方法;4. 学会调试一个较长程序的基本方法;5. 学会利用流程图或N-S图表示算法;6. 掌握书写程设计开发文档的能力 (书写课程设计报告) 。

第二章:概述一、本课程设计的目的和意义本课程设计可加深对课堂理论学习的理解,增强动手能力,以培养学生合作的能力,为毕业设计作好实践环节上的准备。

通讯录系统是在学校常见的计算机信息管理系统。

它的主要任务是对学生信息进行管理,如学生信息的输入、查询、修改、增加、删除,迅速准确地完成各种学生信息的统计和查询。

二、本课程设计主要内容本系统有分7个功能:(1)写入数据(2)读取数据(3)追加数据(4)查找数据(5)备份数据(6)删除数据(7)还原数据。

其主要利用结构类型,指针,数组,函数等C语言知识来实现。

第三章:算法分析整个系统共分为8模块,主函数加7个子函数,从而实现7大功能:写入数据,读取数据,追加数据,查找数据,备份数据,删除数据,还原数据;各个程序的算法分析如下:(1)主函数main():利用for( ; ; )和switch()实现主界面的显示与各选项的连接;流程图如下:(2)写入函数void input1():利用文件的fwrite()语句来实现数据的保存;流程图如下:(3)读取数据void read1():利用文件的fread()语句来实现数据的读取;流程图如下(4)追加数据void append1():利用fread()来读出文件里的数据,从而确定数据的数量,再在最后一条数据后通过fopen(“文件名”,”ab”)来实现追加;流程图如下:(5)查找数据void find1()通过strcmp()==0来实现数据的查找;流程图如下:(6)备份数据void backup1():通过将数据复制到另一个文件里的方法来实现备份功能;流程图如下:(7)删除数据void delete1():通过将后一行数据覆盖前一行数据的方法来实现删除功能;流程图如下:(8)还原数据comeback1():通过将已备份的数据复制到原来的这个文件里的方法来实现还原的流程图如下:第四章:主要流程图系统功能模块结构图:各模块功能的分析:(1)主函数:可让用户选择用系统的哪个功能,从而去连接到相应的子函数;(2)写入数据:让用户输入通讯录里的内容,并将内容保存好;(3)读取数据:显示通讯录里已保存的数据;(4)追加数据:让用户在通讯录原有数据中,再加上新的数据;(5)查找数据:通过用户输入需要找的名字来找到相关资料;(6)备份数据:将已有数据进行备份;(7)删除数据:让用户删除想要删除的资料;(9)还原数据:使通讯录里的数据恢复到备份时的模样。

第五章:程序源代码#include <stdio.;printf("Be careful!!!Do you sure to input?(yn):\7\7\7\n");n=getchar();n=getchar();if(n!='y')return;{fp=fopen("txl","wb");for(i=0;i<N;i++){printf("Input the name(Input exit return):\n");scanf("%s",stu[i].name);if(strcmp(stu[i].name,"exit")==0)return;else{printf("Input the city:\n");scanf("%s",stu[i].city);printf("Input the email:\n");scanf("%s",stu[i].email);printf("Input the phone:\n");scanf("%ld",&stu[i].phone);printf("Input the zip:\n");scanf("%ld",&stu[i].zip);fwrite(&stu[i],sizeof(struct address),1,fp);}}fclose(fp);}}void read1(){FILE *fp;int i;if((fp=fopen("txl","rb"))==NULL){printf("Can not to open the txl.\n");return;}printf("====================================================== ==========================\n");printf(" Name City Email Phone Zip \n");printf("====================================================== ==========================\n");for(i=0;fread(&stu[i],sizeof(struct address),1,fp)!=0&&i<N;i++){printf("%15s%15s%20s%15ld%10ld\n",stu[i].name,stu[i].city,stu[i].email,stu[i].phone,stu[i].zip);}getch();fclose(fp);}void append1(){FILE *fp;int i,sum=0;if((fp=fopen("txl","rb"))==NULL){printf("Can not to open the txl.\n");return;}for(i=0;fread(&stu[i],sizeof(struct address),1,fp)!=0&&i<N;i++) sum+=1;fclose(fp);if((fp=fopen("txl","ab"))==NULL){printf("Can not to open the txl.\n");return;}for(i=sum;i<N;i++){printf("Input the name(Input exit return):\n");scanf("%s",stu[i].name);if(strcmp(stu[i].name,"exit")==0)return;else{printf("Input the city:\n");scanf("%s",stu[i].city);printf("Input the email:\n");scanf("%s",stu[i].email);printf("Inpute the phone:\n");scanf("%ld",&stu[i].phone);printf("Inpute the zip:\n");scanf("%ld",&stu[i].zip);fwrite(&stu[i],sizeof(struct address),1,fp);}}fclose(fp);}void find1(){FILE *fp;int i,j;char s[16];printf("Input the name:\n");scanf("%s",s);if((fp=fopen("txl","rb"))==NULL){printf("Can not to open the txl.\n");return;}for(i=0;fread(&stu[i],sizeof(struct address),1,fp)!=0&&i<N;i++) if(strcmp(stu[i].name,s)==0){printf("====================================================== ==========================\n");printf(" Name CityEmail Phone Zip \n");printf("====================================================== ==========================\n");printf("%15s%15s%20s%15ld%10ld",stu[i].name,stu [i].city,stu[i].email,stu[i].phone,stu[i].zip);getch();}fclose(fp);}void backup1(){FILE *fp1,*fp2;int i;if((fp1=fopen("txl","rb"))==NULL){printf("Can not to open the txl.\n");return;}fp2=fopen("txl2","wb");for(i=0;fread(&stu[i],sizeof(struct address),1,fp1)!=0&&i<N;i++) fwrite(&stu[i],sizeof(struct address),1,fp2);fclose(fp1);fclose(fp2);printf("The backup was done!\n");getch();}void delete1(){FILE *fp;int i,j,n=0;char s[16];printf("Input the name:\n");scanf("%s",s);if((fp=fopen("txl","rb"))==NULL){printf("Can not to open the txl.\n");return;}for(i=0;fread(&stu[i],sizeof(struct address),1,fp)!=0&&i<N;i++) {if(strcmp(stu[i].name,s)==0){for(j=i+1;fread(&stu[j],sizeof(structaddress),1,fp)!=0&&j<N;j++){strcpy(stu[j-1].name,stu[j].name);strcpy(stu[j-1].city,stu[j].city);strcpy(stu[j-1].email,stu[j].email);strcpy(stu[j-1].phone,stu[j].phone);strcpy(stu[j-1].zip,stu[j].zip);}}n+=1;}fclose(fp);fp=fopen("txl","wb");for(i=0;i<n-1;i++){fwrite(&stu[i],sizeof(struct address),1,fp);}fclose(fp);printf("The date was delete.");getch();}comeback1(){FILE *fp,*fp1;int i;if((fp1=fopen("txl2","rb"))==NULL){printf("Can not to open the txl.\n");return;}fp=fopen("txl","wb");for(i=0;fread(&stu[i],sizeof(struct address),1,fp1)!=0&&i<N;i++) fwrite(&stu[i],sizeof(struct address),1,fp);fclose(fp1);fclose(fp);printf("The comback was done!\n");getch();}main(){int a;for(;;){printf(" * * * * * * * * * * * * * * * * * * * * * * * * *\n");printf(" * * * * * * * * * * * * * * * * * * * * * * * * *\n");printf(" * * * *\n");printf(" * * * *\n");printf(" * * (1)Input the data * *\n");printf(" * * (2)Read the txl * *\n");printf(" * * (3)Append the data * *\n");printf(" * * (4)Find the data * *\n");printf(" * * (5)Backup the data * *\n");printf(" * * (6)Delete the data * *\n");printf(" * * (7)Comeback the data * *\n");printf(" * * * *\n");printf(" * * * *\n");printf(" * * * * * * * * * * * * * * * * * * * * * * * * *\n");printf(" * * * *\n");printf(" * * (0)Exit * *\n");printf(" * * * *\n");printf(" * * * * * * * * * * * * * * * * * * * * * * * * *\n");printf(" * * * * * * * * * * * * * * * * * * * * * * * * *\n");printf(" % % % % % % % % % % % % % % % % % % %\n");printf(" % %\n ");printf(" % This program is make for Wu Feng! %\n");printf(" % %\n ");printf(" % % % % % % % % % % % % % % % %% % %\n");printf("Input 0-7:");scanf("%d",&a);switch (a){case 1: input1();break;case 2: read1();break;case 3: append1();break;case 4: find1();break;case 5: backup1();break;case 6: delete1();break;case 7: comeback1();break;case 0:printf("* * * * * * * * * * * * * * * * * * ** *\n");printf("**\n");printf("* Good by~~~*\n");printf("**\n");printf("* * * * * * * * * * * * * * * * * * ** *\n");getch();exit();break;default: printf("The number is not in 0-7!\n");getch();break;}}}第六章:测试及输出结果写入数据函数测试:在主界面输入:1屏幕输出:Be careful!!!Do you sure to input?(yn):输入:y屏幕输出:Input the name(Input exit return):输入:liang屏幕输出:Input the city:输入:zhuhai屏幕输出:Input the email:屏幕输出:Input the phone:输入:123456屏幕输出:Input the zip:输入:519055屏幕输出:Input the name(Input exit return):输入:exit回到主界面;读取数据函数测试:在主界面输入:2屏幕输出:按下任意键回到主函数;追加数据函数测试:在主界面输入:3屏幕输出:Input the name(Input exit return): 输入:li屏幕输出:Input the city:输入:zhuhai屏幕输出:Input the email:屏幕输出:Input the phone:输入:654321屏幕输出:Input the zip:输入:519055屏幕输出:Input the name(Input exit return): 输入:exit回到主界面,输入:2屏幕输出:按任意键回到主函数;查找数据函数测试:在主界面输入:4屏幕输出:Input the name:输入:liang屏幕输出:按任意键返回主界面;备份数据函数测试:在主界面输入:5屏幕输出:The backup was done! 按任意键返回主界面;删除数据函数测试:在主界面输入:6屏幕输出:Input the name:输入:li屏幕输出:The date was delete.按任意键返回主界面,输入:2屏幕输出:按任意键返回主界面;还原数据函数测试:在主界面输入:7屏幕输出:The comback was done! 按任意键返回主界面,输入2屏幕输出:按任意键返回主界面;退出程序:在主界面输入:0屏幕输出:按任意键退出程序。

相关文档
最新文档