电话簿管理系统课程设计

合集下载

C++课程设计 电话簿管理

C++课程设计 电话簿管理

Visual C++ 课程设计实验报告题目:电话薄管理班级:07102003学号:0710200310姓名:曹哲指导老师:何新2008年9月实验题目: 5-5 电话薄管理一、课程设计要求:功能介绍:一个电话薄管理小程序。

利用文本文件存储电话薄数据,具有添加、删除、显示和查询联系人号码的功能。

(1) 将电话薄数据和相应的函数封装在类中,改写程序使之结构化。

(2) 增加记录修改功能,能选择修改用户的姓名、电话。

(3) 增加录入时间的显示及存储。

(4) 增加缺省的查询方式,即查询时只输入姓名的首字母,所有符合这一条件的电话资料均在屏幕上显示。

平定难易等级:A级。

二、程序设计思想(相关问题解决办法):类封装成类是首先遇到的问题,我根据课程设计书上的提示,通过看书和与同学讨论,最后比较清楚地明白了类的封装方法。

我在封装时,在类中定义了一些内联函数,并且把函数都定义为公有成员,这样可以方便类外的函数使用成员数据。

书上的参考程序与我的稍有不同。

增加时间这个是通过互联网学到的,利用time.h。

3)增加修改功能我定义了friend_node::modify_record 函数,用来修改用户的姓名、电话。

在函数中,我运用了if-else,switch等语句并对函数进行了重载。

并且本程序可以选择修改,姓,名,电话。

首字母查询这是一个比较难解决的问题,我使用了与全名查找基本相同的函数,我只要求姓相同,全名查找要求姓和名全部相同。

我在这个的解决上还存在一些问题,这证明程序还是不够完善。

这说明我对指针的使用还不够好。

三、课程设计心得:本来打算选计算器,后来觉得计算器编起来没什么意思,就换成了这个难一点儿的电话薄管理。

在程序编写过程中,我发现,不只是难了一点儿。

但是,有难度才有挑战,才有乐趣,不是么?看到源程序,立马被其拥有的函数的数量震撼了。

把它们封装起来费了我不少精力。

但是,看着它们由零散的函数变为整齐的类,就如同看到C语言向C++语言进化。

课程设计电话簿管理系统

课程设计电话簿管理系统

一.程序功能简介一个基本的电话簿管理程序,具有插入、删除、显示、修改和查询联系人电话码的功能。

主菜单如右图所示,每个菜单项功能如下:1.增加记录菜单:请输入用户姓名,如果该用户已经存在则添加失败,否则,输入用户的电话号码,进行添加。

2.修改某条记录:请输入用户姓名,如果没有该用户显示“该用户不存在”信息,否则,输出原电话号码,然后输入新的电话号码,进行修改。

3.删除记录:输入用户姓名,进行删除(删除时要进行确认)。

4.查询:输入用户姓名,进行查找。

5.排序:根据子菜单,选择不同的排序方式。

6.显示:逐屏显示(每屏显示10条记录)。

7.全删:进行全部删除(要确认)。

二.课程设计要求请选择以下功能1- 增加记录2- 修改记录3- 删除记录4- 查找(按姓名)5- 排序6- 显示记录1.用汉化菜单实现。

2.提供按姓名查询电话号码的功能。

3.显示功能(提供逐屏显示的功能,每屏显示10条记录)。

4.删除和修改时要进行确认。

5.将电话簿记录以文件的形式存在磁盘上;每次操作时将电话簿调出,操作完毕后存盘。

三.课程设计说明1.程序采用数组数据结构实现。

2.用类来实现数据的封装。

四.参考数据结构1.“电话簿”称为用户信息表,用数组实现。

用户信息表由若干用户信息构成,每个用户信息是一个数组元素。

2.“user.txt”是一个文件,用于保存“用户信息表”中的信息。

当系统启动时,从该文件中读入信息,当退出系统时,将“用户信息表”中的信息写到该文件中。

该文件中信息存放形式如下:ZhangHong 5221369LiLi 84891112ZhaoQiang 5221498其中name(姓名)占20列phone_num(电话号码)占12列五.具体功能及实现定义Fphone类,通过其私有成员数组name[20]和phone[12]分别记录用户姓名与电话号码,定义UserDatabase类记录用户信息,通过公有成员函数实现对数据的操作。

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

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

学生通讯录管理系统课程设计一、引言学生通讯录管理系统是一种能够有效管理学生通信信息的软件工具。

在当今信息化社会中,为了更好地维护学生通信信息和便于学校管理,设计一个高效、实用的学生通讯录管理系统至关重要。

本文将围绕学生通讯录管理系统的设计与实现展开讨论。

二、需求分析1. 用户需求•管理员需要能够对学生信息进行增删查改操作;•学生要能够方便地修改个人信息;•教师需要便捷地查看学生信息;•系统需要有良好的用户权限管理机制。

2. 功能需求•学生信息管理:包括学生基本信息的录入、修改和删除。

•通讯录管理:实现学生通讯录的管理和分类。

•查询功能:实现对学生信息的快速查询。

•权限管理:分管理员和普通用户,管理员有更高的权限控制。

三、系统设计1. 系统架构学生通讯录管理系统采用典型的客户-服务器架构,后端基于MySQL数据库存储学生信息,前端通过Web页面进行展示和操作。

2. 数据库设计设计数据库表格包括:学生信息表(包括学号、姓名、性别、年级等字段)、用户表、通讯录表等。

3. 页面设计•登录页面:对用户进行身份验证。

•学生信息管理页面:实现对学生基本信息的增删查改。

•通讯录管理页面:实现通讯录的分类和管理。

四、系统实现1. 环境配置•使用Python语言编写后端代码。

•前端采用HTML、CSS、JavaScript。

•数据库采用MySQL。

2. 实现步骤1.搭建后端框架,实现数据的增删查改功能。

2.设计前端页面,实现用户交互和数据展示。

3.进行系统测试和优化。

五、功能演示1. 登录功能输入正确的用户名和密码,用户可以成功登录系统。

2. 学生信息管理管理员可以添加、删除、修改学生信息,普通用户只能查看。

3. 通讯录管理实现对通讯录的添加、分类和管理。

六、总结与展望通过本次学生通讯录管理系统课程设计,我学到了如何进行系统设计、数据库设计和前后端分离开发的方法。

未来,还可以进一步改进系统功能,增加权限管理模块、优化界面交互等,使系统更加稳健和实用。

通讯录管理系统课程设计报告系统存储结构

通讯录管理系统课程设计报告系统存储结构

通讯录管理系统课程设计报告系统存储结构一、引言通讯录管理系统是一种方便快捷地存储和管理联系人信息的应用程序。

在该系统中,数据的存储结构至关重要,它直接关系到系统的性能和稳定性。

本文将介绍通讯录管理系统的系统存储结构设计,包括数据的组织方式、存储介质选择等内容。

二、存储结构设计1. 数据的组织方式在通讯录管理系统中,联系人信息是系统中最主要的数据之一。

为了高效地存储和管理这些信息,我们选择采用数据库的方式进行组织。

数据库将联系人信息按照一定的结构进行组织和存储,方便系统对数据的检索和更新。

2. 数据库的选择在选择数据库时,我们考虑到系统的使用特点和性能要求,最终选择了关系型数据库。

关系型数据库具有良好的数据一致性和完整性,能够满足系统的数据管理需求。

同时,支持 SQL 查询语言的特性也使得对数据进行灵活的操作成为可能。

3. 数据表设计在关系型数据库中,数据是以表的形式进行存储的。

针对通讯录管理系统的需求,我们设计了以下几张表:•用户表:用于存储系统的用户信息,包括用户名、密码等;•联系人表:用于存储用户的联系人信息,包括姓名、电话号码、邮箱地址等;•分组表:用于将联系人进行分类管理,方便用户对联系人信息进行组织。

每张表之间通过外键进行关联,确保数据的一致性和完整性。

三、存储介质选择除了数据库存储外,系统还需要选择适当的存储介质来保存一些系统配置信息和用户的登录状态等数据。

我们选择了文件系统作为存储介质,将这些数据以文件的形式进行存储。

四、存储结构的优化为了提高系统的性能和响应速度,我们对存储结构进行了一定的优化。

主要包括以下几点:•索引设计:对关键字段建立索引,加快检索速度;•归档策略:定期对系统中的数据进行归档,减少存储空间的占用;•缓存机制:使用缓存技术对频繁访问的数据进行缓存,减少数据库访问的频率。

五、总结系统存储结构的设计对于通讯录管理系统的性能和稳定性具有重要影响。

通过合理选择数据库和存储介质,并对存储结构进行优化,可以有效提高系统的用户体验和响应速度。

(完整word版)电话簿管理系统

(完整word版)电话簿管理系统

课程设计说明书设计名称:程序设计语言强化课程设计题目:电话簿管理系统学生姓名:专业:班级:学号:指导教师:日期:年月日课程设计任务书专业年级班一、设计题目(一)学生成绩排名(二)根据条件进行学生成绩排名(三)链表的操作(链表的建立,访问,删除链表指定结点,增加结点)(四)学生成绩文件管理(五)一个综合系统(电话簿管理系统)二、主要内容2.1学生成绩排名采用选择法,将学生成绩从高到低进行排序,再输入一个学生的成绩,将此成绩按照排序规律插入已排好序的学生成绩数组,最后将排好序的成绩单进行反序存放。

