C语言通讯录软件详细设计说明书
【文档】C语言程序设计----通讯录
一、设计任务书1)复习、巩固C语言的基础知识,进一步加深对C语言的理解和掌握;2)课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力。
提高学生适应实际,实践编程的能力;3)培养学生在项目开发中团队合作精神、创新意识及能力。
4)对系统进行功能模块分析、控制模块分析正确,符合课题要求,实现相应功能;可以加以其他功能或修饰,使程序更加完善、合理;二、本组课题设计一个通讯录管理系统三、程序功能简介该程序具有添加、查找,修改、删除通讯录中各个成员所有信息的功能。
四、主体内容1、设计分析1.1问题提出本人计划编写一个通讯录管理系统,主要用来记录和管理所有联系人的详细联系方式1.2本系统涉及的知识点本系统涉及到所学过的知识点有:编译预处理,函数,循环结构,循环结构,数组,结构体,指针,文件等1.3功能要求1、制作一个通讯录程序,要求可以记录联系人的详细联系方式,包括:姓名,联系电话,居住地所在省份,城市,街道,以及当地邮编2、能根据需要随时在通讯录中添加联系人3、能根据联系人的名字查找他的详细联系方式4、能根据需要修改某联系人的联系方式5、能删除某特定联系人的所有联系方式2、程序结构流程图这里只附部分模块流程图:(1)系统的界面如图1所示(下图)图1 系统的菜单选项2.2、删除模块流程图:如图(2)图(2)删除模块流程图3.各模块的功能及程序说明3.1各模块的功能:* Main模块:根据选单内容实现调用函数* Delete模块:删除通讯录中某人的信息,其程序如下* list模块:显示通讯录中的所有记录3.2程序说明:(1)Main函数/******主函数开始*******/main(){int i;person p[M];int length; /*保存记录长度*/clrscr();/*清屏*/for(;;)/*无限循环*/{switch(menu())()) /*调用主菜单函数,返回值整数作开关语句的条件*/{case 0:length=create(p);break;case 1:list(p,length);break; /*显示全部记录*/case 2:search(p,length);break; /*查找记录*/case 3:length=delete(p,length);break; /*删除记录*/case 4:length=add(p,length); break; /*插入记录*/case 5:exit(0); /*如返回值为5则程序结束*/}}}(2) Delete函数/*删除函数,参数为记录数组和记录条数*/int delete(person t[],int n){char s[20]; /*要删除记录的姓名*/int ch=0;int i,j;printf("please deleted name\n"); /*提示信息*/scanf("%s",s); /*输入姓名*/i=find(t,n,s); /*调用find函数*/if(i>n-1) /*如果i>n-1超过了数组的长度*/printf("no found not deleted\n"); /*显示没找到要删除的记录*/ else{print(t[i]); /*调用输出函数显示该条记录信息*/printf("Are you sure delete it(1/0)\n"); /*确认是否要删除*/scanf("%d",&ch); /*输入一个整数0或1*/if(ch==1) /*如果确认删除整数为1*/{for(j=i+1;j<n;j++) /*删除该记录,实际后续记录前移*/{strcpy(t[j-1].name,t[j].name); /*将后一条记录的姓名拷贝到前一条*/strcpy(t[j-1].units,t[j].units); /*将后一条记录的单位拷贝到前一条*/strcpy(t[j-1].tele,t[j].tele); /*将后一条记录的电话拷贝到前一条*/strcpy(t[j-1].street,t[j].street); /*将后一条记录的街道拷贝到前一条*/strcpy(t[j-1].city,t[j].city); /*将后一条记录的城市拷贝到前一条*/strcpy(t[j-1].provience,t[j].provience); /*将后一条记录的省份拷贝到前一条*/strcpy(t[j-1].num,t[j].num); /*将后一条记录的邮编拷贝到前一条*/}n--; /*记录数减1*/}}return n; /*返回记录数*/}(3)List函数/*显示记录,参数为记录数组和记录条数*/void list(person t[],int n){int i;clrscr();printf("\n\n*******************ADDRESS******************\n");printf("name unit telephone street city provience num\n");printf("------------------------------------------------\n");for(i=0;i<n;i++)printf("%-20s%-30s%-10s%-20s%-20s%-20s%-20s\n",t[i].name,t[i].units,t[i].tele,t[i].street,t[i].city,t[i].provience,t[i].num);if((i+1)%10==0) /*判断输出是否达到10条记录*/{printf("Press any key continue...\n"); /*提示信息*/getch();/*压任意键继续*/}printf("************************end*******************\n");}4、试验结果『含输入数据和输出结果』通过很多次的实验,本程序(源程序在程序清单中)终于可以正常运行,任何一项功能都能顺利实现5、设计体会以前不曾做过课程设计,因此在做课程设计时遇到了很大的困难,首先是在编写程序时,用的时间很长,并且经过多次运行都不能成功。
通讯录C语言程序设计
通讯录C语言程序设计通讯录C语言程序设计是一个常见的编程练习项目,它可以帮助初学者熟悉C语言的基本语法和数据结构。
下面是一个简单的通讯录程序设计示例,包括了程序的基本框架、功能实现和代码实现。
程序设计目标设计一个通讯录程序,能够实现以下功能:1. 添加联系人2. 删除联系人3. 修改联系人信息4. 显示所有联系人5. 按姓名查找联系人6. 保存联系人信息到文件7. 从文件加载联系人信息程序设计思路1. 数据结构设计:使用结构体`struct Contact`来存储联系人信息,包括姓名、电话号码、电子邮件等。
2. 功能模块划分:将程序分为多个功能模块,如添加、删除、修改、显示、查找、保存和加载。
3. 用户界面设计:设计一个简单的文本界面,使用循环让用户选择相应的操作。
4. 文件操作:使用C语言的文件操作函数来实现联系人信息的持久化存储。
数据结构定义```c#include <stdio.h>#include <stdlib.h>#include <string.h>#define MAX_CONTACTS 100#define MAX_NAME 50#define MAX_PHONE 20#define MAX_EMAIL 50struct Contact {char name[MAX_NAME];char phone[MAX_PHONE];char email[MAX_EMAIL];};struct Contact contacts[MAX_CONTACTS];int contactCount = 0;```功能实现1. 添加联系人```cvoid addContact() {if (contactCount >= MAX_CONTACTS) {printf("Contact list is full.\n"); return;}printf("Enter name: ");scanf("%49s", contacts[contactCount].name);printf("Enter phone: ");scanf("%19s", contacts[contactCount].phone);printf("Enter email: ");scanf("%49s", contacts[contactCount].email);contactCount++;}```2. 删除联系人```cvoid deleteContact() {int i, index;printf("Enter name of the contact to delete: ");scanf("%49s", contacts[index].name);for (i = 0; i < contactCount; i++) {if (strcmp(contacts[i].name, contacts[index].name) == 0) {index = i;break;}}if (i == contactCount) {printf("Contact not found.\n");} else {for (; i < contactCount - 1; i++) {contacts[i] = contacts[i + 1];}contactCount--;printf("Contact deleted.\n");}}```3. 修改联系人信息```cvoid modifyContact() {// 类似于删除联系人,找到联系人后修改信息}```4. 显示所有联系人```cvoid displayContacts() {for (int i = 0; i < contactCount; i++) {printf("%s, %s, %s\n", contacts[i].name, contacts[i].phone, contacts[i].email);}}```5. 按姓名查找联系人```cvoid findContact() {char name[MAX_NAME];printf("Enter name to find: ");scanf("%49s", name);for (int i = 0; i < contactCount; i++) {if (strcmp(contacts[i].name, name) == 0) { printf("%s, %s, %s\n", contacts[i].name, contacts[i].phone, contacts[i].email);return;}}printf("Contact not found.\n");}```6. 保存联系人信息到文件```cvoid saveContactsToFile() {FILE *file = fopen("contacts.txt", "w");if (file == NULL) {printf("Error opening file.\n");return;}for (int i = 0; i < contactCount; i++) {fprintf(file, "%s,%s,%s\n", contacts[i].name, contacts[i].phone, contacts[i].email);}fclose(file);printf("Contacts saved to file.\n");}```7. 从文件加载联系人信息```cvoid loadContactsFromFile() {FILE *file = fopen("contacts.txt", "r");if (file == NULL) {printf("。
(完整word版)C语言课程设计-通讯录
《C语言程序设计》课程设计任务书设计时间:第2周学时周数:每班/周一、设计目的课程设计是C语言程序设计课程教学的最后一个环节,是对学生进行全面的系统的训练,让学生全面熟悉、掌握C语言基本知识,掌握C程序设计中的顺序、分支、循环三种结构及数组、函数和C语言基本图形编程等方法,把编程和实际结合起来,增强对不同的问题运用和灵活选择合适的数据结构以及算法描述的本领,熟悉编制和调试程序的技巧,掌握分析结果的若干有效方法,进一步提高上机动手能力,培养使用计算机解决实际问题的能力,养成提供文档资料的习惯和规范编程的思想,为以后在专业课程中应用计算机系统解决计算、分析、实验和设计等学习环节打下较扎实的基础。
二、设计内容及要求个人通讯录管理系统(难度系数★★★)主要内容:该系统实现了对个人通讯录批量录入、浏览、修改、删除、添加和查询功能。
具体要求如下:个人通讯录信息包括:姓名、单位、固定电话、移动手机、类别(如同事、朋友、同学、家人)、住址、E-mail,试设计个人通讯录信息管理系统,使之能提供以下功能:①系统以菜单方式工作:提供一个字符主菜单使用户可以选择不同的字符来实现系统的各个功能,各个功能实现后又能够返回到主菜单。
②批量录入功能:在录入的过程中,通过询问用户是否继续录入的方法来录入多个通讯录的信息。
③浏览功能:按一定的格式显示所有通讯录的信息。
④修改功能:输入要修改的姓名,先对该姓名进行查询,如果查询成功,则可以根据提示对该通讯录每项信息进行修改,如果查询不成功,则显示相应的提示信息。
⑤删除功能:输入要删除的姓名,先对该姓名进行查询,如果查询成功,则删除该通讯录的所有信息,如果查询不成功,则显示相应的提示信息。
⑥增加功能:输入要添加的姓名,先对该姓名进行查询,如果查询成功,则提示输入的姓名已存在的信息,并要求能够重新输入,如果查询不成功,则输入该通讯录的其他信息,从而完成一个通讯录信息的录入。
⑦查询功能:能够分别按输入的姓名和电话号码查询通讯录的信息,如果查询成功,则按一定的格式显示查询结果,如果查询不成功,则显示相应的提示信息。
全功能版通讯录(c语言)设计说明概要
全功能版通讯录(c语言)设计说明概要第一篇:全功能版通讯录(c语言) 设计说明概要通讯录管理系统设计说明书一、需求分析本通讯录是一款具有基本通讯信息管理功能的系统。
包括基本添加,修改,删除,查询和输出等功能。
其中联系组是为了更好地管理联系人信息,如常用的组有亲戚,家人,朋友,同学等。
用户添加的信息存储到文件当中,本系统的数据存储文件包括group.dat和linkman.dat,其中group.dat存储组信息;而linkman.dat则存储联系人的信息。
用户登陆系统后,根据需要,选择操作类型。
系统一启动,便将相关数据文件装载进内存,如果数据文件不存在,系统将会创建新的数据文件。
并将数据文件内的记录存放在链表数据结构类型中,接下来用户所有的操作,都是对链表的操作。
当用户退出系统时,系统将自动将链表的信息存进数据文件。
本系统中包含两个链表:group链表和linkman链表,分别对应group,dat 和linkman,dat两个数据文件。
1、组信息管理模块: ◎添加新组信息:当用户添加一个新组时,这个新组将被添加到group.dat文件的末尾,如果添加的组已存在则返回出错信息。
◎修改已有组信息:用户首先输入所要修改的联系组,然后系统查询该联系组存不存在。
若存在,则要求用户输入新的信息,并进行替换;若不存在,则返回错误信息。
◎删除已有组:用户首先输入所要删除的组,然后系统查询该组存不存在。
如果存在,则先删除该组下的所有联系人的信息,再删除该组;如果所要删除的信息不存在, 则返回错误信息。
◎删除所有已有组信息:该操作没有输入值。
如果原来group.dat 文件中没有联系组,返回错误信息;否则,删除所有联系组,同时删除各个组下的联系人信息。
◎组查询功能:按用户输入的查询条件,在group.dat文件中查询相关信息。
若存在符合条件的组,则输出相应的组信息;若不存在,则返回出错信息。
◎输出所有组信息:将group.dat中所有组全部输出来。
全功能版通讯录(c语言) 设计说明概要
通讯录管理系统设计说明书一、需求分析本通讯录是一款具有基本通讯信息管理功能的系统。
包括基本添加,修改,删除,查询和输出等功能。
其中联系组是为了更好地管理联系人信息,如常用的组有亲戚,家人,朋友,同学等。
用户添加的信息存储到文件当中,本系统的数据存储文件包括group.dat和linkman.dat,其中group.dat存储组信息;而linkman.dat则存储联系人的信息。
用户登陆系统后,根据需要,选择操作类型。
系统一启动,便将相关数据文件装载进内存,如果数据文件不存在,系统将会创建新的数据文件。
并将数据文件内的记录存放在链表数据结构类型中,接下来用户所有的操作,都是对链表的操作。
当用户退出系统时,系统将自动将链表的信息存进数据文件。
本系统中包含两个链表:group链表和linkman链表,分别对应group,dat和linkman,dat两个数据文件。
1、组信息管理模块:◎添加新组信息:当用户添加一个新组时,这个新组将被添加到group.dat文件的末尾,如果添加的组已存在则返回出错信息。
◎修改已有组信息:用户首先输入所要修改的联系组,然后系统查询该联系组存不存在。
若存在,则要求用户输入新的信息,并进行替换;若不存在,则返回错误信息。
◎删除已有组:用户首先输入所要删除的组,然后系统查询该组存不存在。
如果存在,则先删除该组下的所有联系人的信息,再删除该组;如果所要删除的信息不存在,则返回错误信息。
◎删除所有已有组信息:该操作没有输入值。
如果原来group.dat文件中没有联系组,返回错误信息;否则,删除所有联系组,同时删除各个组下的联系人信息。
◎组查询功能:按用户输入的查询条件,在group.dat文件中查询相关信息。
若存在符合条件的组,则输出相应的组信息;若不存在,则返回出错信息。
◎输出所有组信息:将group.dat中所有组全部输出来。
2、联系人信息管理模块:◎添加联系人:当用户添加一个新联系人时,这个联系人的信息将被添加到group.dat 文件的末尾,若添加的联系人已存在,则返回出错信息。
通讯录程序设计c
通讯录程序设计c通讯录程序设计是计算机编程中的一个常见项目,旨在通过编写代码来实现对联系人信息的存储、查询、修改和删除等功能。
以下是关于通讯录程序设计的详细内容。
一、设计目标通讯录程序的主要目标是提供一个用户界面,允许用户添加、查找、更新和删除联系人信息。
联系人信息通常包括姓名、电话号码、电子邮件地址、住址等。
二、需求分析1. 用户界面:简洁直观,易于操作。
2. 数据存储:能够持久化存储联系人信息。
3. 功能需求:- 添加联系人:允许用户输入并保存新的联系人信息。
- 查询联系人:根据姓名或其他信息搜索联系人。
- 修改联系人:允许用户更新已存在的联系人信息。
- 删除联系人:允许用户删除不再需要的联系人信息。
三、技术选型1. 编程语言:根据项目需求和团队熟悉度选择合适的编程语言,如C、Java、Python等。
2. 数据存储:可以使用文件系统、数据库或内存中的数据结构。
3. 开发环境:选择适合的IDE(集成开发环境)进行编码,如Visual Studio、Eclipse等。
四、系统设计1. 数据结构:设计合适的数据结构来存储联系人信息,如使用结构体或类。
2. 功能模块:- 输入模块:负责接收用户输入的联系人信息。
- 存储模块:负责将联系人信息存储到指定的存储介质。
- 查询模块:提供搜索功能,根据用户输入的关键字查找联系人。
- 修改模块:允许用户修改已存储的联系人信息。
- 删除模块:允许用户删除联系人信息。
五、界面设计1. 主界面:显示所有功能选项,如添加、查询、修改、删除。
2. 输入界面:当用户选择添加或修改联系人时,提供输入界面。
3. 查询结果界面:显示查询结果,可能包括联系人列表或详细信息。
六、实现步骤1. 定义数据结构:根据需求定义联系人的数据结构。
2. 编写功能模块:逐一实现添加、查询、修改和删除功能。
3. 集成测试:将各个模块集成到一起,进行系统测试。
4. 用户测试:让实际用户测试程序,收集反馈并进行优化。
c语言课程设计通讯录
c语言课程设计通讯录一、教学目标本课程的教学目标是使学生掌握C语言的基本语法和编程技巧,通过编写程序实现简单的通讯录管理系统。
知识目标包括:了解C语言的基本数据类型、运算符、控制结构、函数等基本概念;掌握结构体和指针的使用方法;理解面向对象编程的基本思想。
技能目标包括:能够使用C语言编写简单的程序;能够使用结构体和指针实现数据的有效管理;能够运用面向对象编程思想解决实际问题。
情感态度价值观目标包括:培养学生的编程兴趣和自信心;培养学生的问题解决能力和创新精神;培养学生团队合作和自主学习的意识。
二、教学内容本课程的教学内容主要包括C语言的基本语法、数据结构、函数、面向对象编程等内容。
具体安排如下:1.C语言基本语法:介绍C语言的基本数据类型、运算符、控制结构等,通过编写简单的程序让学生熟悉C语言的编程环境。
2.数据结构:讲解结构体的使用方法,引导学生掌握如何使用结构体来表示通讯录中的信息。
3.函数:介绍函数的定义和调用方法,让学生学会如何编写和使用函数来实现特定的功能。
4.面向对象编程:讲解面向对象编程的基本思想,引导学生掌握如何使用类和对象来实现通讯录管理系统。
三、教学方法本课程采用讲授法、讨论法、案例分析法、实验法等多种教学方法。
通过讲授法,为学生提供系统的知识框架;通过讨论法,激发学生的思考和讨论,培养学生的问题解决能力;通过案例分析法,让学生了解实际应用中的问题解决方法;通过实验法,培养学生的动手能力和创新精神。
四、教学资源本课程的教学资源包括教材、参考书、多媒体资料、实验设备等。
教材选用《C程序设计语言》作为主教材,参考书选用《C Primer Plus》等;多媒体资料包括教学PPT、视频等;实验设备包括计算机、网络等。
教学资源的选择和准备旨在支持教学内容和教学方法的实施,丰富学生的学习体验。
五、教学评估本课程的评估方式包括平时表现、作业和考试三个部分。
平时表现主要评估学生的课堂参与度、提问回答、团队协作等情况,通过观察和记录来评价学生的学习态度和积极性。
(完整word版)c语言程序设计通讯录管理系统
1.需求分析根据题目要求,通讯录保存在文件中,要提供文件的输入和输出功能;还有就是要提供通讯录添加(个人信息包括姓名、学号、年龄、住址、电子邮件等)、删除、显示、修改等基本功能。
2。
概要设计系统总体设计是信息的输入、信息的编辑和退出.系统功能模块如下:1.添加通讯录;2.输出通讯录;3.查找通讯录;4.修改通讯录;5.删除通讯录;6.退出通讯录;3.详细设计1.通讯录里无信息,所以要添加信息.用键盘逐个输入通讯录里联系人的信息.2.输出通讯录用于让使用者观看通讯录里所有的信息.3。
查找通讯录是让使用者可以通过电话或姓名来查找通讯录里的联系人.4。
修改通讯录是让使用者通过姓名查找到通讯录里的联系人,然后其作出修改。
5.删除通讯录是用来按照联系人的姓名或电话来单独删除通讯录中一些不想要的联系人。
还可以集体删除通讯录中的联系人.6.退出通讯录系统。
4.主要源程序代码#include 〈stdio。
h>#include 〈stdlib.h〉#include 〈string.h>#include 〈conio。
h〉struct record{char name[20];char age[20];char phone[20];char adress[40];char number[30];char e_mail[20];}contact[500];int NO=0;FILE *fp;void mainmenu();void newrecord();void browsemenu();void searchmenu();void searchname();void searchphone();void modifymenu();void deletemenu();void deleteall();void deletesingle();void deletename();void deletephone();int loadfile();void savefile();void main(){printf(”\n\t\t :)欢迎使用通讯录管理系统beta”);printf(”\n\t\t文件导入中……请稍后……\n\n\n\n\n");system(”cls”);loadfile();while (1){mainmenu();}}void mainmenu(){char choice;system(”cls");printf("\n\t\t******************** 主菜单********************");printf("\n\t\t****************** 1-新建菜单******************”);printf(”\n\t\t******************2—浏览菜单******************”);printf(”\n\t\t****************** 3—查找菜单******************”);printf("\n\t\t******************4—修改菜单******************”);printf(”\n\t\t******************5-删除菜单******************”);printf(”\n\t\t****************** 6-退出******************");printf("\n\t\t************************************************”); printf(”\n\t\t请选择:");choice=getch();switch (choice){case '1':newrecord();break;case ’2’:browsemenu();break;case ’3’:searchmenu();;break;case '4’:modifymenu();break;case ’5’:deletemenu();break;case '6’:exit(0);default:mainmenu();}}void newrecord(){printf(”\n\t\t****************请输入联系人信息****************\n”);printf(”\n\t\t输入姓名:”);scanf(”%s”,&contact[NO]。
c语言程序设计通讯录管理系统
c语言程序设计通讯录管理系统通讯录管理系统是一种常见的应用程序,用于管理个人或者组织的联系人信息。
本文将介绍一个基于C语言的通讯录管理系统的设计和实现。
一、需求分析通讯录管理系统需要满足以下功能需求:1. 添加联系人:可以添加新的联系人,包括姓名、电话号码、邮箱等信息。
2. 查找联系人:可以根据姓名或者电话号码查找已存在的联系人。
3. 删除联系人:可以根据姓名或者电话号码删除已存在的联系人。
4. 修改联系人:可以修改已存在联系人的信息,包括姓名、电话号码、邮箱等。
5. 显示所有联系人:可以显示当前通讯录中的所有联系人信息。
二、设计思路1. 数据结构:使用结构体来表示一个联系人的信息,包括姓名、电话号码、邮箱等字段。
使用数组来存储多个联系人的信息。
2. 添加联系人:通过用户输入的方式获取联系人信息,然后将联系人信息添加到联系人数组中。
3. 查找联系人:通过用户输入的姓名或者电话号码,在联系人数组中查找匹配的联系人,并显示其详细信息。
4. 删除联系人:通过用户输入的姓名或者电话号码,在联系人数组中查找匹配的联系人,并将其从数组中删除。
5. 修改联系人:通过用户输入的姓名或者电话号码,在联系人数组中查找匹配的联系人,并允许用户修改其信息。
6. 显示所有联系人:遍历联系人数组,逐个显示联系人的详细信息。
三、代码实现下面是一个简单的通讯录管理系统的C语言代码实现:```c#include <stdio.h>#include <string.h>#define MAX_CONTACTS 100typedef struct {char name[50];char phone[20];char email[50];} Contact;Contact contacts[MAX_CONTACTS];int numContacts = 0;void addContact() {printf("Enter name: ");scanf("%s", contacts[numContacts].name);printf("Enter phone number: ");scanf("%s", contacts[numContacts].phone);printf("Enter email: ");scanf("%s", contacts[numContacts].email);numContacts++;printf("Contact added successfully!\n");}void findContact() {char search[50];printf("Enter name or phone number to search: ");scanf("%s", search);int found = 0;for (int i = 0; i < numContacts; i++) {if (strcmp(contacts[i].name, search) == 0 || strcmp(contacts[i].phone, search) == 0) {printf("Name: %s\n", contacts[i].name);printf("Phone: %s\n", contacts[i].phone);printf("Email: %s\n", contacts[i].email);found = 1;break;}}if (!found) {printf("Contact not found!\n");}}void deleteContact() {char search[50];printf("Enter name or phone number to delete: ");scanf("%s", search);int found = 0;for (int i = 0; i < numContacts; i++) {if (strcmp(contacts[i].name, search) == 0 || strcmp(contacts[i].phone, search) == 0) {for (int j = i; j < numContacts - 1; j++) {strcpy(contacts[j].name, contacts[j + 1].name);strcpy(contacts[j].phone, contacts[j + 1].phone);strcpy(contacts[j].email, contacts[j + 1].email);}numContacts--;printf("Contact deleted successfully!\n");found = 1;break;}}if (!found) {printf("Contact not found!\n");}}void modifyContact() {char search[50];printf("Enter name or phone number to modify: ");scanf("%s", search);int found = 0;for (int i = 0; i < numContacts; i++) {if (strcmp(contacts[i].name, search) == 0 || strcmp(contacts[i].phone, search) == 0) {printf("Enter new name: ");scanf("%s", contacts[i].name);printf("Enter new phone number: ");scanf("%s", contacts[i].phone);printf("Enter new email: ");scanf("%s", contacts[i].email);printf("Contact modified successfully!\n");found = 1;break;}}if (!found) {printf("Contact not found!\n");}}void displayContacts() {printf("Contacts:\n");for (int i = 0; i < numContacts; i++) {printf("Name: %s\n", contacts[i].name); printf("Phone: %s\n", contacts[i].phone); printf("Email: %s\n", contacts[i].email); printf("\n");}}int main() {int choice;do {printf("1. Add contact\n");printf("2. Find contact\n");printf("3. Delete contact\n");printf("4. Modify contact\n");printf("5. Display all contacts\n"); printf("0. Exit\n");printf("Enter your choice: ");scanf("%d", &choice);switch (choice) {case 1:addContact();break;case 2:findContact();break;case 3:deleteContact();break;case 4:modifyContact();break;case 5:displayContacts();break;case 0:printf("Exiting...\n");break;default:printf("Invalid choice!\n");break;}} while (choice != 0);return 0;}```四、总结本文介绍了一个基于C语言的通讯录管理系统的设计和实现。
C语言通讯录概要设计说明书
文件名称通讯录软件概要说明书项目名称通讯录修改记录版本ECN/修改内容制定/日期审核/日期批准/日期1.0 1.1 1.2 1.31.42.1 主界面查看、添加联系人修改联系人删除联系人查询联系人消除BUG,界面优化2015-11-122015-11-132015-11-152015-11-162015-11-202015-12-25存档方式 电子文档 纸文档□其它:拟制审核批准日期日期日期目录1. 任务概述 (1)1.1. 目标 (1)1.2. 运行环境 (1)1.3. 需求概述 (1)2. 总体设计 (2)2.1. 功能模块分析 (2)2.2. 功能分配 (2)3. 模块设计 (3)1.任务概述1.1. 目标设计一款方便日常管理的通讯录系统。
本系统通过强大的计算机技术给个人通讯录的管理带来便利。
目标还包括:1、加强信息保管的安全性;2、提高信息准确度和全面性;3、提高信息获取的便捷性;4、确保信息管理的高效性;1.2. 运行环境编译环境VC6.0 VS2008 VS2010 VS2012 VS2015。
运行环境 Windows XP及以上版本。
1.3. 需求概述①查看联系人的详细信息,包括姓名、年龄、性别、地址、电话。
②新建联系人,可随意添加任意一个项并随时退出新建。
③删除联系人,通过方向键选择要删除的联系人进行删除。
④修改联系人,可随意修改任意一个项并随时退出修改。
⑤查询联系人,可实时显示查询的结果。
(姓名查找暂未实现)。
2.总体设计2.1. 功能模块分析a.文本读取功能:加载联系人信息模块。
b.浏览显示功能:联系人信息管理模块。
c.添加、修改、删除模块:联系人信息管理模块,联系人成员管理模块。
2.2. 功能分配a.主模块:输入:操作系统传递至的各种消息以及用户的输入数据输出:用户界面显示b.系统模块:输入:用户输入命令输出:相应的界面c.数据库操作模块:输入:用户命令输出:各个对话框d.信息添加模块:输入:用户输入信息输出:更新数据库,刷新页面e.信息删除模块:输入:用户删除信息输出:更新数据库,刷新页面3.模块设计a.主模块b.主界面模块通讯录主模块主界面模块控制模块主界面模块导入信息显示主界面c.控制模块控制模块删除联系人显示联系人新建联系人修改联系人查询联系人。
C语言程序设计报告书(手机通讯录)
此处所用字符函数 “strcpy”,由于删 除联系人后,需要进 行重新编号,故选将 第“q+1”个联系人 的信息复制给第“q” 个联系人。
ห้องสมุดไป่ตู้
PPTFLY
增加功能(APPEND)
void APPEND(int j) /*添加联系人的相关信息*/ { int n; fri[j].num=j+1; printf("Number:%d\n",j+1); printf("Name:"); scanf("%s",fri[j].name); printf("Kind:"); scanf("%s",fri[j].classify); printf("Telephone:"); scanf("%s",fri[j].telephone); printf("Mail:"); scanf("%s",fri[j].mail); }
c语言程序设计报告书手机通讯录c语言通讯录程序设计c语言程序设计报告书c语言通讯录课程设计c语言通讯录程序通讯录管理系统c语言c语言通讯录c语言通讯录代码用c语言编写通讯录c语言通讯录源代码
PPTFLY
C语言程序设计报告
报告人:曾强 学号:05311130 专业:工程力学
通讯录管理系统(A级)
模拟手机通讯录管理系统,初始通讯录信息由文本文件
if(i=20)
printf("\nThe room is full");break; case 2:SHOW(fri);getch();break; case 3:DIAL(fri);getch();break; case 4:CORRECT(fri);getch();break; case 5:DELETE(fri[i]);getch();break; case 6:exit(0); }
c语言通讯录程序说明书
c语⾔通讯录程序说明书⼀需求分析⽤过对C语⾔⼀个学期的学习,虽然为达到精通的地步,但对计算机语⾔有了初步的认识,对于⼀些简单的⽤法已经初步掌握,能够编写⼀些⽐较简单的程序。
这次课程设计我选择了通讯录管理程序设计这⼀题⽬。
主要是运⽤所学C语⾔基础知识设计⼀个管理软件,⽤以实现通讯录管理⼯作。
对成员的录⼊、删除、修改、浏览、查找、排序保存进⾏了设计。
能够实现数据的连续录⼊,按姓名查找、修改、删除、排序。
但功能单⼀,只是针对⽆重名通讯录进⾏的⼀些基本操作。
⼀直以来⼈们使⽤传统的⼈⼯⽅式进⾏通讯录的管理⼯作,计算机尚未⼴泛使⽤之前,通讯录的管理主要依靠⼿⼯,不⾜之处显⽽易见:作效率很低,处理能⼒也⽐较低,劳动强度⽐较⼤。
但是伴随着信息社会的到来,信息的极⼤丰富必然要求⼈们适应信息社会,利⽤计算机来处理这些流程⽆疑会极⼤程度地提⾼效率和处理能⼒。
从⽽⼈们对信息和数据的利⽤与处理随之进⼊了⾃动化、⽹络化和社会化的阶段,因此,开发相关的管理信息系统已经成为了各⾏各业的必要和必需。
相应系统的建成⽆疑会为管理者对管理系统提供极⼤的帮助。
将管理程序转化到管理软件中。
这就使得通讯管理⼯作能够得到有关⼈员的⼤⼒⽀持和积极配合。
对于降低通讯管理的劳动强度、提⾼⼯作质量和效率、⽅便⼈员对信息的查询、提⾼信息资源的利⽤效率和管理⽔平都具有重要意义。
⼆总体设计1 课程设计⽬的(1) 加强课堂讲授和书本内容的理解课堂讲授主要介绍语⾔的⼀些基本语法规则和注意事项,枯燥⽆味的内容,通过上机实验来掌握、理解语法规则是学习计算机程序设计的有效⽅法。
通过多次有针对性的上机实验,可以逐步加深对语法规则的理解,从⽽达到灵活运⽤和培养程序设计能⼒的⽬的。
(2) 实习C语⾔的开发、集成环境,只有通过上机实验,才能熟悉这个环境,从⽽提⾼程序开发效率。
(3)通过上机编写和调试程序,可使学⽣真正了解程序在计算机中的执⾏过程以及计算机软件的开发过程,提⾼学习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)设定所要修改的项目。
模块五:刷新学生信息声明void sort()将录入学生系按升序排列,用的是“冒泡排序法”实现排序。
C#课程设计—通讯录软件设计
**学院课程设计说明书(2012/2013学年第一学期)课程名称:软件程序设计题目:通讯录软件设计专业班级:学生姓名:放羊娃学号:指导教师:设计周数:2周设计成绩:2013年1月18日简单通讯录的设计一、课程设计目的本课程设计是通信工程专业的一门软件实践专业基础课,旨在提高学生的软件编程能力。
本设计将进一步加强学生对面向对象程序设计思想的理解,增强对C#程序语言的灵活运用。
要求学生能结合数据库知识,网络通信技术,实现基本的应用软件,为以后从事相关行业打下软件编程基础。
2、课程设计正文2.1分析通过对通讯录的了解和分析,它主要有添加,搜索,修改与删除四个功能。
其中添加功能主要是添加联系人姓名,地址,电话,性别,图像等资料。
2.2设计2.2.1通讯录程序流程图联系人基本信息表2.2.2主界面设计通讯录的功能主要分为添加、查找、删除与修改这四个功能,而我觉得添加、查找功能常用所以单独分了出来。
而删除与修改功能编在了一起(管理功能)。
最后加上退出功能。
退出功能是指退出本通讯录。
即设计图如下:2.2.3管理通录界面设计管理通讯录界面应实现的功能包括删除和修改。
修改功能包括进行名字,电话,地址,图像的修改。
当点击修改按钮之后会显示修改成功。
其中修改图像先双击图片进行选择你想要改的图片,之后点击修改图像按钮。
删除功能是指对用户选中的资料进行删除,当用户击删除按钮的时候系统会弹出对话框确定用户是否要删除选中的资料,当点击是的时候就删除了。
管理通讯录界面如下:2.2.4快速搜索界面设计搜索界面所应有的功能是查找功能。
为了方便用户快速查找联系人,我在这里只设置了一个查询,而这个查询包括精确查询和模糊查询。
其中精确查询是指用户输入联系人的全称,而只查询到相应的联系人。
模糊查询时指用户在忘记联系人的部分称呼时,输入记得的称呼中的一部分进行查询。
而得到的是关于查询数据的相关一切称呼。
搜索界面如下:2.2.5添加界面设计添加界面的设计较为简单,只包括四个供输出的文本框,四个标签,一个图像文本,和两个按钮,其中一个是确认添加按钮(确认)和一个取消按钮。
C语言课程设计 通讯录管理系统说明书1
C语言课程设计通讯录管理系统说明书1c语言课程设计-通讯录管理系统说明书1*******************实践教学*******************兰州理工大学计算机与通信学院2022春季学期计算机语言b课程设计标题:通讯录管理系统专业课:姓名:学号:讲师:分数:目录摘要3文本21.2.3.4.5.6。
问题描述............................................................................ ..........................2需求分析............................................................................ ..........................2系统总体设计............................................................................ ..................3详细设计............................................................................ ..........................6系统测试............................................................................ ..........................7软件使用说明书............................................................................ .. (8)摘要9参考10致谢10附录I原程序代码的一部分11摘要建立“通讯录管理系统”,以菜单的形式工作,编辑和存储通讯录信息,包括号码、姓名、年龄、电话、地址、电子邮件等,并可浏览这些信息;可以按姓名、年龄或电话查询这些信息,并可以建立存储通讯簿信息的文件。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
文件名称通讯录软件概要说明书项目名称通讯录
修改记录
版本ECN/修改内容制定/日期审核/日期批准/日期
1.0 1.1 1.2 1.3
1.4
2.1 主界面
查看、添加联系人
修改联系人
删除联系人
查询联系人
消除BUG,界面优化
2015-11-12
2015-11-13
2015-11-15
2015-11-16
2015-11-20
2015-12-25
存档方式 电子文档 纸文档□其它:拟制审核批准
日期日期日期
系统概述
本需求分析从用户对软件的具体需求做出具体的系统分析,以及实现这些功能的过程中的所有工作。
主要定义了手机通讯录的主要功能,由五大模块组成:创建联系人,添加联系人信息,查询联系人,修改/删除联系人,导入/导出联系人。
通讯录管理系统是一个专门针对储存用户联系方式以及一些简单个人信息的实用管理系统,它方便了用户对众多客户、朋友、同事等个人信息的储存和快速查阅的功能,大大减少了查找过程的时间。
关键字:插入,删除,查找,输出。
目录
一、需求分析 (4)
二、软件设计与分析 (4)
①总流程设计 (5)
②功能设计 (5)
三、模块设计 (6)
①数据导入模块 (6)
②主界面模块 (6)
③查看联系人模块 (7)
④新建联系人模块 (8)
一、需求概述
传统的手工通讯录、地址簿已经难以满足快节奏、高效率的现代生活的需求。
经常发生要在几十甚至上百张名片中找出某一张名片的情况,若由手工完成效率十分低。
当交际扩大后,传统的手工通讯录非常不方便,不易查询、修改、存放,不易保密,容易遗失。
由计算机带来管理庞大而繁杂的通讯录是非常合适的,不仅查询和修改方便,并且效率高,速度快,完全能够满足现代化交际活动的要求,同时也更方便同学们联系交往。
本系统专门用于个人通讯信息管理的小型应用软件,主要提供个人通讯信息的登记、修改、浏览、查询和打印等功能。
用户的主要信息需求:
①对个人通讯信息资料进行登记、修改、浏览。
②对个人通讯信息资料进行按姓名和学号查询。
③对个人通讯信息资料进行打印输出。
二、软件设计与分析
本系统由1个功能模块(主界面)和5个子模块(查看通讯录;新建通讯录;搜索通讯录;修改通讯录;删除通讯录)组成。
① 总流程设计
② 功能设计
(1)新建通讯录功能
增加一个新的记录,并保存通讯录; (2)搜索通讯录功能 按学生学号匹配查询; 按学生姓名匹配查询; (3)修改通讯录功能
修改编辑通讯录的资料.如果修改有误,还有还原功能.修改表单后,关闭表单,则提示是否保存修改.
添加联系人
查询联系人
按号码查询
实时显示
通讯录系统
修改联系人 删除联系人
按年龄查询
新建联系人
保存数据
查看联系人
查看详细信息
编辑信息
直接删除
(4)删除通讯录功能
删除一个记录,提供确认机制;
(5)打印通讯录功能
选择特定记录打印报表;
三、模块设计
①数据导入模块
a.文件导入
序号文件名描述备注 1“includes.h”头文件
b.结构定义
序号结构名描述备注 1Struct man 姓名、年龄、性别、地址、电话
c.变量定义
序号变量名类型
描述
备注
1Name,sex,age,address,tel 整形联系人的信息
d.函数定义
序号函数名返回值参数描述备注1 Loading man_info void 无导入文本
②主界面模块
a.文件导入
序号文件名描述备注1 “includes.h”头文件
b.变量定义
序号变量名类型
描述
备注
1 CurArrPos 整形箭头的控制
2 Key 整形菜单的选择
c.函数定义
序号函数名返回值参数描述备注
1 DispInfo void 无显示主界面
2 menu void 无主菜单
3 Control void 无控制
③查看联系人模块
a.文件导入
序号文件名描述备注
1 “includes.h”头文件
b.变量定义
序号变量名类型
描述
备注
1 CurArrPos 整形箭头的控制
2 CurPage 整形翻页
c.函数定义
序号函数名返回值参数描述备注1 DispManInfo void 无显示联系人
④新建联系人模块
a.文件导入
序号文件名描述备注
1 “includes.h”头文件
2 #include<string.h> 头文件
b.变量定义
序号变量名类型
描述
备注
1 CurArrPos 整形箭头的控制
2 CurManNum 整形当前的人数
c.函数定义
序号函数名返回值参数描述备注
1 AddInfo void 无添加联系人
2 SaveDate void 无保存数据
⑤删除联系人模块
a.文件导入
序号文件名描述备注
1 stdio.h 头文件
2 string.h 头文件
b.变量定义
序号变量名类型
描述
备注
1 CurArrPos 整形箭头的控制
2 CurManNum 整形当前的人数
c.函数定义
序号函数名返回值参数描述备注
1 DelInfo void 无删除联系人
2 SaveDate void 无保存数据
3 Getch key 整型获取键值
⑥修改联系人模块
a.文件导入
序号文件名描述备注
1 stdio.h 头文件
2 string.h 头文件
b.变量定义
序号变量名类型
描述
备注
1 CurArrPos 整形箭头的控制
2 CurManNum 整形当前的人数
3 tmpMan 字符型临时储存
c.函数定义
序号函数名返回值参数描述备注
1 ModiInfo void 无修改联系人
2 SaveDate void 无保存数据
⑦查询联系人模块
a.文件导入
序号文件名描述备注
1 stdio.h 头文件
2 string.h 头文件
3 stdlib.h 头文件
b.变量定义
序号变量名类型
描述备
注
1 FindManIndex 整形找到的人的序号
2 FindManNum 整形找到的人的人数
3 tmpMan 字符型临时储存
c.函数定义
序号函数名返回值参数描述备注
1 FindInfo void 无进行查找
2 SearchInfo void 无查找函数
3 DispInfoA void 无显示函数。