通讯录程序设计

合集下载

C++程序设计(班级通讯录)简版修正

C++程序设计(班级通讯录)简版修正

C++程序设计(班级通讯录)一、项目简介本项目是一个用C++语言实现的班级通讯录管理系统。

通过该系统,用户可以方便地管理班级成员的联系信息,包括姓名、学号、方式等。

二、功能列表1. 添加联系人:用户可以输入学生的信息,包括姓名、学号、方式等,并将其添加到通讯录中。

2. 删除联系人:用户可以输入学生的学号,将对应的联系人从通讯录中删除。

3. 修改联系人:用户可以输入学生的学号,修改对应的联系人的信息。

4. 查询联系人:用户可以输入学生的学号或姓名,查询对应的联系人的信息。

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

6. 清空通讯录:用户可以选择清空通讯录,将所有联系人信息清空。

三、实现思路1. 创建一个学生类,包含姓名、学号、方式等属性,并提供相应的成员函数用于获取和设置这些属性。

2. 创建一个通讯录类,用于管理学生信息。

包括添加联系人、删除联系人、修改联系人、查询联系人和显示所有联系人等功能。

3. 在主函数中,显示主菜单,根据用户的选择调用相应的功能函数。

四、实现步骤1. 定义学生类,包含姓名、学号、方式等属性,并提供相应的成员函数用于获取和设置这些属性。

2. 定义通讯录类,包括添加联系人、删除联系人、修改联系人、查询联系人和显示所有联系人等功能函数。

3. 在主函数中,显示主菜单,根据用户的选择调用相应的功能函数。

五、项目优势1. 简单易用:用户界面友好,操作简便,不需要输入繁琐的指令。

2. 功能完善:涵盖了常用的联系人管理功能,满足用户的需求。

3. 数据安全:通讯录数据保存在内存中,不会外泄或丢失。

4. 可扩展性强:可以根据实际需求进行修改和扩展。

六、通过本项目的实现,我们学习了C++程序设计的基本语法和面向对象的编程思想。

也加深了对通讯录管理系统的理解和实现能力。

希望这个项目对大家学习和了解C++编程有所帮助。

c语言课程设计通讯录

c语言课程设计通讯录

c语言课程设计 通讯录一、课程目标知识目标:1. 理解并掌握C语言结构体和数组的使用,能够运用其创建和操作通讯录。

2. 学习并掌握C语言中的文件操作,实现通讯录数据的保存和读取功能。

3. 掌握C语言中的函数定义和应用,实现通讯录各项功能模块的划分和调用。

技能目标:1. 能够编写C程序,实现通讯录的增加、删除、修改和查询功能。

2. 能够运用所学知识,设计出界面友好、操作简便的通讯录管理系统。

3. 能够对程序进行调试和优化,提高代码的可读性和执行效率。

情感态度价值观目标:1. 培养学生主动探索、积极实践的学习态度,增强其解决实际问题的能力。

2. 培养学生的团队协作精神,学会与他人共同分析问题、解决问题。

3. 通过本课程的学习,使学生认识到编程在生活中的应用价值,激发其对计算机科学的兴趣。

分析课程性质、学生特点和教学要求:本课程为C语言课程设计,旨在巩固和拓展学生所学知识,提高其编程能力。

学生已具备一定的C语言基础,能够独立完成简单的程序编写。

课程要求学生通过动手实践,掌握结构体、数组、文件操作等知识,并能够将其应用于实际项目中。

课程目标明确,分解为具体学习成果,便于教学设计和评估。

在教学过程中,注重培养学生的实际操作能力和团队协作能力,提高其综合素质。

二、教学内容根据课程目标,教学内容主要包括以下几部分:1. C语言基础知识回顾:结构体、数组、函数、文件操作等。

- 结构体:定义、声明、初始化、结构体数组。

- 数组:一维数组、二维数组、字符串与字符数组。

- 函数:函数定义、声明、调用、参数传递。