2.2 根据条件进行学生成绩排名在函数中进行10个学生成绩从高到低排名,再改进函数,进行n个学生成绩从高到低排名, 排名方式根据函数的style参数进行,如style为‘a'按升序排,style为' d ' 按降序排。

(a:ascending 升,d:descending 降)编写多个不同函数,使之能实现不同的排序算法(3种以上),再编写一个通用输出函数,(要求用函数指针做参数)能分别打印不同排序算法的结果。

2.3链表的操作(链表的建立,访问,删除链表指定结点,增加结点)建立一个动态链表,将学生数据(学号,成绩)存入链表结构中,实现链表的访问(求学生成绩的平均分,找到最高分,最低分,将其数据输出)。

删除指定学号的学生数据,对学生数据进行排序,分别在链表头部,中间,末尾插入学生数据。

2.4学生成绩文件管理定义一个结构体数组,存放10个学生的学号,姓名,三门课的成绩,输出单门课成绩最高的学生的学号、姓名、以及该门课程的成绩,输出三门课程的平均分数最高的学生的学号、姓名及其平均分,将10个学生的相关数据,存入文件中,再从文件中读出,按照平均分数从高到低进行排序,分别将结果输出到屏幕上和另一文件中,再从文件中读取第 1 ,3 , 5 ,7,9个学生的数据。

2.5 一个综合系统(电话簿管理系统)数据库的主要数据包括:姓名、工作单位、电话号码、E-mail地址。

电话簿管理系统课程设计(总20页)

电话簿管理系统课程设计(总20页)

电话簿管理系统课程设计(总20页)-CAL-FENGHAI.-(YICAI)-Company One1-CAL-本页仅作为文档封面,使用请直接删除电话簿管理系统VER1.0系别:计算机科学与技术系电子信息科学与技术2班专业(班级):姓名徐楚奇学号指导教师:赵翔完成日期:2014年11月7日目录摘要 (3)第一章前言 (4)第二章电话簿管理系统介绍 (5)2.1流程图 (5)2.2程序编写概要 (6)第三章主要功能实现 (7)3.1删除功能设计 (7)3.2添加功能设计 (7)第四章源程序 (9)第五章总结心得 (23)致谢 (24)参考文献 (24)摘要本次课程设计的题目是个人通讯录管理系统,要求将程序中所输人的联系人姓名、电话、QQ、MSN和地址信息这些数据以文本的方式保存,并且能够对所储存的联系人信息进行显示、查询、修改、删除等功能。

本文通过利用模块化程序设计思想,使用单链表和结构体等编写出的可以实现存储、打印、删除等功能的电话簿管理系统。

通过完成这个课程设计让我们熟悉并掌握在c语言中使用结构体、单链表,指针,函数,和模块化设计思想。

关键词结构体,链表,指针,函数第一章前言在前面我们学习了c语言的一些基础知识对c语言有了初步的认识和了解,为了让我们更加全面地了解c语言程序设计的步骤和方法,在老师的指导下我们进行了一次综合实训。

设计一个简单的电话簿管理系统,可以存储,删除等电话号码。

为了方便使用DEV-C++来编写程序,可以添加汉字备注方便理解程序。

根据前面所学的单链表、指针、函数、结构体等知识在使用模块化设计思想去编写。

设计“通讯录管理系统”使其具有数据插入、修改、删除、显示和查询等功能。

使学生进一步理解和掌握课堂上所学各种基本抽象数据类型的逻辑结构、存储结构和操作实现算法,以及它们在程序中的使用方法。

使学生掌握软件设计的基本内容和设计方法,并培养学生进行规范化软件设计的能力。

使学生掌握使用各种计算机资料和有关参考资料,提高学生进行程序设计的基本能力。

电话簿管理系统课程设计

电话簿管理系统课程设计

目录摘要 (2)一、课程设计目的 (3)二、课程设计内容 (3)三、总体设计 (3)四、详细设计 (5)(1)数据结构设计 (5)(2)模块接口设计 (5)(3)部分函数细节 (6)五、调试与测试 (9)(1)调试过程中的主要问题 (9)(2)测试结果的分析与讨论 (9) (12)六.实习总结 (14)参考文献 (15)致谢辞 (16)附录:源程序代码 (17)摘要日益繁多的人际交往使得我们很难搞清楚与每个人之间的联系方式,特别是对于做经常出差的人来说更是难,所以电话簿能够便捷的给我们带来所需要的相关信息。

而随着计算机的普及,人们的生活摆脱了传统式的电话簿,越来越多的靠计算机来帮助人们记住这些事情,极其简便。

这就需要有一个使用的电话簿管理系统,用户可以方便的通过自己电脑的电话簿管理系统,来随时查阅自己所需要的信息,而不必再大费周折去翻开那繁琐的记事本。

电话簿管理系统是一个专门针对储存用户联系方式以及一些简单个人信息的实用管理系统,它方便了用户对众多客户、朋友、同事等个人信息的储存和快速查阅的功能,大大减少了查找过程的时间。

关键字:信息(Information)电话簿管理系统(The Management of Telephone Book)一、课程设计目的通过课程设计,加深对结构化设计思想的理解,能对系统功能进行分析,并设计合理的模块化结构。

通过课程设计,学会设计数据结构。

其中包括对结构数组、链表和数据结构等知识的运用。

通过课程设计,提高程序开发功能,能运用合理的控制流程编写清晰高效的程序。

通话课程设计,培养分析问题、解决实际问题的能力。

二、课程设计内容设计一个实用的电话簿管理系统,能以简便高效的方式对电话簿进行管理,具体要示:电话簿信息包括:姓名,电话。

(1)更新:能插入、删除电话簿信息。

.(2)浏览:能够查看所有的电话簿信息。

(3)查询:能实现指定姓名信息查询。

(4)修改:能修改指定的电话簿信息。

南航c语言课程设计报告——电话簿管理系统

南航c语言课程设计报告——电话簿管理系统

电话簿管理系统一.程序功能:电话簿管理系统要求实现一个电话薄系统的基本管理功能,包括录入、删除、查找、和导入/导出功能等。

1.创建电话簿;2.#include<stdio.h>#include<stdlib.h>#include<ctype.h>#include<string.h>struct telebook{ char num[4];char name[10];char phonenum[15];char email[20];struct telebook *next;};typedef struct telebook TeleBook;int menu_select();TeleBook *s;TeleBook *Create();void Display(TeleBook *head);TeleBook *Insert(TeleBook *head,TeleBook *s);TeleBook *Insert_a_record(TeleBook *head);TeleBook *Delete(TeleBook *head,char *num);TeleBook *Delete_a_record(TeleBook *head);TeleBook *Query(TeleBook *head,char *num);void Query_a_record(TeleBook *head);TeleBook *AddfromText(TeleBook *head,char *filename);void WritertoText(TeleBook *head,char *filename);void Quit(TeleBook *head);TeleBook *DeleteSame(TeleBook *head);int menu_select(){ char c;do {system("cls");printf("1. Create List\n");printf("2. Display All Record\n");printf("3. Insert a Reacord\n");printf("4. Delete a Reacord\n");printf("5. Query\n");printf("6. Add Records from a Text File\n");printf("7. Write to a Text File\n");printf("8. Delete the Same Record\n");printf("0. Quit\n");printf("Give your choice (0-8):\n");c=getchar();}while(c<'0'||c>'8');return(c-'0');}TeleBook *Create(){ TeleBook *s,*head=NULL;char c='Y';printf("create an increasing list...\n");printf("please input num,name,phonenum,email\n");while(c=='Y'||c=='y'){ s=(TeleBook *) malloc(sizeof(TeleBook));system("pause");gets(s->num);gets(s->name);gets(s->phonenum);gets(s->email);head=Insert(head,s);printf("Do you want to continue to input :(Y/N)?\n");c=getchar();}return(head);}void Display(TeleBook *head){ TeleBook *p;int i=0;p=head;printf("output list: \n ");printf("num\tname\tphonenum\temail\n");while(p!=NULL){ printf("%s\t%s\t%s\t%s\n",p->num,p->name,p->phonenum,p->email);p=p->next;if(++i%10==0){ printf("\n");system("pause");system("cls");}}}TeleBook *Insert(TeleBook *head,TeleBook *s) { TeleBook *p1,*p2;if(head==NULL){ head=s;s->next=NULL;return(head);}p2=p1=head;while(strcmp(s->num,p1->num)>0 && p1->next!=NULL){ p2=p1; p1=p1->next; }if(strcmp(s->num,p1->num)<=0){ s->next=p1;if(head==p1) head=s;else p2->next=s;}else {p1->next=s;s->next=NULL;}return(head);}TeleBook *Insert_a_record(TeleBook *head){ TeleBook *p;p=(TeleBook *) malloc(sizeof(TeleBook));printf("Please input the new Num,Name,Phonenum,Email\n");getchar();gets(p->num);gets(p->name);gets(p->phonenum);gets(p->email);head=Insert(head,p);printf("Insert success!!\n");printf("%s\n%s\n%s\n%s\n",p->num,p->name,p->phone num,p->email);return(head);}TeleBook *Delete(TeleBook *head,char *num){ TeleBook *p1,*p2;if(head==NULL){ printf("List is null\n" );return(NULL);}p1=head;while(strcmp(p1->num,num)!=0 && p1->next!=NULL){ p2=p1;p1=p1->next;}if(strcmp(p1->num,num)==0){ if(p1==head) head=p1->next;else p2->next=p1->next;printf("The num %s is deleted.\n",p1->num);free(p1);}elseprintf("The num %s is not found.\n",num);return(head);}TeleBook *Delete_a_record(TeleBook *head) { char c;char num[20];printf("Do you want to delete?(y/n)\n");getchar();c=getchar();if(c=='y'||c=='Y')printf("please input num=\n");getchar();gets(num);head=Delete(head,num);printf("delete success!\n");return(head);}TeleBook *Query(TeleBook *head,char *num) { TeleBook *p;p=(TeleBook *) malloc(sizeof(TeleBook));p=head;while(p!=NULL){ if(strcmp(p->num,num)==0) return(p);p=p->next;}return(NULL);}void Query_a_record(TeleBook *head){ char num[10];TeleBook *p;p=(TeleBook *) malloc(sizeof(TeleBook));printf("Please input the num you want to search\n");getchar();gets(num);p=Query(head,num);if(p==NULL) printf("Fail!\n");else{ printf("Search Success!\n");printf("Num:%s\nName:%s\nPhonenum:%s\nEmail:%s\ n",p->num,p->name,p->phonenum,p->email);}}TeleBook *AddfromText(TeleBook *head,char *filename){ FILE *fp;printf("Please input the filename you want.....\n");getchar();gets(filename);fp=fopen(filename,"r");if(fp==NULL){ printf("Can't open the file!\n");getchar();exit(1); }while(feof(fp)==0){ TeleBook *s;s=(TeleBook *) malloc(sizeof(TeleBook));fscanf(fp,"%s%s%s%s",s->num,s->name,s->phonenum,s ->email);head=Insert(head,s);}fclose(fp);printf("Add success\n");return(head);}void WritertoText(TeleBook *head,char *filename){ TeleBook *p;FILE *fp;printf("Please input the filename you want to output.....\n");getchar();gets(filename);if((fp=fopen(filename,"w"))==NULL){ printf("Can't open ");exit(0);}p=head;printf("Output list:\n");while(p!=NULL){ fprintf(fp,"%s\t%s\t%s\t%s\n",p->num,p->name,p->p honenum,p->email);p=p->next;}fclose(fp);printf("Write Successful!\n");}void Quit(TeleBook *head){ TeleBook *p;char c;printf("Do you want to exit? (Y or N)\n");getchar();c=getchar();if(c=='Y'||c=='y'){ while(head!=NULL){ p=head;head=head->next;free(p);}}}TeleBook *DeleteSame(TeleBook *head) { TeleBook *p;TeleBook *p1,*p2;if(head==NULL){ printf("List is null\n");return(NULL);}for(p=head;p!=NULL;p=p->next)for(p2=p,p1=p->next;p1!=NULL;p2=p1,p1=p1->next) {if(strcmp(p->name,p1->name)==0&&strcmp(p->phonenu m,p1->phonenum)==0&&strcmp(p->email,p1->email)= =0){ p2->next=p1->next;free(p1);printf("Delete Success\n");}}return(head);}void main() { TeleBook *head=NULL;printf("\t ******TeleBook*******\n");for(;;){ switch(menu_select()){case 1:printf("\tCreate List\n");head=Create();system("pause");break;case 2:printf("\tDisplay All Record\n");Display(head);system("pause");break;case 3:printf("\tInsert a Reacord\n");head=Insert_a_record(head);system("pause");break;case 4:printf("\tDelete a Reacord\n");head=Delete_a_record(head);system("pause");break;case 5:printf("\tQuery\n");Query_a_record(head);system("pause");break;case 6:printf("\tAdd Records from a Text File\n"); head=AddfromText(head,"filename");system("pause");break;case 7:printf("\tWrite to a Text File\n"); WritertoText(head,"filename"); system("pause");break;case 8:printf("\tDelete the Same Record\n"); head=DeleteSame(head);system("pause");break;case 0:printf("Goodbye!\n");Quit(head);system("pause");exit(0); }}}。

电话簿系统课程设计

电话簿系统课程设计

电话簿系统课程设计一、课程目标知识目标:1. 让学生理解电话簿系统的基本概念,掌握其数据结构和操作方法。

2. 使学生能够运用所学知识,设计并实现一个简单的电话簿系统。

3. 帮助学生了解电话簿系统在实际应用中的功能需求,如添加、删除、查询和修改联系人信息。

技能目标:1. 培养学生运用编程语言(如Python)实现电话簿系统的能力。

2. 提高学生分析问题、解决问题的能力,使其能够针对电话簿系统进行需求分析和功能设计。

3. 培养学生团队协作和沟通表达的能力,能够就电话簿系统的设计与同伴进行有效讨论。

情感态度价值观目标:1. 激发学生对计算机科学和信息技术的兴趣,培养其主动探索新知识的热情。

2. 培养学生认真负责、严谨细致的学习态度,使其认识到细节在软件开发中的重要性。

3. 引导学生关注信息技术对社会生活的影响,使其认识到电话簿系统等应用在实际生活中的价值。

课程性质:本课程为信息技术学科的教学内容,旨在通过电话簿系统设计与实现,帮助学生掌握编程语言和数据结构的基础知识,培养其解决实际问题的能力。

学生特点:考虑到学生所在年级,已具备一定的计算机操作基础和编程知识,对新鲜事物充满好奇心,但可能缺乏实际项目经验。

教学要求:结合学生特点,注重理论与实践相结合,以项目为导向,引导学生主动参与,培养其动手实践能力和团队协作精神。

在教学过程中,关注学生个体差异,给予个性化指导,确保课程目标的实现。

二、教学内容1. 电话簿系统的基本概念:介绍电话簿系统的定义、功能、应用场景,引导学生理解其与现实生活的联系。

2. 数据结构基础:回顾线性表、字典等基本数据结构,为学生实现电话簿系统提供知识储备。

3. 编程语言选择:以Python为例,讲解其在电话簿系统中的应用,如列表、字典的使用,函数的定义等。

4. 电话簿系统功能设计:分析添加、删除、查询、修改联系人信息等功能的实现方法,引导学生进行需求分析和功能规划。

5. 编程实践:指导学生运用Python编程实现电话簿系统,包括数据存储、功能模块划分、代码编写等。

电话簿管理程序设计

电话簿管理程序设计

1.设计内容:电话薄管理程序存储的数据包括:人名,工作单位,电话号码和E-mail地址有如下功能:1)加入一个新的电话号码2)删除一个电话号码3)显示保存的已有的电话号码4)修改功能5)排序功能(按电话号码,按姓名字母顺序)6)查询功能(按人名查电话号码,按电话号码查人名)要求:1)程序运行开始,首先显示一个命令菜单。

用户选择那条命令,就调用那项功能。

2)显示数据时,一页显示不下,可以分页显示。

1、设计目的通过本次课程设计了解指针、函数、文件、链表等在实际中的具体应用及他们各自特点,并通过这次实习能达到熟练应用c语言来编辑一些简单的可以在生活中使用的程序的目的,而且学会添加、删除、修改、排序、查找、显示等功能在c语言下的实现。