- 文件操作:文件打开、关闭、读写、定位。

2. 通讯录管理系统功能模块设计:- 系统架构设计:功能模块划分、模块间关系。

- 功能实现:增加、删除、修改、查询、排序等。

3. 编程实践与调试:- 编写代码实现通讯录管理系统各项功能。

- 调试程序,优化代码,提高执行效率。

4. 团队协作与项目展示:- 分组进行项目开发,培养学生团队协作能力。

通讯录C语言程序设计

通讯录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("。

c程序通讯录课程设计

c程序通讯录课程设计

c 程序通讯录课程设计一、课程目标知识目标:1. 理解通讯录程序的基本原理和结构;2. 掌握C语言中数组、结构体和文件操作等基本知识点的应用;3. 学会使用C语言编写、调试和运行简单的通讯录程序。

技能目标:1. 能够运用结构体创建和管理联系人信息;2. 掌握使用数组存储和访问联系人数据的方法;3. 学会使用文件操作实现通讯录数据的持久化存储;4. 培养学生独立分析问题、设计解决方案并进行编程实践的能力。

情感态度价值观目标:1. 培养学生积极探究、主动学习的兴趣,增强对编程和计算机科学的热爱;2. 培养团队协作和沟通能力,学会与他人分享编程经验和成果;3. 树立正确的价值观,认识到编程在生活中的实际应用和价值。

本课程针对高年级学生,结合C语言课程知识,注重实践性和实用性。

课程目标旨在使学生在掌握C语言基本知识的基础上,通过通讯录程序设计,提高编程实践能力,培养创新意识和团队协作精神。

通过本课程的学习,学生将能够独立设计并实现具有实际应用价值的通讯录程序,为后续计算机专业课程打下坚实基础。

二、教学内容1. C语言基础回顾:数组、结构体、文件操作等知识点复习;- 数组的使用和操作;- 结构体的定义和访问;- 文件读写的基本函数和流程。

2. 通讯录程序设计原理:- 通讯录的功能需求分析;- 程序模块划分和设计;- 数据存储和结构的设计。

3. 编程实践:- 创建和初始化通讯录;- 添加、删除和修改联系人信息;- 查询和显示联系人信息;- 通讯录数据的文件存储和读取。

4. 项目实战:- 分组讨论和设计通讯录程序;- 编写代码,实现通讯录功能;- 调试和优化程序;- 小组展示和评价。

教学内容依据课程目标,结合课本章节进行组织,确保学生能够系统、全面地掌握通讯录程序设计的相关知识。

教学进度安排合理,注重理论与实践相结合,充分调动学生的主观能动性和创新能力。

通过本章节的学习,学生将能够熟练运用C语言编写具有实际意义的通讯录程序。

通讯录程序设计c

通讯录程序设计c

通讯录程序设计c通讯录程序设计是计算机编程中的一个常见项目,旨在通过编写代码来实现对联系人信息的存储、查询、修改和删除等功能。

以下是关于通讯录程序设计的详细内容。

一、设计目标通讯录程序的主要目标是提供一个用户界面,允许用户添加、查找、更新和删除联系人信息。

联系人信息通常包括姓名、电话号码、电子邮件地址、住址等。

二、需求分析1. 用户界面:简洁直观,易于操作。

2. 数据存储:能够持久化存储联系人信息。

3. 功能需求:- 添加联系人:允许用户输入并保存新的联系人信息。

- 查询联系人:根据姓名或其他信息搜索联系人。

- 修改联系人:允许用户更新已存在的联系人信息。

- 删除联系人:允许用户删除不再需要的联系人信息。

三、技术选型1. 编程语言:根据项目需求和团队熟悉度选择合适的编程语言,如C、Java、Python等。

2. 数据存储:可以使用文件系统、数据库或内存中的数据结构。

3. 开发环境:选择适合的IDE(集成开发环境)进行编码,如Visual Studio、Eclipse等。

四、系统设计1. 数据结构:设计合适的数据结构来存储联系人信息,如使用结构体或类。

2. 功能模块:- 输入模块:负责接收用户输入的联系人信息。

- 存储模块:负责将联系人信息存储到指定的存储介质。

- 查询模块:提供搜索功能,根据用户输入的关键字查找联系人。

- 修改模块:允许用户修改已存储的联系人信息。

- 删除模块:允许用户删除联系人信息。

五、界面设计1. 主界面:显示所有功能选项,如添加、查询、修改、删除。

2. 输入界面:当用户选择添加或修改联系人时,提供输入界面。

3. 查询结果界面:显示查询结果,可能包括联系人列表或详细信息。

六、实现步骤1. 定义数据结构:根据需求定义联系人的数据结构。

2. 编写功能模块:逐一实现添加、查询、修改和删除功能。

3. 集成测试:将各个模块集成到一起,进行系统测试。

4. 用户测试:让实际用户测试程序,收集反馈并进行优化。

通讯录管理系统毕业设计(两篇)2024

通讯录管理系统毕业设计(两篇)2024

引言概述:通讯录管理系统是一种用于管理联系人信息的软件,它能够为用户提供便捷的联系人管理和信息查询功能。

本文将继续介绍通讯录管理系统的设计和实现,重点关注系统的用户界面设计、数据存储与管理、通讯录的分类与搜索功能、用户权限管理以及通讯录系统的扩展与升级。

正文内容:1.用户界面设计1.1设计原则:用户友好性、易用性和美观性原则1.2主界面设计:主界面布局、功能模块展示、导航设计1.3交互设计:交互方式、操作流程、反馈机制1.4响应式设计:适配多种设备和屏幕分辨率2.数据存储与管理2.1数据库设计:确定实体和属性、建立表结构、定义关系2.2数据库连接:连接数据库、读写操作、异常处理2.3数据备份与恢复:数据备份策略、备份文件管理、数据恢复机制2.4数据安全性:权限控制、数据加密、数据完整性3.通讯录的分类与搜索功能3.1通讯录分类:基本分类和用户自定义分类3.2联系人添加与编辑:输入验证、字段定义、数据关联3.3联系人查询:关键字查询、条件过滤、多条件组合查询3.4联系人导入导出:支持多种数据格式、数据匹配与转换、导入导出策略3.5通讯录分享与同步:用户权限设置、跨设备同步、冲突解决4.用户权限管理4.1用户注册与登录:用户信息获取、身份验证、登录状态管理4.2用户权限分配:管理员与普通用户权限区分、权限控制细化4.3用户信息管理:个人信息修改、密码重置、账号注销4.4安全性保护:登录失败锁定、密码加密、会话管理5.通讯录系统的扩展与升级5.1模块化设计:可插拔式功能模块、模块间接口定义5.2扩展性设计:支持插件开发、动态加载与卸载5.3性能优化:数据索引优化、查询优化、缓存机制5.4系统升级:版本管理、更新提示、升级策略总结:通过上述的详细阐述,我们可以看到,通讯录管理系统涵盖了用户界面设计、数据存储与管理、通讯录的分类与搜索功能、用户权限管理以及通讯录系统的扩展与升级等多个关键领域。

在该系统的设计过程中,我们需要重点关注用户友好性、数据安全性和系统的可扩展性。

C++程序设计(班级通讯录)

C++程序设计(班级通讯录)

C++程序设计(班级通讯录)C++程序设计(班级通讯录)一、引言1.1 目的本文档旨在介绍一个用C++编写的班级通讯录程序,该程序可以用来管理和维护班级成员的联系信息。

1.2 范围本程序设计主要包括以下功能:- 添加新的成员信息- 显示所有成员信息- 查找指定成员信息- 修改成员信息- 删除成员信息二、设计概述2.1 程序结构程序将采用面向对象的设计思路,主要分为以下几个类:- Contact:表示一个班级成员的联系信息- ContactList:管理和维护成员信息的类- Menu:提供菜单选项的类2.2 数据结构程序中将使用以下数据结构存储成员的联系信息:- 数组:用于存储成员的姓名、方式、邮箱等基本信息- 链表:用于管理成员信息的添加、修改、删除等操作三、详细设计3.1 Contact类3.1.1 属性- 姓名- 方式- 邮箱3.1.2 方法- 构造函数:用于初始化Contact对象- get/set方法:用于获取和设置对象的属性值3.2 ContactList类3.2.1 属性- 成员列表:用于存储所有成员联系信息的链表3.2.2 方法- 添加成员信息:将一个新的成员信息添加到链表中- 显示所有成员信息:遍历链表并逐个显示成员信息- 查找成员信息:根据姓名查找指定成员的联系信息- 修改成员信息:根据姓名修改指定成员的联系信息- 删除成员信息:根据姓名删除指定成员的联系信息3.3 Menu类3.3.1 方法- 显示菜单选项:显示主菜单选项供用户选择四、测试计划4.1 测试环境- 操作系统:Windows 10- 编译器:g++ 9.3:04.2 测试用例- 添加新的成员信息,并验证信息是否正确存储- 显示所有成员信息,并检查显示结果是否正确- 查找指定成员信息,并验证查找结果是否正确- 修改指定成员的联系信息,并验证修改结果是否正确- 删除指定成员的联系信息,并验证删除结果是否正确五、维护和支持5.1 项目维护- 维护人:李明- 联系方式:li_min5.2 技术支持- 支持人员:张华- 联系方式:zhang_hu附件:无法律名词及注释:- 本文档中未涉及到法律名词和注释。

c语言通讯录程序(共5篇)

c语言通讯录程序(共5篇)

c语言通讯录程序(共5篇)第一篇:c语言通讯录程序C语言程序设计实践——通讯录管理系统六、程序源代码及注释#include #include #include #include #define SUM 100 #define STOP 1000typedef struct /*结构体,存放通讯录成员信息,重新定义成member型变量*/ { char name[10]; char tel[15]; char cla[5]; char mail[20]; char qq[15]; }member;member info[SUM]; //所有成员空间FILE *fp;//文件指针,用于打开或保存通讯录文件int count=0; //全局变量,用于计数已存入数量/*-----------------------*/int load(char filename[])//打开通讯录文件{ member *p; int i=0; if((fp=fopen(filename,"rb"))==NULL)return i; else{while(!feof(fp)){p=(member *)malloc(sizeof(member));if(fread(p,sizeof(member),1,fp)==1){strcpy(info[i].name,p->name);strcpy(info[i].tel,p->tel);strcpy(info[i].cla,p->cla);strcpy(info[i].mail,p->mail);strcpy(info[i].qq,p->qq);i++;}free(p);}return i;} } /*------------------*/void save(char filename[]) //保存通讯录文件 {int i;member *p;if((fp=fopen(filename,"wb"))==NULL){printf("无法保存!打开文件%s时出错\n",filename); exit(1);}elsefor(i=0;i{p=(member *)malloc(sizeof(member));strcpy(p->name,info[i].name);strcpy(p->tel,info[i].tel);strcpy(p->cla,info[i].cla);strcpy(p->mail,info[i].mail);strcpy(p->qq,info[i].qq);fwrite(p,sizeof(member),1,fp);free(p);}fclose(fp); } /*-----------------*/ void display(void) //分类查看功能 { system("cls");char dis;char way[5];int i,j=0;choice:printf("**********请选择查看分类***********\n");printf("**********1.亲友**********\n");printf("**********2.同学**********\n");printf("**********3.老师**********\n");printf("**********4.其他**********\n");printf("**********5.查看全部**********\n");printf("**********0.返回上一级菜单**********\n");printf("*****************************************\n"); printf("请选择(1~5或0):");dis=getchar();getchar();switch(dis){case '1':strcpy(way,"亲友");break;case '2':strcpy(way,"同学");break;case '3':strcpy(way,"老师");break;case '4':strcpy(way,"其他");break;case '5':printf("*******全部通讯成员*******\n"); for(i=0;iprintf("姓名:%s\n",info[i].name);printf("电话号码:%s\n",info[i].tel);printf("电子邮箱:%s\n",info[i].mail);printf("QQ号:%s\n",info[i].qq);printf("分类:%s\n",info[i].cla);printf("*****************************\n");j++;}if(j==0){printf("************************\n");printf("无任何通讯成员\n");}j=0;Sleep(STOP);goto choice; break;case '0':return; break;default:printf("*************************\n");printf("输入指令有误!\n");printf("*************************\n");Sleep(STOP);goto choice;}printf("********通讯成员之%s*******\n",way); for(i=0;iif(strcmp(info[i].cla,way)==0){printf("****姓名:%s\n",info[i].name);printf("****电话号码:%s\n",info[i].tel);printf("****电子邮箱:%s\n",info[i].mail);printf("****QQ号:%s\n",info[i].qq);printf("****分类:%s\n",info[i].cla);printf("**********************************\n"); j++;}}if(j==0){printf("该分类中无通讯成员\n");printf("******************\n");}j=0;Sleep(STOP);goto choice; }/*------*/ int add(void)//增加新的成员 {member temp;int i;reinput_name:printf("请输入新成员的姓名:");gets();for(i=0;iif(strcmp(info[i].name,)==0){ printf("该姓名已存在!\n");Sleep(STOP);goto reinput_name;}reinput_tel:printf("请输入新成员的电话号码:"); gets(temp.tel);for(i=0;iif(strcmp(info[i].tel,temp.tel)==0){ printf("该电话号码已存在!\n");Sleep(STOP);goto reinput_tel;}printf("请输入新成员的电子邮箱:"); gets(temp.mail);printf("请输入新成员的QQ号:");gets(temp.qq);printf("请输入新成员的分类:");gets(temp.cla);info[count]=temp;count++;return count; }/*-----*/ int search(char sname[]) //查找功能 { int flag=0,i;for(i=0;iif(strcmp(info[i].name,sname)==0){printf("*****************************\n"); printf("****姓名:%s\n",info[i].name);printf("****电话号码:%s\n",info[i].tel);printf("****电子邮箱:%s\n",info[i].mail);printf("****QQ号:%s\n",info[i].qq);printf("****分类:%s\n",info[i].cla);printf("******************************\n"); flag=1;}return flag; }/*---------*/ int rework(char rname[])//修改功能 {int flag=0,i;for(i=0;iif(strcmp(info[i].name,rname)==0){printf("*********************");printf("请输入新的姓名:");gets(info[i].name);printf("请输入新的电话号码:");gets(info[i].tel);printf("请输入新的电子邮箱:");gets(info[i].mail);printf("请输入新的QQ号:");gets(info[i].qq);printf("请输入新的分类:");gets(info[i].cla);printf("********************");flag=1;}return flag; }/*-----------------------------*/ int erase(char ename[]) //删除功能 {int flag=0,i,j;for(i=0;iif(strcmp(info[i].name,ename)==0){for(j=i;jinfo[j]=info[j+1];count--;flag=1;}return flag; } /*-----------------------------*/ int call(void)//拨号功能 {int i,j,flag=0;char cname[10];printf("**************************\n");for(i=0;iprintf("%s ",info[i].name);}putchar('\n');printf("请输入需要拨号的姓名:");gets(cname);for(i=0;iif(strcmp(info[i].name,cname)==0){printf("正在拨号:");for(j=0;info[i].tel[j]!='\0';j++){printf("%c",info[i].tel[j]);Sleep(300);}putchar('\n');flag=1;}return flag; } /*-----------------------*/ int main(void)//主函数{ char filename[40]; char c,save_j; int t; char s_r_e_name[10];printf("欢迎使用通讯录系统!请输入通讯录文件的有效路径(若文件不存在则自动创建新通讯录)\n"); gets(filename); count=load(filename); system("cls");printf("======================================\ n");printf("==========欢迎使用我的通讯录==========\n");printf("============ 制作:石贵清===========\n");begin:printf("★★★★★★★★★★★★★★★★★★★★★★★★★★\n");printf("※※\n");printf("※通迅录※\n");printf("※※\n");printf("※1. 添加新联系人.5. 分类显示查询.※\n");printf("※※\n");printf("※2. 删除联系人.6.拨出电话.※\n");printf("※※\n");printf("※3. 查询通讯成员.7.保存通讯文件.※\n");printf("※※\n");printf("※4. 修改信息.0. 关闭通迅录.※\n");printf("★★★★★★★★★★★★★★★★★★★★★★★★★★\n"); printf("友情提醒:请在退出本程序之前按7保存通讯文件! \n"); printf("请输入您选择的操作:");c=getchar();getchar(); switch(c) {case '1':if(count==SUM){printf("======= 通讯录空间已满,无法继续录入!===\n"); Sleep(STOP);goto begin; break;}t=add();printf("===== 信息已建立,请尽快保存!=====\n");if(t==SUM){printf("===== 通讯录空间已满,无法继续录入!=====\n"); }Sleep(STOP);goto begin;break; case '2': if(count==0){printf("========================\n");printf("=== 通讯录中无任何成员!====\n");printf("======================\n");Sleep(STOP);goto begin;break; }printf("请输入要删除成员的姓名:");gets(s_r_e_name);t=erase(s_r_e_name);if(!t) {printf("=================\n");printf("==== 查无此人====\n");printf("=================\n"); } else {printf("======================\n");printf("======已成功删除======\n");printf("======================\n"); } Sleep(STOP); goto begin;break; case '3':printf("请输入要查找的成员姓名:");gets(s_r_e_name);t=search(s_r_e_name);if(!t){printf("======================\n");printf("===== 查无此人 =======\n");printf("======================\n");}Sleep(STOP);goto begin;break;case '7':save(filename);printf("==============================\n");printf("======保存成功!=======\n");printf("==============================\n"); Sleep(STOP); goto begin;break;case '4':printf("请输入要修改的成员姓名:");gets(s_r_e_name);t=rework(s_r_e_name);if(!t) {printf("=======查无此人====\n"); }else{printf("=========================\n"); printf("====修改成功====\n");}Sleep(STOP);goto begin;break;case '5':display();Sleep(STOP);goto begin;break;case '6':t=call();if(!t){printf("=============================\n"); printf("====== 输入姓名错误! =======\n");printf("============================\n"); }else{printf("=========================\n");printf("======电话已经拨出=====\n");printf("=======================\n");}Sleep(STOP);goto begin;break;case '0':printf("是否保存数据文件?(Y:是/N:否)");save_j=getchar();if(save_j=='Y'||save_j=='y'){save(filename);printf("====== 保存成功!=======\n");printf("======= 感谢您的使用!再见! ======\n");}else{printf("========================\n");printf("=== 感谢您的使用!再见! ===\n");printf("========================\n");}exit(0); default:printf("=====Sleep(STOP);goto begin; } return 0; }输入指令无效!====");第二篇:C语言程序设计学生通讯录管理系统#include "stdio.h" #include "stdlib.h" #include "string.h" #include "conio.h" #include "stdlib.h" #define null 0 struct record { char name[20]; char phone[20]; char adress[40]; char postcode[10]; char e_mail[30]; }student[500]; struct LinkList { struct record US; struct LinkList *next; }a; struct LinkList *head=null; int num=0; FILE *fp; int menu_select(); int adduser(); int list(); int search(); int display(); int add(); int listbyname(); int dele(); int save(); int exit();void main() {system("cls"); for(;;) { switch(menu_select()) { case 0:adduser();break; case 1:list();break; case 2:search();break; case 3:add();break; case 4:dele();break; case 5:save();break; case 6:exit(0); } } } menu_select() { char s[80]; int a; printf("*_* press any key enter menu! *_* \n"); getch(); system("cls"); printf("\t\t********************MENU*********************\n\n"); printf("\t\t 0. 输入记录\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. Quit\n"); printf("\t\t***********************************************\n");do{ printf("\n Enter you choice(0~11):"); scanf("%s",s); a=atoi(s); } while (a<0||a>11); return a; }adduser() { printf("\n\t\t**************** 请输入用户信息****************\n"); printf("\n\t\t输入姓名:"); scanf("%s",&student[num].name); printf("\n\t\t输入电话号码:"); scanf("%s",&student[num].phone); printf("\n\t\t输入地址:"); scanf("%s",&student[num].adress); printf("\n\t\t输入邮编:"); scanf("%s",&student[num].postcode); printf("\n\t\t输入e-mail:"); scanf("%s",&student[num].e_mail); num++; printf("\n\t\t是否继续添加?(Y/N):"); if (getch()=='y') adduser(); return(0); } list() { int i; system("cls"); if(num!=0) { printf("\n\t\t*************** 以下为通讯录所有信息************"); for (i=0;iprintf("\n\t\t姓名:%s",student[i].name); printf("\n\t\t电话:%s",student[i].phone); printf("\n\t\t地址:%s",student[i].adress); printf("\n\t\t邮编:%s",student[i].postcode); printf("\n\t\te-mail:%s",student[i].e_mail); printf("\t\t"); if (i+1add() { int i; if ((fp=fopen("student.bin","wb"))==NULL) { printf("\n\t\t文件打开失败"); } for (i=0;isave() { int j; FILE*fp; fp=fopen("student.txt","w"); if (fp==NULL) printf("can't open the file."); if(num!=0) { for(j=0;j fwrite(student,sizeof(student),1,fp); } } printf("保存成功!"); fclose(fp); return(0); }第三篇:C语言作业:学通讯录学生通讯录一、语言和环境1.实现语言:C语言。

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

通讯录程序设计设计一个实用的小型通讯录程序,具有添加,查询和删除功能。

由姓名,籍贯,电话号码1,电话号码2,电子邮箱组成,姓名可以由字符和数字混合编码。

电话号码可由字符和数字组成。

实现功能:(1)系统以菜单方式工作(2)信息录入功能(3)信息浏览功能(4)信息查询功能(5)信息修改功能(6)系统退出功能//WREN编取材网路(适用于VC++)本题有细节上的缺陷,请自身予以修改。

#include <stdio.h>#include <conio.h>#include <string.h>#include <stdlib.h>#define PF printf#define SF scanfint n=0,i;struct address_book{char name[20];char place[20];long num1;long num2;char mail[40];}stud[200];void add(){char j;front1:system("cls");//清屏PF("\n请输入要添加的姓名:");SF("%s",stud[n].name);PF("\n请输入要添加的籍贯:");SF("%s",stud[n].place);PF("\n请输入要添加的电话号码一:");SF("%d",&stud[n].num1);PF("\n请输入要添加的电话号码二:");SF("%d",&stud[n].num2);PF("\n请输入要添加的电子邮箱:");SF("%s",stud[n].mail);getchar();n++;PF("是否继续(Y/N)?:");j=getchar();getchar();if(j=='y'||j=='Y') goto front1;//再次输入记录}void del(){int k=0,m,i;char j;front2:system("cls");//清屏PF("\n请输入要删除的联系人:");SF("%d",&m);getchar();for(i=0;i<n;i++)//查找记录if(strcmp(m,stud[i].name)==0){k=1;break;}if(k==1)//删除记录{for(k=i;k<n-1;k++)stud[k]=stud[k+1];n--;PF("已删除\n\n");}else{PF("找不到要删除的记录!\n");PF("按回车键返回:");getchar();}PF("是否继续(Y/N)?:");j=getchar();getchar();if(j=='y'||j=='Y') goto front2;getchar();}void arrange(){int k,i;struct address_book t;system("cls");//清屏PF("姓名籍贯电话号码一电话号码二电子邮箱\n");for(k=0;k<n-1;k++)for(i=0;i<n-k-1;i++)if(strcmp(stud[i].name,stud[i+1].name)<0){t=stud[i];stud[i]=stud[i+1];stud[i+1]=t;}for(i=0;i<=n-1;i++)PF("%-10s%-8s %-15ld %-15ld %-20s",stud[i].name,stud[i].place,stud[i].num1 ,stud[i].num2,stud[i].mail);PF("按回车键返回!");getchar();getchar();}void change(){int k=0;char j,m[20];front5:system("cls");//清屏PF("\n请输入要修改记录的姓名:");SF("%s",m);getchar();for(i=0;i<n;i++)//查找if(strcmp(m,stud[i].name)==0){k=1;break;}if(k==1){PF("\n");PF("\n请输入修改后的姓名:");SF("%s",stud[i].name);PF("\n请输入修改后的籍贯:");SF("%s",stud[i].place);PF("\n请输入修改后的电话号码一:");SF("%d",&stud[i].num1);PF("\n请输入修改后的电话号码二:");SF("%d",&stud[i].num2);PF("\n请输入修改后的电子邮箱:");SF("%s",stud[i].mail);PF("修改成功\n");getchar();}if(k==0){PF("找不到要修改的记录!\n");PF("按回车键返回:");getchar();}getchar();PF("是否继续(Y/N)?:");j=getchar();getchar();if(j=='y'||j=='Y') goto front5;}void find(){int k=0;char j,m[20];front3:system("cls");//清屏PF("\n请输入要修改记录的姓名:");SF("%s",m);getchar();for(i=0;i<n;i++)//查找if(strcmp(m,stud[i].name)==0){k=1;break;}if(k==1){PF("姓名籍贯电话号码一电话号码二电子邮箱\n");PF("%-10s%-8s %-15ld %-15ld %-20s",stud[i].name,stud[i].place,stud[i].num1 ,stud[i].num2,stud[i].mail);}else{PF("找不到该联系人!请重新输入!按回车返回!");getchar();goto front3;}PF("是否继续(Y/N)?:");j=getchar();getchar();if(j=='y'||j=='Y') goto front3;}void main(){char j;PF("\n\n\n\n\n\n\t\t\t 欢迎使用简单通讯录");PF("\n\n\n\t\t\t\t制作人:王靖焱");PF("\n\n\n\t\t\t\t 2012年2月");PF("\n\n\n\n\n\n\n\n\n\n\n\n按回车键进入主菜单:");getchar();loop:system("cls");PF("\n");PF("\t\t\t\t ************\n");PF("\t\t\t\t ***主菜单***\n");PF("\t\t\t\t ************\n\n\n\n\n\n");PF("\t\t 1、录入联系人信息2、删除联系人信息\n\n");PF("\t\t 3、查询联系人信息4、联系人信息游览\n\n");PF("\t\t 5、修改联系人信息6、保存退出系统\n\n");PF("\n\n\n\n\n\n\n\n\n请选择[1/2/3/4/5/6]:");j=getchar();if(j=='\n') goto loop;//返回主菜单switch(j){case '1': add();goto loop;//返回主菜单case '2': del();goto loop;case '3': find();goto loop;case '4': arrange();goto loop;case '5': change();goto loop;case '6':{FILE *fp;fp=fopen("student.dat","w");for(i=0;i<n;i++)fwrite(&stud[i],sizeof(struct address_book),1,fp);fclose(fp);exit(0);}default: goto loop;} }。

相关文档
最新文档