2、3、程序代码#include<stdio.h> /*标准输入输出库*/#include<conio.h> /*界面处理库*/#include<stdlib.h> /*标准库*/#include<string.h> /*处理字符串函数库*/char filename[20]="E:\\tx123.txt";struct phone /*定义结构体变量*/{char name[10]; /*存放姓名*/char mobile[15]; /*存放手机号码*/char phone[15]; /*存放家庭电话*/char company[20]; /*存放工作单位*/char add_Email[20]; /*存放Email地址*/struct phone *next; /*存放下一个节点的地址*/};typedef struct phone tel; /*重命名*/tel *head=NULL;int z=1,x=1; /*标记量x,z*/void showmenu(); /*显示功能菜单*/void add( ); /*控制添加记录*/void creat(); /*添加记录并按姓名排序*/void modify(); /*修改记录函数*/void searchshow(); /*查找功能显示*/tel *search(); /*查找菜单*/tel *searchname(); /*按人名查找*/tel *searchmob(); /*按手机号码查找*/tel *searchph(); /*按家庭号码查找*/void del(); /*删除记录函数*/void show(); /*显示全部记录*/void save(); /*保存函数*/void openfile(); /*输出文件到链表*/void fre(); /* 释放链表空间*/void showmenu() /*显示功能菜单*/{ int i;clrscr();for(i=0;i<80;i++)printf("%c",14);printf("\n\t\t********************************************\n"); printf("\t\t\t欢迎使用通讯录管理系统");printf("\n\t\t********************************************\n"); printf("\n\n\t\t\t******请选择你的操作******\n");printf("\t\t\t +-------------------------------+\n");printf("\t\t\t | 1 增加记录|\n");printf("\t\t\t | 2 修改记录|\n");printf("\t\t\t | 3 查找记录|\n");printf("\t\t\t | 4 删除记录|\n");printf("\t\t\t | 5 显示全部记录|\n");printf("\t\t\t | 0 退出|\n");printf("\t\t\t +-------------------------------+\n");printf("\n\n\t注意!!输入电话号码或Email要在英文状态下,中文状态无法输入!!\n\n"); printf("请在0--6选择:\n");for(i=0;i<80;i++)printf("%c",14);}void add( ) /*控制添加记录*/{int x=1;printf("开始添加纪录,在添加记录过程中按0 停止添加\n");while(x!=0){do{ creat();printf("操作完成\n");break;}while(1);printf("按0结束添加!!按其他数字键,继续添加!!!\n");scanf("%d",&x);if(x==0){ save();system("cls");}}}void creat() /*添加记录并按姓名排序*/{ int i;tel *new,*p1,*p2;new=(tel *)malloc(sizeof(tel));aa: printf("\t\t\t请输入姓名:");scanf("%s",new->name);printf("\t\t\t请输入工作单位:");scanf("%s",new->company);printf("\t\t\t请输入手机号码:");scanf("%s",new->mobile);printf("\t\t\t请输入家庭电话:");scanf("%s",new->phone);printf("\t\t\t请输入Email地址:");scanf("%s",new->add_Email);p1=head; /*将头指针赋给变量p1*/if(head!=NULL) /*先判断是否有记录*/do{if((strcmp(p1->mobile,new->mobile))==0||(strcmp(p1->phone,new->phone))==0){printf("记录已经存在\n");printf("\n%-10s%-20s%-15s%-15s%-20s\n",p1->name,p1->company,p1->mobile,p1->phone,p1->add_Email);printf("是否继续添加?1 继续添加\t其他数字键重新输入\n");scanf("%d",&i);if(i==1)break;elsegoto aa;}p1=p1->next;}while(p1!=NULL);p1=head;if(head==NULL) /*检测是否为空链表*/{head=new; /*链表为空,插入的结点作为第一个结点*/new->next=NULL;}else{while((p1->next!=NULL)&&(strcmp(p1->name,new->name)<0)){ p2=p1;p1=p1->next;}if((strcmp(p1->name,new->name)>0)){if(head==p1){ new->next=head;head=new;}else{ p2->next=new;new->next=p1;}}else{ p1->next=new;new->next=NULL;}}}void modify() /*修改记录函数*/ { tel *new=search();if(z==0);else if(x==0);else if(z==0&&x==0);else{ if(new==NULL){printf("请输入新纪录:\n");printf("\t\t\t请输入姓名:");scanf("%s",head->name);printf("\t\t\t请输入工作单位:"); scanf("%s",head->company);printf("\t\t\t请输入手机号码:"); scanf("%s",head->mobile);printf("\t\t\t请输入家庭电话:"); scanf("%s",head->phone);printf("\t\t\t请输入Email地址:"); scanf("%s",head->add_Email); save();}else{printf("请输入新纪录:\n");printf("\t\t\t请输入姓名:");scanf("%s",new->name);printf("\t\t\t请输入工作单位:"); scanf("%s",new->company);printf("\t\t\t请输入手机号码:"); scanf("%s",new->mobile);printf("\t\t\t请输入家庭电话:"); scanf("%s",new->phone);printf("\t\t\t请输入Email地址:"); scanf("%s",new->add_Email);save();}}printf("\n\n");printf("\t\t\t按任意键继续");getch();system("cls");}void searchshow() /*查找功能显示*/{ int i;clrscr();for(i=0;i<80;i++)printf("%c",16);printf("\n\t\t********************************************\n"); printf("\n\n\t\t\t******请选择你的操作******\n");printf("\t\t\t +-------------------------------+\n");printf("\t\t\t | 1 按人名查找|\n");printf("\t\t\t | 2 按手机号码查找|\n");printf("\t\t\t | 3 按家庭号码查找|\n");printf("\t\t\t +-------------------------------+\n");printf("\n\t\t********************************************\n"); printf("请在1--3选择:\n");for(i=0;i<80;i++)printf("%c",17);}tel *search() /*查找菜单*/{ int i;tel *p1=NULL,*p2=NULL,*p=NULL;searchshow();loop:scanf("%d",&i);if(i>=1&&i<=3)switch(i){case 1:p2=searchname();break;case 2:p2=searchmob();break;case 3:p2=searchph();break;}else{printf("选择错误,请重新选择\n\n");goto loop;}p1=head;while(p1!=NULL){if((strcmp(p1->name,p2->name))==0||(strcmp(p1->mobile,p2->mobile))==0||(strcmp(p1->phone,p2->phone))==0){printf("找到记录:\n");printf("%-10s%-20s%-15s%-15s%-20s\n","姓名","工作单位","手机号码","电话号码","家庭住址");printf("\n%-10s%-20s%-15s%-15s%-20s",p1->name,p1->company,p1->mobile,p1->phone,p1->a dd_Email);getch();break;}p=p1;p1=p1->next;}if(p1==NULL){printf("\t\t\t电话本中无此记录\n\n");printf("\t\t是否重新进行?按1 继续\t\n");scanf("%d",&i);if(i==1){free(p2);goto loop;}}return p;}tel *searchname() /*按人名查找*/{tel *p2=NULL;printf("\t\t请输入姓名:");p2=(tel *)malloc(sizeof(tel));scanf("%s",p2->name);return p2;}tel *searchmob() /*按手机号码查找*/{ tel *p2=NULL;printf("\t\t请输入手机号码:");p2=(tel *)malloc(sizeof(tel));scanf("%s",p2->mobile);return p2;}tel *searchph() /*按家庭号码查找*/{ tel *p2=NULL;printf("\t\t请输入家庭电话:");p2=(tel *)malloc(sizeof(tel));scanf("%s",p2->phone);return p2;}void del() /*删除记录函数*/{tel *p2=search();int i;if(z==0);else if(x==0);else if(z==0&&x==0);else if(p2==NULL){printf("\n\n\n确实要删除吗?\t按1 删除\t按其他数字保留!!\n"); scanf("%d",&i);if(i==1)head=head->next;save();printf("\t\t\t按任意键返回\n");getch();system("cls");}else{printf("\n\n\n确实要删除吗?\t按1 删除\t按其他数字保留!!\n"); scanf("%d",&i);if(i==1){p2->next=p2->next->next;save();}printf("\t\t\t按任意键返回\n");getch();system("cls");}}void show() /*显示全部记录*/{ tel *p1=NULL;clrscr();if(head==NULL) /*判断是否是空链表*/{printf("\n\t\t\t电话簿中没有记录,请输入纪录后,在使用本能!\n");printf("\t\t\t按任意键返回\n");getch();return;}p1=head;printf("\n\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~\n");printf("%-10s%-20s%-15s%-15s%-20s\n","姓名","工作单位","手机号码","电话号码","E_mail 地址");printf("\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~\n");do{printf("%-10s%-20s%-15s%-15s%-20s",p1->name,p1->company,p1->mobile,p1->phone,p1->add_Email);p1=p1->next;}while(p1!=NULL);printf("\t\t\t按任意键返回\n");getch();system("cls");}void save() /*保存函数*/{tel *p1=NULL;FILE *fp;if((fp=fopen(filename,"w"))==NULL){printf("不能打开文件\n");return ;}p1=head;for(;p1!=NULL;p1=p1->next){fprintf(fp,"%s\t\t%s\t\t%s\t\t%s\t\t%s\n",p1->name,p1->company,p1->mobile,p1->phone,p1->add_Email);}printf("操作完毕\n");fclose(fp);}void openfile() /*输出文件到链表*/{FILE *fp;tel *p1=NULL,*p2=NULL;head=NULL;if((fp=fopen(filename,"r"))==NULL) /*打开文件*/{ /*文件不存在,表明第一次使用本电话簿*/ printf("\n\t\t\t********这是一个新电话簿*********\n");return ;}while(!feof(fp) ) /*循环读取文件数据*/{p1=(tel*)malloc (sizeof(tel));fscanf(fp,"%s%s%s%s%s\n",p1->name,p1->company,p1->mobile,p1->phone,p1->add_Email); if(head==NULL){head=p1;p1->next=NULL;p2=p1;}else{p2->next=p1;p1->next=NULL;p2=p1;}}fclose(fp);}void fre() /* 释放链表空间*/{tel *p=head;while(head!=NULL){head=head->next;free(p);p=head;}free(head);}main(){int x;openfile(); /*读取文件到链表*/textbackground(4);/*设置背景颜色*/textcolor(0); /*设置字体颜色*/while(1) /*设置循环条件为真*/{showmenu(); /*显示各个功能*/fflush(stdin); /*刷新缓存区,即清除上一次的存储数据*/printf("请作出您的选择:");scanf("%d",&x);if(x>=0&&x<=5){switch(x){ clrscr();case 1:add();break; /*添加记录函数*/case 2:modify();break; /*修改记录函数*/case 3:search();break; /*查找记录函数*/case 4:del();break; /*删除记录函数*/case 5:show();break; /*显示全部记录*/case 0:fre();printf("\n\t\t欢迎再次使用通讯录管理系统,再见!\n\n");exit(0); /*程序正常退出*/}}else printf("\n\n选择错误,请再次选择!\n");}}4、运行结果具体运行结果见实际操作5、分析与讨论大体上设计的程序与要求符合,但在分页程序的设计上,虽然我们设计出了较简单的可行的分页程序,可是在糅合进主程序时我们遇到了问题,主要是添加记录后显示的结果中始终带有乱码,这里可能是因为主程序的复杂性使输入、输出的数据格式与分页程序中的无法相匹配。

个人通讯录管理系统课程设计

个人通讯录管理系统课程设计

个人通讯录管理系统课程设计1. 课题背景随着科技的快速发展,手机、互联网成为人们生活中不可或缺的一部分。

而个人通讯录作为常用的联系人管理工具,也随之变得越来越重要。

然而,传统的通讯录管理方式已经无法满足现代人的需求,需要一种更加高效、智能且便捷的个人通讯录管理系统。

2. 课题意义个人通讯录管理系统具有以下意义:•提高联系人管理效率:通过系统化的管理方式,能够快速、准确地查找和更新联系人信息,极大提高管理效率。

•便捷备份和恢复:个人通讯录管理系统能够自动备份联系人信息,避免意外丢失,在需要时可以方便地进行数据恢复。

•数据共享与同步:通过云服务等技术手段,实现联系人信息的共享和同步,方便在不同终端之间的使用。

•智能化管理:个人通讯录管理系统可以根据用户的使用习惯和需求,提供智能的搜索、分类和推荐功能,提升用户体验。

3. 系统设计要求个人通讯录管理系统应满足以下要求:1.用户管理:支持用户注册、登录、注销等功能,确保用户信息的安全和隐私。

2.联系人管理:–添加联系人:用户可以添加新的联系人,并填写详细的联系人信息。

–编辑联系人:用户可以对已有联系人进行编辑和更新操作。

–删除联系人:用户可以删除不需要的联系人记录。

–查找联系人:系统应提供便捷的查找功能,能够根据关键字、首字母等条件进行快速查找。

–排序联系人:用户可以按照姓名、公司、职位等字段对联系人进行排序。

–分类管理:用户可以为联系人进行分类管理,方便筛选和组织联系人。

3.通信功能:–拨打电话:用户可以直接在系统内拨打电话,省去手动输入号码的麻烦。

–发送短信:用户可以通过系统快速发送短信给联系人。

–发送邮件:用户可以通过系统发送邮件给联系人。

4.数据备份与恢复:系统应具备数据备份和恢复功能,保证联系人信息的安全性和可靠性。

5.数据同步:系统应支持数据同步,使得联系人信息可以在不同设备之间同步更新,并实现实时更新。

6.智能化管理:系统应提供智能的搜索、分类和推荐功能,使得用户能够更加高效地管理联系人。

电话簿管理c课程设计

电话簿管理c课程设计

电话簿管理c 课程设计一、课程目标知识目标:1. 学生能够理解电话簿的基本概念,掌握电话簿的信息结构和管理方法。

2. 学生能够运用所学知识,使用编程语言实现电话簿的基本功能,如增加、删除、查找和修改联系人信息。

3. 学生能够了解数据存储的概念,并运用文件操作实现电话簿数据的持久化。

技能目标:1. 学生能够运用编程语言进行电话簿管理系统的设计与开发,提高编程实践能力。

2. 学生能够运用调试工具解决编程过程中的问题,提高问题解决能力。

3. 学生能够运用所学知识,进行团队协作,共同完成电话簿管理项目的开发。

情感态度价值观目标:1. 学生通过电话簿管理项目,培养对计算机编程的兴趣和热情,增强学习动力。

2. 学生在项目开发过程中,培养团队协作精神,提高沟通与交流能力。

3. 学生能够认识到编程在生活中的应用,理解编程对解决实际问题的价值。

本课程针对高年级学生,结合学科特点和教学要求,注重知识与实践相结合,提高学生的编程能力和问题解决能力。

课程目标具体、可衡量,旨在帮助学生明确学习成果,为教学设计和评估提供依据。

二、教学内容本章节教学内容主要包括以下几部分:1. 电话簿基本概念:电话簿的数据结构、功能特点及其在现实生活中的应用。

2. 编程语言基础:复习巩固与电话簿管理相关的基础语法,如变量、数据类型、控制结构等。

3. 电话簿管理系统功能设计:- 增加联系人:学习输入、输出语句,实现添加联系人信息的功能。

- 删除联系人:学习条件语句,实现根据条件删除联系人信息的功能。

- 查找联系人:学习循环语句,实现查找并显示联系人信息的功能。

- 修改联系人:学习数组操作,实现修改联系人信息的功能。

4. 数据存储与文件操作:学习文件操作,实现电话簿数据的持久化存储。

5. 项目实践:以小组形式,完成一个完整的电话簿管理系统的设计与开发。

教学内容按照以下进度安排:1. 电话簿基本概念及编程语言基础复习(1课时)2. 电话簿管理系统功能设计(2课时)3. 数据存储与文件操作(1课时)4. 项目实践(4课时)教学内容与教材章节关联,以教材中相关章节为基础,结合课程目标进行拓展和深入,确保学生掌握电话簿管理系统的核心知识和技能。

昆明理工大学 c++课程设计 小型电话簿管理系统

昆明理工大学 c++课程设计 小型电话簿管理系统

课程设计课程名称:程序设计语言课程设计设计题目:小型电话簿管理系统学院:信息工程与自动化学院专业:计算机科学与技术年级: 2009级学生姓名:孙浩川指导教师:李川日期: 2010年7月9日教务处制昆明理工大学一、课程设计(论文)任务书信息工程与自动化学院计算机科学与技术专业2009 级学生姓名(学号):孙浩川200910405310课程设计目的:通过设计一个较为简单的管理系统,进一步熟悉C++中类的概念、类的封装、继承的实现方式。

了解系统开发的需求分析、类层次设计、模块分析、编码测试、模块组装与整体调试的全过程,加深对C++的理解与Visual C++环境的使用;逐步熟悉程序设计的方法,并养成良好的编程习惯。

课程设计(论文)题目及具体内容:(一)写程序总体设想:有一个首页菜单,用于选择各项结构,其中(1). 添加联系人:用于输入电话簿数据(2). 删除联系人:用于删除电话簿数据(3). 显示所有联系人:用于输出电话簿数据(4). 修改数据:用于对错误信息的修改(5). 查询联系人:用于搜索数据(6). 关闭通讯簿(二)读程序,给出80%的注释,每个主要功能模块画出流程图。

贪吃蛇设计(论文)指导教师:(签字)___________2010年06月28日二、摘要随着社会的发展,人们生活地步调日益加快,越来越多的人加入了全球化的世界。

人们不再拘泥于自己的一小块天地,随时随地的沟通是生活中非常重要的一件事,于是通讯簿成为每个人必不可少的工具。

所编写《小型电话簿管理系统》,旨在帮助人民方便的几下同学、朋友以及各种联系人的姓名、电话、住址,成为人们身边必不可少的工具,使我们感受到高科技为生活带来的便利。

不过在紧张的工作学习之余,也要适当放松一下。

现在我要介绍一款游戏——贪食蛇,希望给大家带来欢乐。

贪食蛇这款游戏简单易行,操作方便,娱乐性较强,吸引了不少人。

这款游戏紧紧地抓住了人们的心理,虽然简单却乐趣无穷,在人们不断追求更多的欲望下,给人们带来追逐的快感,以及成功后的满足感,对于一直处于高压下的现代人是个很好的放松工具。

JAVA程序设计电话簿管理系统

JAVA程序设计电话簿管理系统

某某工业大学JA V A程序设计课程设计(论文)题目:电话薄信息管理系统院(系):专业班级:学号:学生姓名:指导教师:教师职称:起止时间:程序设计专题(报告)任务及评语目录第1章课程设计的目的与要求 (1)1.1 课程设计目的 (1)1.2 课程设计的实验环境 (1)1.3 课程设计的预备知识 (1)1.4 课程设计要求 (1)第2章课程设计内容 (2)2.1课程设计主要内容 (2)2.2概要设计 (2)2.2.1自定义类说明 (3)2.2.2 成员变量 (4)2.2.3 方法设计 (5)2.2.4 功能流程图 (5)2.3详细设计 (7)2.4测试分析 (13)2.4.1程序运行情况 (13)2.4.2程序异常处理 (16)第3章课程设计总结 (18)参考资料 (19)第1章课程设计的目的与要求1.1 课程设计目的《JA V A程序设计》是计算机相关专业的必修专业基础课程,其实践性、应用性很强。

实践教学环节是必不可少的一个重要环节。

本课程的程序设计专题实际是计算机相关专业学生学习完《JA V A程序设计》课程后,进行的一次全面的综合训练,JA V A程序设计的设计目的是加深对理论教学内容的理解和掌握,使学生较系统地掌握程序设计及其在网络开发中的广泛应用,基本方法及技巧,为学生综合运用所学知识,利用软件工程为基础进行软件开发、并在实践应用方面打下一定基础。

1.2 课程设计的实验环境硬件要求能运行Windows 9.X操作系统的微机系统。

JA V A程序设计语言及相应的集成开发环境,J2SDK和ECLIPSE开发工具。

1.3 课程设计的预备知识熟悉JA V A语言及ECLIPSE开发工具。

1.4 课程设计要求按课程设计指导书提供的课题,要求学生在自行完成各个操作环节,并能实现且达到举一反三的目的,完成一个项目解决一类问题。

要求学生能够全面、深入理解和熟练掌握所学内容,并能够用其分析、设计和解答类似问题;对此能够较好地理解和掌握,能够进行简单分析和判断;能编写出具有良好风格的程序;掌握JA V A程序设计的基本技能和面向对象的概念和方法;了解多线程、安全和网络等编程技术。

电话管理系统课程设计

电话管理系统课程设计

电话管理系统课程设计一、课程目标知识目标:1. 理解电话管理系统的基本概念,掌握其功能和操作流程;2. 学会使用电话管理系统进行拨号、接听、转接、录音等基本操作;3. 了解电话管理系统的应用场景,如企业、客服中心等;4. 掌握电话管理系统的维护和故障排除方法。

技能目标:1. 能够独立操作电话管理系统,熟练完成各项基本功能;2. 培养问题解决能力,针对电话管理系统常见问题进行快速定位和解决;3. 提高团队协作能力,学会与他人共同维护电话管理系统;4. 培养信息处理能力,学会从电话系统中提取有价值的信息。

情感态度价值观目标:1. 培养学生对电话管理系统的兴趣,激发学习热情;2. 增强学生的责任感,认识到电话管理系统在现代通讯中的重要性;3. 培养学生遵守通讯纪律,尊重他人隐私的良好品质;4. 提高学生的创新意识,鼓励他们为电话管理系统的发展提出建议。

本课程针对年级特点,结合电话管理系统相关知识,注重理论与实践相结合,旨在提高学生的实际操作能力和解决问题的能力。

课程目标明确,可衡量,便于教学设计和评估。

在教学过程中,教师应关注学生个体差异,因材施教,使学生在掌握知识技能的同时,培养良好的情感态度价值观。

二、教学内容本章节教学内容围绕电话管理系统,依据课程目标进行选择和组织,具体包括以下部分:1. 电话管理系统概述- 电话管理系统的发展历程;- 电话管理系统的功能与应用;- 电话管理系统的分类及特点。

2. 电话管理系统操作流程- 系统登录与退出;- 拨号、接听、挂断电话;- 转接、保持、三方通话;- 语音信箱、电话录音。

3. 电话管理系统应用场景- 企业内部通讯;- 客服中心;- 会议室;- 呼叫中心。

4. 电话管理系统维护与故障排除- 系统日常维护;- 常见故障现象;- 故障排除方法;- 系统升级与优化。

教学内容依据教材相关章节进行安排,结合学生实际情况,制定以下教学进度:1. 电话管理系统概述(1课时)2. 电话管理系统操作流程(2课时)3. 电话管理系统应用场景(1课时)4. 电话管理系统维护与故障排除(2课时)教学内容科学、系统,注重理论与实践相结合,旨在帮助学生全面掌握电话管理系统的相关知识,为实际应用打下坚实基础。

课程设计电话簿管理系统 (1)

课程设计电话簿管理系统 (1)

电话簿设计文档设计者:董昊李月婷2014/6/28一、问题分析与任务定义电话簿是用户用来存储联系人信息的一个软件,用户通过电话簿可以对联系人信息进行删除、添加、修改、查询等功能。

实现一个电话簿管理系统需要设计以下几个模块。

(1)、添加:将需要存储的联系人信息添加进去。

(2)、删除:先根据联系人的名字进行搜索,同名的根据号码进行选择性删除。

(3)、查询:根据指定的人名查找联系人信息。

(4)、修改:对指定的人的姓名先进行搜索,找到后,再根据该联系人信息进行选择性修改。

(5)、显示:显示文件中所有的联系人信息。

(6)、排序:将显示出的联系人信息按姓名进行升序排序显示出(7)、翻页:一页显示5个联系人的信息,根据给定的操作,选择上下翻页操作。

(8)、退出系统二、数据结构选择与概要设计1.本程序的基本算法设计(1)tell结构体定义定义了结点对应的数据信息,有联系人的姓名name、号码number、QQ、邮箱mail、性别sex以及pre指向其前驱的指针域和next指向其后继的指针域。

(2)各模块函数功能的实现2.数据结构设计#include "stdlib.h"#include "stdio.h"#include "string.h"//---------结构体定义----------typedef struct tell{char name[20]; //姓名char number[20]; //号码char qq[20]; //QQchar mail[20]; //邮件char sex;//男:M 女:Wstruct tell *next;struct tell *pre;}tell,*tp;3.概要设计首先在浏览菜单中显示文件中原有的联系人信息,一页显示5个人,根据显示的操作进行相应的选择,有上下翻页选择,进入主菜单选择,以及联系人详细信息的选择。

学生通讯录管理系统课程设计报告

学生通讯录管理系统课程设计报告

学生通讯录管理系统课程设计报告一、课程设计背景学生通讯录管理系统是一个旨在帮助学生和教师更好地管理个人信息和通讯录的软件系统。

随着信息技术的不断发展,现代教育领域对教学、管理和学习等方面的要求越来越高,传统的纸质通讯录管理方式已经无法满足教育机构的需求。

因此,开发一个便捷、高效的学生通讯录管理系统成为当今教育信息化的重要课题。

二、需求分析学生通讯录管理系统主要包括以下功能模块:1.学生信息管理:用于录入、修改和删除学生个人信息,包括姓名、学号、性别、联系方式等;2.通讯录管理:实现通讯录的分类、查找、添加和删除功能,方便学生和教师进行联系;3.用户权限管理:设置不同权限等级的用户,如学生、教师和管理员,确保信息安全性;4.数据备份与恢复:对系统中的重要数据进行定期备份,保障数据的安全性;5.界面友好性:系统界面简洁明了,操作便捷,用户体验良好。

三、系统设计1. 系统架构学生通讯录管理系统采用客户端-服务器架构,客户端提供给学生和教师使用,服务器端用于存储核心数据和处理业务逻辑。

2. 数据库设计系统采用关系型数据库,主要包括以下表:•学生表(Student):包含学生的基本信息;•教师表(Teacher):包含教师的基本信息;•通讯录表(Contact):记录学生或教师之间的联系方式;•用户表(User):存储系统用户的账号信息和权限。

3. 功能实现(1)学生信息管理学生信息管理模块提供学生信息的增删改查功能,管理员可以对学生信息进行修改和删除,学生可以查看、修改自己的个人信息。

(2)通讯录管理通讯录管理模块支持对通讯录的分类和搜索功能,学生和教师可以添加、删除通讯录条目,并对通讯录进行管理。

(3)用户权限管理系统设定不同权限等级的用户,管理员有最高权限,可以管理用户账号和角色,确保系统的安全性。

四、系统实现系统采用Java语言进行开发,前端界面使用JavaFX技术,后端采用Spring框架实现业务逻辑,数据库连接采用JDBC等技术。

电话号码簿管理系统,课程设计报告,

电话号码簿管理系统,课程设计报告,

目录摘要 (2)第1章需求分析 (3)1.1 问题提出 (3)1.2 本系统涉及的知识点 (3)1.3 功能要求 (3)1.3.1功能菜单 (3)第2章总体功能设计 (4)2.1算法设计 (4)2.1.1主界面菜单 (4)2.1.2根据所选菜单编写相应代码 (4)2.2 模块图 (5)2.3 部分模块流程图 (5)第3章程序代码设计 (7)3.1 create模块 (7)3.2 save模块 (7)3.3 load模块 (7)3.4 print模块 (8)3.5 search模块 (8)3.6 delete模块 (8)3.7 append模块 (9)3.8 modify模块 (9)第4章 C程序设计总结 (10)4.1 程序调试 (10)4.1.1程序调试情况 (10)4.1.2感想 (11)谢辞 (11)参考文献 (12)附录程序清单 (13)摘要本报告包括需求分析、总体功能设计、程序代码设计、C程序设计总结、谢辞、参考资料、附录七部分。

需求分析中介绍了要实现的功能、功能菜单、涉及的知识点以及各功能之间的联系。

总体功能设计中介绍了算法设计、模块图、主菜单以及根据主菜单而对各分函数的设计进行大致的描述,位于后面的是部分模块流程图。

程序代码设计中详细描述了各分模块的代码设计,包括用到的函数、各种语句、对变量和功能的介绍说明,具体详见附录中的源代码。

C程序设计总结中记录了调试程序时遇见的情况及解决方法和此次设计的感想。

在谢辞中表达了对给予帮助的人员的感谢。

参考资料中列举的是完成本设计所参考的资料。

附录中为程序清单。

关键词功能菜单,模块图,代码设计,调试程序。

第1章需求分析1.1 问题提出本人计划编写一个电话号码簿管理系统,主要用来管理联系人电话号码。

1.2 本系统涉及的知识点函数、结构体、指针、文件、链表、循环、判断、switch语句等。

1.3 功能要求(1)增加记录的修改功能。

(2)将指定电话从电话簿中删除。

电话簿管理系统课程设计

电话簿管理系统课程设计

电话簿管理系统课程设计一、课程目标知识目标:1. 学生能够理解电话簿管理系统的基本概念,掌握其数据结构及存储方式。

2. 学生能够运用所学编程语言实现电话簿管理系统的增、删、改、查功能。

3. 学生了解数据库的基本原理,并能将电话簿数据存储在数据库中。

技能目标:1. 学生能够运用结构化编程思想,设计并实现电话簿管理系统。

2. 学生掌握基本的编程调试技巧,能够独立解决编程过程中遇到的问题。

3. 学生掌握数据库操作的基本方法,能够实现数据的存储和查询。

情感态度价值观目标:1. 学生通过本课程的学习,培养对计算机编程的兴趣和热情,提高信息素养。

2. 学生在团队协作中学会沟通与分享,培养合作精神和解决问题的能力。

3. 学生认识到编程在生活中的应用,体会科技给生活带来的便利,增强社会责任感。

课程性质分析:本课程为信息技术课程,旨在让学生通过实践操作,掌握电话簿管理系统设计与实现的基本方法。

学生特点分析:学生为初中年级,已具备一定的计算机操作能力和编程基础,对新鲜事物充满好奇心。

教学要求:结合学生特点,注重实践操作,引导学生运用所学知识解决实际问题,提高学生的编程能力和信息素养。

在教学过程中,关注学生的个体差异,鼓励学生积极参与,培养自主学习与合作学习能力。

通过本课程的学习,使学生在知识、技能和情感态度价值观方面均取得具体、可衡量的学习成果。

二、教学内容1. 电话簿管理系统概述- 了解电话簿管理系统的基本概念与功能- 掌握电话簿数据结构的设计与实现2. 编程语言基础- 掌握基本的编程语法和结构- 学会使用变量、数据类型、控制结构等实现电话簿功能3. 电话簿管理系统功能实现- 设计并实现电话簿的增、删、改、查功能- 掌握模块化编程,提高代码的可读性和可维护性4. 数据库基础- 了解数据库的基本原理- 学习数据库的创建、表的设计及数据操作5. 电话簿数据存储与查询- 实现电话簿数据在数据库中的存储- 掌握SQL语句,实现数据的查询与维护6. 课程实践与项目展示- 进行电话簿管理系统项目的实践操作- 撰写项目报告,进行项目展示与评价教学内容安排与进度:第一周:电话簿管理系统概述,编程语言基础第二周:电话簿管理系统功能实现(增、删、改)第三周:电话簿管理系统功能实现(查),数据库基础第四周:电话簿数据存储与查询,课程实践与项目展示教材章节关联:《信息技术》教材第3章:编程基础《信息技术》教材第4章:数据库与数据管理三、教学方法1. 讲授法:- 对于电话簿管理系统的基础知识、编程语言基础、数据库原理等理论知识,采用讲授法进行教学。

电话簿管理系统课程设计

电话簿管理系统课程设计

电话簿管理系统课程设计一、教学目标本课程的目标是让学生掌握电话簿管理系统的基本概念、设计和实现。

通过本课程的学习,学生应能够:1.理解电话簿管理系统的需求和功能;2.掌握电话簿管理系统的基本设计原则;3.学会使用编程语言实现电话簿管理系统的基本功能;4.培养学生的实际动手能力和团队协作精神。

二、教学内容本课程的教学内容主要包括以下几个部分:1.电话簿管理系统的需求分析:介绍电话簿管理系统的基本功能和需求;2.电话簿管理系统的设计:讲解电话簿管理系统的基本设计原则和方法;3.电话簿管理系统的实现:教授学生使用编程语言实现电话簿管理系统的基本功能;4.案例分析:分析实际中的电话簿管理系统案例,加深学生对知识的理解。

三、教学方法为了提高教学效果,本课程将采用多种教学方法:1.讲授法:用于讲解电话簿管理系统的基本概念、设计和实现方法;2.案例分析法:通过分析实际案例,让学生更好地理解电话簿管理系统的设计和实现;3.实验法:让学生动手实践,实际操作电话簿管理系统,提高其实际操作能力;4.小组讨论法:鼓励学生分组讨论,培养团队协作精神,提高解决问题的能力。

四、教学资源为了支持本课程的教学,我们将准备以下教学资源:1.教材:为学生提供系统、全面的知识体系;2.参考书:为学生提供更多的学习资料,拓宽知识面;3.多媒体资料:通过视频、动画等形式,让学生更直观地理解电话簿管理系统;4.实验设备:提供足够的实验设备,保证每个学生都能动手实践。

通过以上教学资源的支持,我们将帮助学生更好地掌握电话簿管理系统的基本概念、设计和实现,提高其实际操作能力和团队协作精神。

五、教学评估为了全面、客观地评估学生的学习成果,本课程将采用以下评估方式:1.平时表现:通过观察学生在课堂上的参与程度、提问回答等,评估其学习态度和理解程度;2.作业:布置适量的作业,让学生巩固所学知识,通过批改作业了解学生的掌握情况;3.考试:安排一次期中考试和一次期末考试,全面测试学生对电话簿管理系统知识的掌握程度。

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

目录摘要 (2)一、课程设计目的 (3)二、课程设计内容 (3)三、总体设计 (3)四、详细设计 (5)(1)数据结构设计 (5)(2)模块接口设计 (5)(3)部分函数细节 (6)五、调试与测试 (9)(1)调试过程中的主要问题 (9)(2)测试结果的分析与讨论 (9) (12)六.实习总结 (14)参考文献 (15)致谢辞 (16)附录:源程序代码 (17)摘要日益繁多的人际交往使得我们很难搞清楚与每个人之间的联系方式,特别是对于做经常出差的人来说更是难,所以电话簿能够便捷的给我们带来所需要的相关信息。

而随着计算机的普及,人们的生活摆脱了传统式的电话簿,越来越多的靠计算机来帮助人们记住这些事情,极其简便。

这就需要有一个使用的电话簿管理系统,用户可以方便的通过自己电脑的电话簿管理系统,来随时查阅自己所需要的信息,而不必再大费周折去翻开那繁琐的记事本。

电话簿管理系统是一个专门针对储存用户联系方式以及一些简单个人信息的实用管理系统,它方便了用户对众多客户、朋友、同事等个人信息的储存和快速查阅的功能,大大减少了查找过程的时间。

关键字:信息(Information)电话簿管理系统(The Management of Telephone Book)一、课程设计目的通过课程设计,加深对结构化设计思想的理解,能对系统功能进行分析,并设计合理的模块化结构。

通过课程设计,学会设计数据结构。

其中包括对结构数组、链表和数据结构等知识的运用。

通过课程设计,提高程序开发功能,能运用合理的控制流程编写清晰高效的程序。

通话课程设计,培养分析问题、解决实际问题的能力。

二、课程设计内容设计一个实用的电话簿管理系统,能以简便高效的方式对电话簿进行管理,具体要示:电话簿信息包括:姓名,电话。

(1)更新:能插入、删除电话簿信息。

.(2)浏览:能够查看所有的电话簿信息。

(3)查询:能实现指定姓名信息查询。

(4)修改:能修改指定的电话簿信息。

(5)添加:可以添加想要的信息。

(6)保存和打印:能保存和打印电话簿信息。

(7)退出:可以随意退出程序。

三、总体设计1、模块化设计为实现系统功能,本程序主要分为九个模块。

它们分别为:输入一个信息、删除一个信息、查询一个信息、读取查找插入一个信息、查找、添加,修改一个信息,列出所有的信息、退出该程序。

这五个函数再通过主函数调用分别得以实现。

主函数,首先提供了程序运行时的友好界面,列出了清单,提供用户做出选择,以便决定使用电话簿的哪种功能。

然后,通过执行多分支选择语句——switch语句,分别实现其它各个函数的调用功能。

其它各个函数的功能分别如下:(1)create 建立电话簿(2)delete删除电话号码(3)print 打印电话簿(4) save 保存电话簿(5)load 读取电话簿文件(6)search 查找电话号码(7)append 添加新的电话号码(8)modify 修改电话号码(9)exit 退出电话号码簿2、模块调用图四、详细设计(1)数据结构设计本程序中,运用了多种数据结构。

首先对于通讯录中各项详细信息的记录用了结构数组的形式,然后又运用链表动态地分配内存单元,通过指针的后移,把多个数据连成一个链,形成一个链表。

对于主要数据结构的举例如下:结构数组:strut tel{char name[10];char tel [11];char s[11];};链表:ID * next;ID *creat(){ID *head,*p1,*p2;void save(ID * head);ID*temp;ID*deleter(ID*head);ID *append(ID *head);ID *modify(ID *head);(2)模块接口设计由于本程序中大部分运用了链表这一数据结构,函数中存在很多指针,所以这个程序中被调用的函数都是空类型的,但这并没有影响最终结果的输出,反而使得函数调用的过程更加简便。

本程序执行的入口是main函数,然后在main函数中首先调用了creat函数,这就实现了对通讯录中的数据进行录入。

接下来用switch语句实现对各个函数的调用。

通过对链表的使用,可以使得每一次的函数调用都能得到返回值。

最后,再从main函数中结束整个程序的运行。

(3)部分函数细节print函数,功能:打印用户已经输入过的电话信息,系统若无法读取原信息,则给用户相关提示:“当前链表为空,请先创建新的链表或者加载文件”。

void print(ID*head){ID*temp;temp=head;system("cls");printf("姓名:\t电话号码:\n");if(head==NULL){printf("当前链表为空,请先创建新的链表或者加载文件\n");}elsewhile(temp!=NULL){printf("%s\t%s\n",temp->name,temp->tel);temp=temp->next;}}search 函数,用户通过提示输入待查姓名的首字母,系统会根据用户输入内容做判断,并给出相应的提示:"对不起,未能找到符合条件的记录”,或"查找完毕,是否重新查询?void search(ID *head){printf("欢迎使用查找功能,只需要输入待查姓名的首字母:\n"); ID* p;int flag,searchflag=1;char c,choice;while(searchflag){flag=0;printf("请输入需要查找姓名的首字母:\n");scanf("%c",&c);getchar();p=head;while(p!=NULL){if(p->name[0]==c){printf("姓名:%s\t电话号码:%s\n",p->name,p->tel);flag=1;}p=p->next;}if(flag==0)printf("对不起,未能找到符合条件的记录\n");printf("查找完毕,是否重新查询?Y/N?");scanf("%s",&choice);getchar();if(choice=='Y'||choice=='y'){searchflag=1;}else{searchflag=0; system("cls"); }}}五、调试与测试(1)调试过程中的主要问题由于本程序是分模块设计的,所以运行时选择完任务并且执行完任务后,又会继续回到用户选择界面,供用户继续选择任务并执行任务。

对于本程序的调试运行,总体上情况良好。

但是,其中也出现了一些小问题。

我发现的主要问题有:对于本程序来说不能实现保存,程序在下一次运行的时候便要从新输入。

(2)测试结果的分析与讨论用户界面:共九个函数,用户根据数字提示进行操作。

图5-1创建电话簿图5-2 打印电话簿图5-3保存电话簿图5-4 读取电话簿图5-5删除电话号码图5-6 插入新号码图5-7查找电话号码图5-8 修改电话号码图5-9六.实习总结课程设计是培养学生综合运用所学知识 ,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对我们的实际工作能力的具体训练和考察过程.随着科学技术发展的日新月异,当今计算机应用在生活中可以说得是无处不在。

因此作为二十一世纪的大学来说掌握程序开发技术是十分重要的,而C语言又是最常见,功能最强大的一种高级语言,因此做好C语言课程设计是十分必要的。

通过三周的课程设计使我们懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。

在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次真真的做程序设计,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对一些前面学过的知识理解得不够深刻,掌握得不够牢固,比如说结构体,指针,链表……通过这次课程设计之后,我们把前面所学过的知识又重新温故了一遍。

我做的是通讯录管理系统的课程设计,虽然是很简单的一个小的程序,但对我来说却是一个很大的困难。

更加是第一次做课程设计,所以第一天下午在机房做了一个下午却丝毫没有进展,最主要是不知从何开始,这个时候才知道上课老师们不厌其烦的教导是多么的宝贵,这个时候才后悔上课的时候没有认真的听讲。

可是现在一切都晚了,还好时间还算是充裕,只好拿出书本重新复习一下。

开始的时候真的感觉编程是一件很无聊的事情,不过当一个程序运行成功的时候那种喜悦是无法言语的,那种成就感是无法比拟的。

又经过几天的努力,终于把程序完成了,尽管程序还是有很多功能上的欠缺和漏洞,可我还是很高兴的。

无论如何是自己的劳动成果,是自己经过努力得到的成绩,同时也是学习C语言的一次实践作业,自己进步的证明。

在课程设计过程中,收获知识,提高能力的同时,我也学到了很多人生的哲理,懂得怎么样去制定计划,怎么样去实现这个计划,并掌握了在执行过程中怎么样去克服心理上的不良情绪。

因此在以后的生活和学习的过程中,我一定会把课程设计的精神带到生活中,不畏艰难,勇往直前!参考文献[1]郭有强,《C语言程序设计》,清华大学出版社。

[2]谭浩强,《C程序设计》,清华大学出版社。

[3]刘振安,孙忱,刘燕君,《C程序设计课程设计》,机械工业出版社。

[4]汪诗林,《数据结构算法与应用》,机械工业出版社。

致谢辞在这次课程设计的撰写过程中,我得到了很多人的帮助。

首先我要感谢我的老师在课程设计上给予我的指导、提供给我的支持和帮助,这是我能顺利完成这次课程设计的主要原因,更重要的是老师帮我解决了许多技术上的难题,让我能把系统做得更加完善。

在此期间,我不仅学到了许多新的知识,而且也开阔了视野,提高了自己的设计能力。

其次,我要感谢帮助过我的同学,他们也为我解决了不少我不太明白的设计商的难题。

同时也感谢学院为我提供良好的做毕业设计的环境。

最后再一次感谢所有在设计中曾经帮助过我的良师益友和同学!附录:源程序代码#include<stdio.h>#include<stdlib.h>#include<string.h>#include<ctype.h>#include<mem.h>#include<conio.h>#define ID struct telstruct tel{char name[10];char tel [11];ID * next;};int total=0;ID *creat(){ID *head,*p1,*p2;void save(ID * head);char saveflag;head=p1=p2=NULL;printf("欢迎使用\n");while(1){p1=(ID*)malloc(sizeof(ID));printf("请输入姓名,以#作为结束标志\n");scanf("%s",p1->name);if(strcmp(p1->name,"#")==0){if(total==0){printf("您输入了0条记录,单链表没有创建\n");free(p1);return(head);}else{break;}}printf("请输入电话号码:\n");scanf("%s",p1->tel);if(head==NULL){head=p1;p2=p1;}else{p2->next=p1;p2=p1;}total++;}p2->next=NULL;free(p1);printf("新建电话簿成功,共有%d个联系人,是否存盘?Y/N",total); getchar();scanf("%c",&saveflag);if(saveflag=='y'||saveflag=='Y')save(head);elseprintf("请在推出程序之前,保存当前的工作!\n");return head;}void print(ID*head){ID*temp;temp=head;system("cls");printf("姓名:\t电话号码:\n");if(head==NULL){printf("当前链表为空,请先创建新的链表或者加载文件\n");}elsewhile(temp!=NULL){printf("%s\t%s\n",temp->name,temp->tel); temp=temp->next;}}void save(ID*head){FILE *fp;ID*t;if((fp=fopen("tel.txt","w"))==NULL){printf("文件打开失败!\n");getch();exit(1);}printf("正在保存文件,请稍后...\n");t=head;while(t!=NULL){fwrite(t,sizeof(ID),1,fp);t=t->next;}fclose(fp);printf("文件保存成功!\n");}ID * load(){FILE *fp;ID *t1,*t2,*head=NULL;char ch;if((fp=fopen("tel.txt","r"))==NULL){printf("文件打开失败!没有该文件\n");getch();//exit(1);return(head);}ch=fgetc(fp);if(ch==EOF){printf("文件为空,请重新建立一个电话簿\n");return (head);}else{printf("文件正在读取中...\n");rewind(fp);}t1=(ID *) malloc(sizeof(ID));head=t1;while(!feof(fp)){if(fread(t1,sizeof(ID),1,fp)!=1)break;t1->next=(ID *)malloc(sizeof(ID));t2=t1;t1=t1->next;}t2->next=NULL;fclose(fp);printf("文件读取完毕\n");return head;}void search(ID *head){printf("欢迎使用查找功能,只需要输入待查姓名的首字母:\n"); ID* p;int flag,searchflag=1;char c,choice;while(searchflag){flag=0;printf("请输入需要查找姓名的首字母:\n");scanf("%c",&c);getchar();p=head;while(p!=NULL){if(p->name[0]==c){printf("姓名:%s\t电话号码:%s\n",p->name,p->tel); flag=1;}p=p->next;}if(flag==0)printf("对不起,未能找到符合条件的记录\n");printf("查找完毕,是否重新查询?Y/N?");scanf("%s",&choice);getchar();if(choice=='Y'||choice=='y'){searchflag=1;}else{searchflag=0;system("cls");}}}ID*deleter(ID*head){ID*p,*q;char s[11],choice;system("cls");printf("请输入要删除的电话号码:\n");scanf("%s",s);q=p=head;while(strcmp(p->tel,s)&&p!=NULL){q=p;p=p->next;}if(p==NULL)printf("\n对不起,记录中没有电话号码:%s\n",s);else{printf("姓名:%s\t 电话号码:%s\n",p->name,p->tel); printf("是否删除?Y/N");scanf("%s",&choice);getchar();if(choice=='Y'||choice=='y'){printf("按任意键删除...\n");getch();if(p==head)head=p->next;elseq->next=p->next;free(p);printf("\n 已经删除了电话号码:%s\n",s);printf("请保存文件!(按4保存文件)\n");}elsesystem("cls");}return(head);}ID *append(ID *head){ID *temp,*p1,*p2;printf("插入操作开始!!!\n");temp=(ID *)malloc(sizeof(ID));printf("请输入姓名:\n");scanf("%s",temp->name);getchar();printf("请输入电话号码:\n");scanf("%s",temp->tel);getchar();if (head==NULL){head=temp;temp->next=NULL;}else{p1=head;while(p1!=NULL){p2=p1;p1=p1->next;}p2->next=temp;temp->next=p1;}printf("插入成功");total++;return (head);}ID *modify(ID *head){ID *p1,*p2;int mode;char str[10];printf("请输入要修改记录的姓名:");scanf("%s",str);getchar();p1=head;while( p1!=NULL){if(strcmp(p1->name,str)==0){printf("1.姓名:%s\t2.电话号码:%s\n",p1->name,p1->tel); printf("请选择要修改选项:\n");scanf("%d",&mode);getchar();if(mode==1){printf("请输入修改后的姓名\n");scanf("%s",p1->name);getchar();}else if(mode==2){printf("请输入修改后的电话号码\n");scanf("%s",p1->tel);getchar();}elseprintf("输入有误!\n");break;}p2=p1;p1=p1->next;}if(p1==NULL)printf("未找到符合要求的记录!\n");return head;}int main(){ID *head=NULL;int choice;while(1){printf("\t*************电话簿管理系统*************\n"); printf("\t**\t1 create 建立新的电话簿 ** \n"); printf("\t**\t2 deleter 删除电话号码 ** \n"); printf("\t**\t3 print 打印电话簿 ** \n"); printf("\t**\t4 save 保存电话簿 ** \n"); printf("\t**\t5 load 读取电话簿文件 ** \n"); printf("\t**\t6 search 查找电话号码 ** \n"); printf("\t**\t7 append 添加新的电话号码 ** \n");printf("\t**\t8 modify 修改电话号码 ** \n"); printf("\t**\t9 exit 退出电话号码簿 ** \n"); printf("\t*************电话簿管理系统*************\n"); printf("\t\t请选择1-9之间的操作:\n");scanf("%d",&choice);getchar();switch(choice){case 1: head=creat();break;case 2: head=deleter(head);break;case 3: print(head);break;case 4: save(head);break;case 5: head=load();break;case 6: search(head);break;case 7: head=append(head);break;case 8: head=modify(head);break;case 9: exit(0);break;default:printf("选择错误,请输入1-9之间的数字进行选择\n"); }}return 0;}蚌埠学院本科学生课程设计任务书注:任务书由指导教师填写。

相关文档
最新文档