C语言实验报告材料 通讯录
- 格式:doc
- 大小:141.50 KB
- 文档页数:11
C语言程序设计课程设计报告设计题目:通讯录学号2010211766班级通信与信息类0101012班姓名万同堂2011年12月03日录入联系人信息(包括姓名、电话号码、地址等信息);通讯录管理系统要求实现以下功能:1、输入每一位联系人记录,将其信息存入文件中。
2、查询所有联系人的信息,并按可选的自定义规则进行排序;3、记录修改,将修改的记录信息保存于文件中。
1、设一个通信录由以下几项数据信息构成:数据项类型姓名字符串地址字符串邮政编码字符串电话号码字符串试为通信录数据定义类型和定义通信录变量,实现功能:存取、显示、删除记录、查询记录等功能。
2、要求:界面友好,易于操作系统功能模块图:添加:可以添加通讯录记录,依次输入编号、姓名、年龄、电话号码、通讯地址、电子邮箱等后,会提示是否继续添加。
显示:可以以表格形式输出所有通讯录里的记录删除:输入欲删除的那个人的名字后,会自动删除他(她)的记录内容查询:可以选择用姓名、电话、地址三种方式查询修改:输入欲修改的那个人的名字后,再依次输入编号、姓名、年龄、电话号码、通讯地址、电子邮箱即可完成修改保存:,输入文件名(带后缀名)后,即可将通讯录信息保存到文件(1).通讯录:主要代码struct user{char name[20];//用户名char adr[20];//地址char numb[20];//手机号char code[20];//邮政编码};typedef struct user user;int main(){int key,m ;int n = 0;user u[N];char num[20];// double insert;printf("\n\n\n"); /*欢迎界面*/printf("\t\t\t\t欢迎光临 \n");printf("\t\t\t 我的个人通讯管理系统\n");printf("\t\t\t 完成日期:2011年12月4日\n\n");using namespace std;time_t t = time(0);printf("\t\t\t您正进入添加界面...\r");Sleep(1000);printf(" \r");char tmp[64];int i=1;while(i<2){i++;strftime( tmp, sizeof(tmp), "\t %Y/%m/%d %X %A 本年第%j 天 %z",localtime(&t) );printf("%s",tmp); /*输出系统时间*/ }printf("\n\n\n\t\t\t\t正在进入...\n\n\n");Sleep(800);printf("\t 本产品已经通过金山、卡巴、江民、360等多款杀毒软件检测,\n");Sleep(800);printf("\t 安全无毒,绿色无插件,请大家放心使用。
C语言集中上机实习报告指导教师:纪良浩姓名:梁皓学号: 2012211516班级: 0401204时间: 2013年5月27日实验题目通讯录一、实验目的为综合应用C语言程序设计理论知识、进一步提高自己综合解决问题、协调工作的能力和良好的软件开发习惯,所以设计一个个人通讯录管理系统,拥有对数据的各种操作功能,实现对通讯录的管理,从而巩固C语言程序设计。
二、实验内容1.通讯录需求分析2.通讯录总体设计3.通讯录算法设计4.通讯录代码编写5. 程序测试6.实验心得体会三、实践过程1.通讯录应实现以下功能:添加:添加通讯录记录显示:显示通讯录记录删除:删除通讯录记录查询:查询通讯录记录修改:修改通讯录记录保存:将信息保存到文件2.功能实现分析首先该程序需要一个主菜单设计如下主菜单添加显示删除查询修改保存添加:可以添加通讯录记录,依次输入姓名、电话号码、通讯地址、邮政编码后,会提示是否继续添加。
显示:可以以表格形式输出所有通讯录里的记录删除:输入欲删除的那个人的名字后,会自动删除他(她)的记录内容查询:可以选择用姓名、电话、地址三种方式查询修改:输入欲修改的那个人的名字后,再依次输入姓名、电话号码、通讯地址、邮政编码即可完成修改保存:输入文件名(带后缀名)后,即可将通讯录信息保存到文件分别将其设计后大概为:① 添加: ②显示: Y YN N开始结束输出一个记录i<=n+1int i;i=1;开始return(n+1)输入信息sign!=’n ’&&sing!=’Ni=0结束 i++③删除:④查询(以姓名为例):⑤修改:当然在编写代码中业余到了很难四.程序测试 1.主菜单显示当然在代码的实现方面我也遇到了很多困难,毕竟这也是有一定难度的,也别是对于我这种很低端的人来说。
首先遇到的困难是程序该如何设计,第一步真的很难迈出。
做一件事情首先要有完整计划才能事半功倍,当然写一个程序,一个良好的程序设计是必须的。
c语言通讯录实验报告C语言通讯录实验报告一、实验目的通讯录是我们日常生活中常用的工具,可以帮助我们管理联系人信息。
本次实验旨在通过使用C语言编写一个简单的通讯录程序,加深对C语言的理解和运用。
二、实验环境本次实验使用的开发环境是Visual Studio Code,编程语言为C语言。
三、实验过程1. 通讯录数据结构设计在开始编写程序之前,我们需要先设计好通讯录的数据结构。
通讯录的基本信息包括姓名、电话号码和电子邮件地址。
我们可以使用结构体来表示一个联系人的信息,然后使用数组来存储多个联系人的信息。
2. 程序主体框架设计接下来,我们需要设计程序的主体框架。
首先,我们可以定义一个数组来存储通讯录中的联系人信息。
然后,我们可以使用一个循环来提供用户操作的选项,比如添加联系人、查找联系人、删除联系人等。
用户可以通过输入相应的数字来选择不同的操作。
3. 添加联系人功能在程序中添加联系人的功能可以通过用户输入联系人的姓名、电话号码和电子邮件地址来实现。
我们可以通过循环遍历通讯录数组,找到第一个空闲的位置,将新的联系人信息存储到该位置。
4. 查找联系人功能查找联系人的功能可以通过用户输入联系人的姓名来实现。
我们可以通过遍历通讯录数组,逐个比较联系人的姓名,找到匹配的联系人并输出其详细信息。
5. 删除联系人功能删除联系人的功能可以通过用户输入联系人的姓名来实现。
我们可以通过遍历通讯录数组,找到匹配的联系人并将其从数组中删除。
6. 修改联系人功能修改联系人的功能可以通过用户输入联系人的姓名来实现。
我们可以通过遍历通讯录数组,找到匹配的联系人,并允许用户修改其电话号码和电子邮件地址。
7. 显示通讯录功能显示通讯录的功能可以通过遍历通讯录数组,逐个输出联系人的详细信息来实现。
四、实验结果经过编写和调试,我们成功实现了一个简单的C语言通讯录程序。
用户可以通过输入相应的数字来选择不同的操作,包括添加联系人、查找联系人、删除联系人、修改联系人和显示通讯录。
毕业论文(设计)论文(设计)题目:通讯录管理系统二级学院:计算机学院学科专业:信息管理专业学号:姓名:班级:试点本科三班指导教师:论文提交时间: 2011年3月教务处制2011年3 月13 日毕业论文(设计)内容介绍论文(设计)题目通讯录管理系统选题时间2010年12月完成时间2011年3月论文(设计)字数4685关键词通信录信息管理,管理信息系统,数据库论文(设计)题目的来源、理论和实践意义:课题来源:本课题是来自辅导老师的提议和日常所学内容的总结,使用 MICROSOFT公司的 VISUAL C++6.0开发工具,利用其提供的各种面向对象的开发工具,在短时间内未系统建立应用原形,并不断进行修正和改进。
理论依据:1、VISUAL C++的上机学习及实践。
2、、数据库原理的课程内容。
3、学校所开课程的学习以及领悟,理论及实践相结合。
实践意义:通过实践证实了通讯录管理系统的重要性,突显了通讯录管理系统是我们日常生活中不可缺少的一部分。
论文(设计)的主要内容及创新点:本文论述了通讯录系统的整个开发过程,包括系统分析、系统设计、系统实现等方面。
实现对通讯录信息的增、删、改、查等功能,以多文档界面形式实现。
通过对通讯录管理系统必要性和可行性的介绍阐述他的作用,并应用大量图例进行说明,使表达的内容更加清楚易于理解,整体更加简明。
附:论文(设计)本人签名:2011 年 3 月13 日通讯录管理系统 (4)摘要 (4)Abstract (5)引言 (6)一、设计系统的必要性和可行性 (7)1.1设计系统的必要性 (7)1.2设计系统的可行性 (7)1.1.1经济可行性 (7)1.1.2技术可行性 (7)二、系统总体设计 (8)2.1题目要求 (8)2.2需求分析 (8)2.3总体设计 (8)2.3.1系统总体功能单元: (8)2.3.2系统总体流程图(局部): (9)三、详细设计 (10)3.1通讯录信息输入模块 (10)3.2信息浏览及排序模块 (11)3.3通讯录查询模块 (12)3.4通讯录的更改 (14)3.5通讯录及文件操作 (16)四、系统功能的实现与运行 (18)4.1个人档案数据维护表单 (18)4.2通讯信息数据维护表单 (18)4.3个人信息数据查询表单 (19)4.4 个人通讯录报表 (20)4.5系统登录表单 (20)4.6设计系统主菜单 (21)4.7系统主界面表单 (22)4.8连编 (22)五、结论 (23)七、参考文献 (24)通讯录管理系统摘要通信录信息管理系统是用计算机管理电子通信录的一种计算机应用技术的创新,在计算机还未普及之前通信管理都是由联系人采用名片,笔录手工记帐的方式来操作的.现在一般的通信录管理都是采用计算机作为工具的实用的计算机通信录管理程序来帮助人们进行更有效的通信录信息管理。
太原学院计算机工程系课程设计报告课程名称:数据结构课程设计姓名:苏建花学号: 20140903336专业班级:计算机工程系网络三班指导教师:翟婷婷2015年12 月30日计算机工程系课程设计报告课程名称:C语言课程设计课程设计题目:通讯录管理系统目录(参考)1.设计目的与要求 (X)1.1题目与设计要求 (X)1.2本程序涉及的知识点 (X)2.功能设计 (X)2.1总体设计 (X)2.2详细设计 (X)3.程序实现 (X)3.1程序实现时应考虑的问题 (X)3.2 XX模块核心代码 (X)4.测试分析 (X)4.1 测试结果及分析 (X)4.总结 (X)参考文献 (X)1、设计目的与要求这次课程设计的目的在于:1.熟练的掌握C语言课程中所学的理论知识,并对其进行应用;2.通过综合C语言的基本知识来解决实际问题;3.加强分析和解决问题的能力;4.提高实践动手能力,将知识化为实际成果1.1 题目与设计要求(1)题目:通讯录(2)设计要求a、建立通讯录信息,信息至少包含姓、名、电话号码、住址、分类(如同事、朋友、同学、家人等)等。
b、该系统提供添加、删除、修改和查找功能,其中按姓名方式删除、修改,按姓名、姓氏方式查找。
c、将通讯录保存在文件中。
d、能够输出通讯录中的信息。
1.2 本程序设计的知识点(1)采用结构体数组。
struct Person{char a[16];char s[16];char d[16];char f[24];struct Person *next;}stu;(2)运用函数之间的调用主函数可以调用子函数,子函数之间可以相互调用,子函数不能调用主函数,主函数可以多次调用一个子函数,也可以一次调用多个子函数。
(3)利用指针变量struct Person *head;struct Person *p1,*p22 、功能设计添加:添加通讯录记录修改:修改通讯录记录删除:删除通讯录记录查找:查询通讯录记录显示:显示通讯录记录统计:统计通讯录数目2.1需求分析信息记录要存放到文件中去,因而要实现文件的输入输出操作;要实现数据的插入、删除、修改和显示功能,因而要实现插入、删除、修改和显示操作;要实现按人名或姓氏进行查询的功能,因而要提供查找操作;另外还应该提供键盘式选择菜单以实现功能选择。
C语言课程设计通讯录实验报告实验目的:本实验旨在通过设计一个通讯录程序,加深理解和掌握结构体、函数和文件操作等C语言知识,并培养学生的实践能力和解决问题的能力。
实验要求:设计一个通讯录程序,能够实现添加联系人、删除联系人、查找联系人、修改联系人信息等基本功能,并能够将联系人信息保存到文件中,实现数据的持久化存储。
实验原理:通讯录程序的数据结构可以设计为一个结构体数组,每个元素表示一个联系人,结构体包含姓名、电话号码、地址等信息。
通过使用不同的函数实现不同的功能,如添加联系人函数addContact()、删除联系人函数deleteContact()、查找联系人函数searchContact()等。
实验步骤:1. 定义一个结构体类型,包含姓名、电话号码和地址等信息。
2. 声明并实现各个功能函数,如添加联系人函数addContact()、删除联系人函数deleteContact()、查找联系人函数searchContact()等。
3. 在主函数中使用循环菜单来实现用户的各种操作选择。
4. 将联系人信息保存到文件中,实现数据的持久化存储。
5. 编译并运行程序,验证程序的正确性和功能完整性。
实验结果:通过实验,成功设计并实现了一个通讯录程序,能够实现添加联系人、删除联系人、查找联系人、修改联系人信息等基本功能,并能够将联系人信息保存到文件中,实现数据的持久化存储。
实验总结:本实验通过设计一个通讯录程序,加深了对结构体、函数和文件操作等C语言知识的理解和掌握,同时也培养了解决问题的能力和实践能力。
通过实验,我进一步理解了结构体的定义和使用、函数的声明和调用、文件的打开和关闭等操作。
在实验过程中,我也遇到了一些问题,如如何优化查找联系人的算法、如何处理文件打开失败的情况等,通过思考和调试逐步解决了这些问题。
实验过程中的问题和解决方法不仅加深了对C 语言的理解,也提高了解决问题的能力。
实习报告①需求分析建立一个通讯系统,系统中保存着人员的姓名,电话,住址,邮编等信息,通过该系统的界面可以浏览这些信息,也可以插入,添加及删除某个人的信息1)录入人员信息,创建通讯录文件2)进行相应的插入,添加,删除操作,并输出相应的结果(1)确定设计程序接收的输入数据和输出数据的形式、取值范围;每条通讯录包含姓名,街道,城市,邮编,电话号码。
都以字符型数组存储,分别定义为15、30、20、20、20字节长。
输入同输出。
(2)初步列出测试数据以及测试目的;②程序设计说明程序中用到的所有数据类型的定义。
绘制主程序的流程图,以及各子程序模块间的调用关系流程图:③调式分析(1)列出调式过程中遇到的主要问题,并说明解决方法;链表和结构体在实习刚开始时理解不透彻,只知道大概需要用到程序中,翻阅了一些资料后基本学会使用了。
开始用if,else语句轮寻菜单中用户输入的数字对应功能,后来发现用swith,case更方便灵活。
(2)分析算法的时间和空间复杂度,如果有给出算法改进思想;作为一个完整可用的通讯录还缺少保存信息到硬盘功能。
但本人基础较薄,有限的实习时间内无法完成。
希望今后有机会继续完善。
④使用说明说明编写程序的使用方法,详细列出每一操作步骤;⑤测试结果列出若干输入的测试数据、测试目的、产生的结果;简易通讯录系统:Designed by Irene=================================输入纪录-----------------0显示所有纪录-------------1查询纪录-----------------2删除纪录-----------------3退出---------------------4=================================请输入数字(0~4)选择,enter确定并输入:姓名街道城市邮编------------------------------------- Irenedfbj100034110------------------------------------- 继续输入吗?(Y/N)y姓名街道城市邮编------------------------------------- ericfdbj100076119------------------------------------- 继续输入吗?(Y/N)y姓名街道城市邮编------------------------------------- rareijbj100056120------------------------------------- 继续输入吗?(Y/N)n简易通讯录系统:Designed by Irene================================= 输入纪录-----------------0显示所有纪录-------------1查询纪录-----------------2删除纪录-----------------3退出---------------------4=================================请输入数字(0~4)选择,enter确定并输入: 1显示所有记录如下:-------------------------------------姓名街道城市邮编------------------------------------- Irene df bj 100034-------------------------------------eric fd bj 100076-------------------------------------rare ij bj 100056-------------------------------------简易通讯录系统:Designed by Irene================================= 输入纪录-----------------0显示所有纪录-------------1查询纪录-----------------2删除纪录-----------------3退出---------------------4=================================请输入数字(0~4)选择,enter确定并输入:2请输入姓名进行查询:Irene------------------------------------- 姓名街道城市邮编------------------------------------- Irene df bj 100034------------------------------------- 查询成功!继续查询?(Y/N)n简易通讯录系统:Designed by Irene================================= 输入纪录-----------------0显示所有纪录-------------1查询纪录-----------------2删除纪录-----------------3退出---------------------4=================================请输入数字(0~4)选择,enter确定并输入: 3请输入姓名删除纪录:eric确定要删除吗?(Y/N)ySuccess to delete!简易通讯录系统:Designed by Irene=================================输入纪录-----------------0显示所有纪录-------------1查询纪录-----------------2删除纪录-----------------3退出---------------------4=================================请输入数字(0~4)选择,enter确定并输入: ⑥其他(1)注释源程序代码;#include <stdio.h>#include <string.h>#include <malloc.h>typedef struct txl{char name[15];char street[30];char city[20];char eip[20];char phone[20];}dtxl; /*建立通讯录信息结构体;*/ typedef struct dlnode{dtxl data;struct dlnode *prior;struct dlnode *next;}dnode; /*建立双向链表结构体;*/ dnode *head;void enter(void){dnode *p,*rear;char flag='Y';head=(dnode *)malloc(sizeof(dnode));rear=head;head->next=head;head->prior=head; /*建立双链表空头节点;*/while(flag=='Y'||flag=='y'){p=(dnode *)malloc(sizeof(dnode));printf(" 姓名街道城市邮编电话\n");printf("-----------------------------------------------\ n");scanf("%s %s %s %s %s",&p->,&p->data.street,&p->data.city,&p->data.eip,&p->data.phone);rear->next=p;p->prior=rear;rear=p;p->next=head; /*向双链表中动态增加节点数据;*/printf("-----------------------------------------------\ n");printf("继续输入吗?(Y/N)\n");scanf("%s",&flag);}printf("\n");}//显示子程序void display(dnode *head){dnode *p;p=head->next;printf("显示所有记录如下:\n");printf("-----------------------------------------------\n");printf(" 姓名街道城市邮编电话\n");printf("-----------------------------------------------\n");while(p!=head){printf("%s %8s %8s %8s %8s",p->,p->data.street, p->data.city,p->data.eip,p->data.phone);printf("\n");printf("-----------------------------------------------\ n\n");p=p->next;}}dnode *search(dnode *head){dnode *p;char name[9];p=head->next;scanf("%s",name);while(p!=head&&p&&strcmp(p->,name)!=0){p=p->next;}return p;}//删除子程序void delete(dnode *head){char f;dnode *p;p=search(head);if(p==head){printf("没有找到要删除的数据!!!\n\n");return;}else{printf("确定要删除吗?(Y/N)\n");scanf("%s",&f);if(f=='Y'||f=='y'){p->prior->next=p->next;p->next->prior=p->prior;free(p);printf("Success to delete!\n");}}}//退出子程序void quit(void){exit(0);}//主程序void main(){ char flag='Y';for(;;){dnode *q;int ch;printf("简易通讯录系统:\n");printf(" Designed by Irene\n\n");printf("=================================\n");printf(" 输入纪录-----------------0\n");printf(" 显示所有纪录-------------1\n");printf(" 查询纪录-----------------2\n");printf(" 删除纪录-----------------3\n");printf(" 退出---------------------4\n"); /*通讯录提示信息;*/printf("=================================\n");printf("请输入数字(0~4)选择,enter确定并输入:\n");scanf("%d",&ch);//菜单分支选择switch(ch){case 0:enter();break;case 1:display(head);break;case 2:jmp: printf("请输入姓名进行查询:\n");q=search(head);if(q!=head){printf("-----------------------------------------------\ n");printf(" 姓名街道城市邮编电话\n");printf("-----------------------------------------------\ n");printf("%s %8s %8s %8s %8s",q->,q->data.street, q->data.city,q->data.eip,q->data.phone);printf("\n-----------------------------------------------\n");printf("查询成功!\n");printf("\n继续查询?(Y/N)\n");scanf("%s",&flag);if(flag=='Y'||flag=='y')goto jmp;}elseprintf("对不起,没有此数据相关的纪录!!!\n\n");break;case 3:printf("请输入姓名删除纪录:\n");delete(head);break;case 4:quit();break;default:printf("\n\n按错键了吧?请输入数字0-6!\n\n\n");} /*用SWITCH函数选择菜单;*/}}(2)如果结果中有多个文件,列出文件名清单,注明每个程序的作用。
C语言程序设计实训报告课程名称 C语言程序设计实训课题名称通讯录管理专业软件工程班级 K软件151学号姓名指导教师2016年 1 月 1 日汽车工业学院科技学院C语言程序设计实训任务书课程名称 C语言程序设计实训课题通讯录管理专业班级软件工程学生学号指导老师审批一、设计容与设计要求1.设计容:设计课题:通讯录管理一、问题描述:该设计实现对通讯录得管理功能,具体包括从键盘输入通讯录的信息、从指定的文件中读入通讯录的信息、按查询通讯录的信息、按分类查询通讯录的信息、删除指定的通讯录的信息、将通讯录信息保存在指定的文件中等。
二、功能要求:1)能从键盘输入通讯录的信息(增加,输入时需要能检查该的通讯录的记录是否已经存在,如果存在,需要询问是否是覆盖还是增加,需要判断输入的类型是否存在)2)能从指定的文件中读入通讯录的信息3)能按查询通讯录的信息4)能按分类查询通讯录的信息5)能删除指定的通讯录的信息6)能将通讯录信息保存在指定的文件中7)所有数据符合实际应用要求2.设计要求:1)设计正确,方案合理。
2)界面友好,使用方便。
3)程序精炼,结构清晰。
4)上机演示。
3.设计报告要求:课程设计报告格式如下:1)正文的格式:一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体,行距为22。
2)正文的容:课题的主要功能、课题的功能模块的划分、主要功能的实现、程序调试、总结、附件(所有程序的源代码,要求对程序写出必要的注释)。
3)课程设计报告装订顺序:封面、任务书、目录、正文、评分、程序清单附件。
二、进度安排汽车工业学院科技学院2015年12月 20 日目录1 系统需求分析 (6)2 概要设计 (6)3 详细设计 (6)4 系统测试 (14)5 课程设计总结 (15)1 系统需求分析本系统首先设计出了主函数,然后根据去要实现的功能分别设计,添加、显示、删除、查找、修改功能的子函数。
在现实的函数设计过程中首先运用文件的读取等必要的知识通过把文件的容读取到存然后打印出来。
C#实验报告——我的通讯录学校:西安工程大学学院:计算机科学学院专业:姓名:学号:一,实验题目:我的通讯录二:实验设计所用语言:C#,平台visualstudio 数据库:SQL sever2005三:实验目的:实现查询我的好友信息,实现增,删,改功能四:实验内容及步骤:(1)创建数据库(2)登录界面:登录成功登录按钮单击代码:private void button1_Click(object sender, EventArgs e){if (textBox1.Text == string.Empty || textBox2.Text == string.Empty) {MessageBox.Show("信息不完整!!", "登录");return;}if (textBox1.Text.Equals("admin") || textBox2.Text.Equals("admin")) {MessageBox.Show("登录成功!!", "登录");this.Hide();new Form2().Show();}else{MessageBox.Show("用户名或密码错误!!", "登录"); }}退出按钮单击代码:private void button2_Click(object sender, EventArgs e){this.Close();}(3)浏览/查找界面:private void Form2_Load(object sender, EventArgs e){string connStr = "Data Source=.;Initial Catalog=通讯录;Persist Security Info=True;User ID=ftf;Password=935285641;";string _sql = "select XM as '姓名',XB as '性别',DH as '电话',DZ as '地址',QQ as 'QQ'from TongXun";SqlConnection conn = new SqlConnection(connStr);SqlDataAdapter sda = new SqlDataAdapter(_sql, conn);DataSet ds = new DataSet();sda.Fill(ds);dataGrid.DataSource = ds.Tables[0].DefaultView;}产生SQL语句代码:private void MakeSqlStr(){sql = "";if (name.Text.Trim() != string.Empty){sql = " and XM like '%" + name.Text.Trim() + "%'";}if (xingbie.Text.Trim() != string.Empty){sql += "and XB like '%" + xingbie.Text.Trim() + "%'";}}查询按钮单击代码:private void button1_Click(object sender, EventArgs e){MakeSqlStr();string connStr = "Data Source=.;Initial Catalog=通讯录;Persist Security Info=True;User ID=ftf;Password=935285641;";string _sql = "select XM as '姓名',XB as '性别',DH as '电话',DZ as '地址',QQ as 'QQ'from TongXun where 1=1"+sql;SqlConnection conn = new SqlConnection(connStr);SqlDataAdapter sda = new SqlDataAdapter(_sql, conn);DataSet ds = new DataSet();sda.Fill(ds);dataGrid.DataSource = ds.Tables[0].DefaultView;}添加删除按钮单击代码:private void button3_Click(object sender, EventArgs e){this.Hide();new Form6().Show();}退出按钮单击代码:private void button3_Click(object sender, EventArgs e){this.Close();// Form1.Close();}(3)浏览界面:界面更改联系人删除联系人添加联系人private void Form3_Load(object sender, EventArgs e){string connStr = "Data Source=.;Initial Catalog=通讯录;Persist Security Info=True;User ID=ftf;Password=935285641;";string _sql = "select XM as '姓名',XB as '性别',DH as '电话',DZ as '地址',QQ as 'QQ'from TongXun";SqlConnection conn = new SqlConnection(connStr);SqlDataAdapter sda = new SqlDataAdapter(_sql, conn);DataSet ds = new DataSet();sda.Fill(ds);dataGridView1.DataSource = ds.Tables[0].DefaultView;}单击GridView1表格代码:private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e){DataGridViewRow dgvRow = dataGridView1.Rows[e.RowIndex];DataGridViewCellCollection dgvCC = dgvRow.Cells;xingming.Text = dgvCC[0].Value.ToString();if (dgvCC[1].Value.ToString().Contains("男")){nan.Checked = true;}else{nv.Checked = true;}dianhua.Text = dgvCC[2].Value.ToString();dizhi.Text = dgvCC[3].Value.ToString();qq.Text = dgvCC[4].Value.ToString();}更新按键单击代码:private void button1_Click(object sender, EventArgs e){string connStr = "Data Source=.;Initial Catalog=通讯录;Persist Security Info=True;User ID=ftf;Password=935285641;";string _sql = "select count(*) from TongXun where XM='" + xingming.Text + "'" ;SqlConnection conn = new SqlConnection(connStr);SqlCommand cmd = new SqlCommand(_sql, conn);try{conn.Open();int cnt = (int)cmd.ExecuteScalar();string sex = nan.Checked ? "男" : "女";if (cnt == 1){cmd = new SqlCommand(_sql, conn);_sql = "update TongXun set XM='" + xingming.Text + "',XB='" + sex + "',DH='" + dianhua.Text + "',DZ='"+ dizhi.Text + "',QQ='"+ qq.Text + "' where XM='" + xingming.Text + "'";}else{_sql = "insert into TongXun values('" + xingming.Text + "','" + sex + "','" + dianhua.Text + "','" + dizhi.Text + "','" + qq.Text + "')";}cmd = new SqlCommand(_sql, conn);cmd.ExecuteNonQuery();Form3_Load(null, null);if (cnt == 1){MessageBox.Show(xingming.Text.Trim()+"更新成功!!", "更新提示");}else{MessageBox.Show(xingming.Text.Trim() + "添加成功!!", "添加提示");}}finally{conn.Close();}}备注:单击可选择可内容,单击‘更新’若姓名相同更改内容,否者增加联系人。
通讯录实验报告c篇一:C语言实验报告通讯录C语言集中上机报告院系:班级:姓名:合作者:指导教师:XX年6月1日通信录目录一概述 ................................................ ................................................... (3)课程设计的目的 ................................................ ................................................... . (3)二总体方案 ................................................ ................................................... . (4)三程序的调试与运行结果说明 ................................................................................................... .. 4四课程设计总结 ................................................ ................................................... .. (6)五后记 ................................................ ................................................... (7)六附录 ................................................ ................................................... (7)参考文献 ................................................ ................................................... .. (11)一概述课程设计的目的实现个人通讯录管理,录入包括姓名、地址、邮政编码、电话号码的信息。
C语言实训报告范文(手机通讯录)根据需求,该系统所应实现的功能有以下一些:各种基本数据的录入。
如:通讯录基本信息录入。
显示全部记录功能。
可以查看通讯录中的全部记录。
模糊查找功能。
例如输入“张”,则分条显示全部姓“张”的信息,直到用户确认显示信息为用户所要找的信息,或者提示:通讯录中没有该信息。
模糊删除功能:与模糊查找类似,可以只知道信息的某部分,进而查找所要删除的信息,并由用户确认是否删除。
模糊修改功能:与其他模糊功能类似,可以只知道信息的某部分,进而查找所要修改的信息,并由用户确认是否修改图1.1通讯录功能需求2、系统设计2.1总体设计采用模块化的程序设计方法,即将较大的任务按照一定的原则分为一个个较小的任务,然后分别设计各个小任务。
需要注意的是划分出来的模块应该相对独立但又相关,且容易理解。
可以用模块化层次结构图(即模块图)来分析其任务的划分,一般从上到下进行,最上面一层是主模块,下面各层是其上一层模块的逐步细化描述。
若选择1,则调用voidadd()函数,执行增加记录操作;若选择2,则调用voidmodify()函数,执行修改记录操作;若选择3,则调用tel某earch()函数,执行查询记录操作;若选择4,则调用voiddel()函数,执行删除记录操作;若选择5,则调用voidhow()函数,执行显示全部记录操作;若选择6,则调用tel某dimearch()函数,执行模糊查找操作;若选择0,则调用voidave()、voidfre(),函数,执行保存记录,并释放链表空间操作;若输入为0~6之外的值,给出选择错误的提示。
2.2.3添加记录模块程序一开始就从默认文件调用fanf()函数读入记录(若文件存在且有记录)到结构体中。
在添加每条信息时均在提示框显示有相关提示,当用户选择0退出添加记录时,系统会清屏并返回到主菜单供用户再次选择其他操作。
2.2.4查询记录模块此模块包括精确查询和模糊查询两大功能。
C语言课程设计通讯录实验报告Revised as of 23 November 2020太原学院计算机工程系课程设计报告课程名称:数据结构课程设计姓名:苏建花学号专业班级:计算机工程系网络三班指导教师:翟婷婷2015年12 月30日计算机工程系课程设计报告课程名称:C语言课程设计课程设计题目:通讯录管理系统班级:网络14-3班姓名:苏建花学号:目录(参考)1.设计目的与要求 (X)1.1题目与设计要求 (X)1.2本程序涉及的知识点 (X)2.功能设计 (X)总体设计 (X)详细设计 (X)3.程序实现 (X)程序实现时应考虑的问题 (X)XX模块核心代码 (X)4.测试分析 (X)测试结果及分析 (X)4.总结 (X)参考文献 (X)1、设计目的与要求这次课程设计的目的在于:1.熟练的掌握C语言课程中所学的理论知识,并对其进行应用;2.通过综合C语言的基本知识来解决实际问题;3.加强分析和解决问题的能力;4.提高实践动手能力,将知识化为实际成果题目与设计要求(1)题目:通讯录(2)设计要求a、建立通讯录信息,信息至少包含姓、名、电话号码、住址、分类(如同事、朋友、同学、家人等)等。
b、该系统提供添加、删除、修改和查找功能,其中按姓名方式删除、修改,按姓名、姓氏方式查找。
c、将通讯录保存在文件中。
d、能够输出通讯录中的信息。
本程序设计的知识点(1)采用结构体数组。
struct Person{char a[16];char s[16];char d[16];char f[24];struct Person *next;}stu;(2)运用函数之间的调用主函数可以调用子函数,子函数之间可以相互调用,子函数不能调用主函数,主函数可以多次调用一个子函数,也可以一次调用多个子函数。
(3)利用指针变量struct Person *head;struct Person *p1,*p22 、功能设计添加:添加通讯录记录修改:修改通讯录记录删除:删除通讯录记录查找:查询通讯录记录显示:显示通讯录记录统计:统计通讯录数目需求分析信息记录要存放到文件中去,因而要实现文件的输入输出操作;要实现数据的插入、删除、修改和显示功能,因而要实现插入、删除、修改和显示操作;要实现按人名或姓氏进行查询的功能,因而要提供查找操作;另外还应该提供键盘式选择菜单以实现功能选择。
《C语言课程设计》目录摘要 (3)一、课程设计目的 (4)二、课程设计内容 (4)三、总体设计 (5)四、详细设计 (6)(1)数据结构设计 (6)(2)模块接口设计 (7)(3)流程图 (7)五、调试与测试 (10)(1)调试过程中的主要问题 (10)(2)测试结果的分析与讨论 (10)六. 实习总结 (12)注: 13摘要日益繁多的人际交往使得我们很难搞清楚与每个人之间的联系方式, 特别是对于做经常出差的人来说更是难, 所以通讯录能够便捷的给我们带来所需要的相关信息。
而随着计算机的普及, 人们的生活摆脱了传统式的记事本、电话簿, 越来越多的靠计算机来帮助人们记住这些事情, 极其简便。
这就需要有一个使用的通讯录管理系统, 用户可以方便的通过自己电脑的通讯录管理系统, 来随时查阅自己所需要的信息, 而不必再大费周折去翻开那繁琐的记事本。
通讯录管理系统是一个专门针对储存用户联系方式以及一些简单个人信息的实用管理系统, 它方便了用户对众多客户、朋友、同事等个人信息的储存和快速查阅的功能, 大大减少了查找过程的时间。
一、课程设计目的1、通过课程设计, 加深对结构化设计思想的理解, 能对系统功能进行分析, 并设计合理的模块化结构。
2、通过课程设计, 学会设计数据结构。
其中包括对结构数组、链表和数据结构等知识的运用。
3、通过课程设计, 提高程序开发功能, 能运用合理的控制流程编写清晰高效的程序。
4、通过课程设计, 训练C程序调试能力, 能将一个中小型各级组织系统联调通过。
通过课程设计, 开发一个中小型系统, 掌握系统研发全过程。
通话课程设计, 培养分析问题、解决实际问题的能力。
二、课程设计内容(1)设计一个实用的通讯录管理系统, 能以简便高效的方式对通讯录进行管理和检索, 具体要示:(2)录入:通讯录信息包括:编号, 姓名, 单位, 电话, 地址, QQ, 邮编。
以结构通讯录信息。
(3)更新: 能插入、删除通讯录信息。
《程序设计与算法综合实习I》通讯录题目:班级:学生学号:学生姓名:指导老师:提交时间:成绩:软件学院课程设计报告评分表1、对问题的描述:通讯录1.1、简要描述:设计一个通讯录程序,并简单实现通讯人的添加、删除、修改、查找、统计、存入文件等功能1.2、系统功能分析:添加功能修改功能删除功能查找功能统计功能存入文件功能1.3、开发平台及工具介绍:基于c语言设计该程序,是用codeblocks实现功能。
2、系统设计1.1系统总体结构设计:系统各个功能的总体关系3、功能实现struct Contact//结构体{char Name[20];char Tel[15];char Address[100];char Mail[50];char Birth[10];char Type[15];struct Contact *next;通讯录数据读取修改删除创建联系人查找统计};struct classfy{//统计模块使用结构体char leixing[20];int Numcount;};3.1、主函数开始显示一系列功能选项否输入n,判断n是否是0~6?否根据n的值调用各功能模块函数判断flag是否等于0?是结束具体设计如下:int main(){ //主函数struct Contact *pHead;int n;int flag=1;pHead=(struct Contact*)malloc(sizeof(struct Contact));pHead=create();while(flag==1){menu();printf("请输入要执行的操作:");scanf("%d",&n);switch(n){case 1:insert(pHead);break;case 2:Change(pHead);break;case 3:delete(pHead);break;case 4:Search(pHead);break;case 5:tongji(pHead);break;case 6:shuchu(pHead);break;case 0:flag=0;exit(0);break;default:printf("输入错误,重新输入");scanf("%d",&n);break;}}}3.2、界面设计void menu(){system("cls");printf("\n\n\n\n");printf("\t\tR-----------------通讯录----------------2\n");printf("\t\tR\t\t\t\t\t2\n");printf("\t\tR\t\t\t\t\t2\n");printf("\t\tR\t \t1.增加联系人\t \t2\n");printf("\t\tR\t \t2.修改联系人\t \t2\n");printf("\t\tR\t \t3.删除联系人\t \t2\n");printf("\t\tR\t \t4.查找联系人\t \t2\n");printf("\t\tR\t \t5.统计联系人\t \t2\n");printf("\t\tR\t \t6.列出全部联系人\t2\n");printf("\t\tR\t \t0.退出\t\t\t2\n");printf("\t\tR\t\t\t\t\t2\n");printf("\t\tR\t\t\t\t\t2\n");printf("\t\tR--------Designd By Zheng Weipeng-------2\n"); }3.3、创建函数具体设计如下:struct Contact *create(){ //创建链表 struct Contact *pHead=NULL,*p,*p1; FILE *fp; int n=0;if((fp=fopen("TXL.txt","r"))==NULL){printf("文件创建失败,回车键返回."); getch(); } else{p=p1=(struct Contact*)malloc(sizeof(struct Contact)); fscanf(fp,"%s",p ->Name); fscanf(fp,"%s",p ->Tel);fscanf(fp,"%s",p ->Address); fscanf(fp,"%s",p ->Mail);读取文件内容Fp==NULL ?文件内容赋给链表结束开始否feof (fp )?是否fscanf(fp,"%s",p->Birth);fscanf(fp,"%s",p->Type);while(!feof(fp)){n++;if(n==1) pHead=p;elsep1->next=p;p1=p;p=(struct Contact*)malloc(sizeof(struct Contact));fscanf(fp,"%s",p->Name);fscanf(fp,"%s",p->Tel);fscanf(fp,"%s",p->Address);fscanf(fp,"%s",p->Mail);fscanf(fp,"%s",p->Birth);fscanf(fp,"%s",p->Type);}p1->next=NULL;fclose(fp);return pHead;}}3.4、插入函数struct Contact *insert(struct Contact *pHead){ //插入函数FILE *fp;struct Contact *p,*p1;if((fp=fopen("TXL.txt","a+"))==NULL){printf("文件打开失败");}p=p1=(struct Contact*)malloc(sizeof(struct Contact));p=pHead;while((p->next)!=NULL){p=p->next;}printf("请输入姓名: ");scanf("%s",p1->Name);fprintf(fp,"%s\n",p1->Name);printf("请输入电话: ");scanf("%s",p1->Tel);fprintf(fp,"%s\n",p1->Tel);printf("请输入地址: ");scanf("%s",p1->Address);fprintf(fp,"%s\n",p1->Address);printf("请输入邮箱: ");scanf("%s",p1->Mail);fprintf(fp,"%s\n",p1->Mail);printf("请输入生日: ");scanf("%s",p1->Birth);fprintf(fp,"%s\n",p1->Birth);printf("请输入类型(同学、家人、老师、工作): ");scanf("%s",p1->Type);fprintf(fp,"%s\n\n",p1->Type);p->next=p1;p1->next=NULL;fclose(fp);printf("数据保存成功,任意键返回主菜单.\n");getch();return(pHead);}3.5、修改函数(实现对联系人单项修改)struct Contact Change(struct Contact *pHead){ //修改函数FILE *fp;struct Contact *p1;char flag=0,saveflag=0;int i=0;int n;char a[10],b[20];fp=(fopen("TXL.txt","w"));p1=pHead;printf("\n修改联系人姓名:");scanf("%s",a);while(p1!=NULL){if(strcmp(p1->Name,a)==0){printf("\n找到要修改联系人:\n");printf("姓名:%s\n",p1->Name);printf("电话:%s\n",p1->Tel);printf("地址:%s\n",p1->Address);printf("邮箱:%s\n",p1->Mail);printf("生日:%s\n",p1->Birth);printf("类型:%s\n\n",p1->Type);flag=1;break;}else{p1=p1->next;}}if(flag==0){fclose(fp);printf("没有该条通讯录,回车键返回");getch();}if(flag==1&&p1!=NULL){printf("修改类型:1.姓名2.电话3.地址4.邮箱5.生日6.类型\n");printf("输入数字选择修改类型: ");scanf("%d",&n);printf("输入修改内容: ");scanf("%s",b);switch(n){case 1:p1->Name[0]='\0';strcpy(p1->Name,b);break;case 2:p1->Tel[0]='\0';strcpy(p1->Tel,b);break;case 3:p1->Address[0]='\0';strcpy(p1->Address,b);break;case 4:p1->Mail[0]='\0';strcpy(p1->Mail,b);break;case 5:p1->Birth[0]='\0';strcpy(p1->Birth,b);break;case 6:p1->Type[0]='\0';strcpy(p1->Type,b);break;}}p1=pHead;while(p1!=NULL){fprintf(fp,"%s\n",p1->Name);fprintf(fp,"%s\n",p1->Tel);fprintf(fp,"%s\n",p1->Address);fprintf(fp,"%s\n",p1->Mail);fprintf(fp,"%s\n",p1->Birth);fprintf(fp,"%s\n",p1->Type);p1=p1->next;saveflag=1;}if(flag==1&&saveflag==1){printf("修改成功,任意键返回主菜单");getch();}fclose(fp);return (*pHead);}}3.6、删除函数struct Contact delete(struct Contact *pHead){ //删除函数FILE *fp;struct Contact *p,*p1;int saveflag=0,flag=1;char a[10];fp=fopen("TXL.txt","w");p=pHead;p1=p;printf("请输入要删除联系人的姓名:");scanf("%s",a);while(p!=NULL){if(strcmp(p->Name,a)==0){printf("找到该联系人。
C语言集中上机报告通信录院系:班级:姓名:合作者:指导教师:2015年6月1日目录一概述 (3)课程设计的目的 (3)二总体方案 (4)三程序的调试与运行结果说明 (4)四课程设计总结 (6)五后记 (7)六附录 (7)参考文献 (11)一概述课程设计的目的实现个人通讯录管理, 录入包括姓名、地址、邮政编码、电话号码的信息。
其中:1.对n名学生包括姓名、地址、邮政编码、电话号码等信息进行输入;2、显示所有记录的信息, 若无记录, 则给出提示信息;3.可以按姓名进行查询;4.可以按姓名进行删除;6.退出程序1.课程设计的要求教师要求:1、为通信录数据定义类型和定义通信录变量, 实现功能: 存取、显示、删除记录、查询记录等功能。
2.要求:界面友好, 易于操作。
(本题目限最多一个人完成)需要的基本知识和技能:1.利用C语言进行程序设计的能力;2.理解和运用结构化程序设计的思想和方法;3.初步掌握开发一个小型实用系统的基本方法;4.学会调试一个较长程序的基本方法;5.学会利用流程图或N-S图表示算法;6.掌握书写程序设计开发文档的能力。
2.课程设计的主要设计思想整个程序的设计是通过对每一个功能的设计, 然后, 再对每一个功能的程序进行模块化, 从而形成一个完整的管理系统。
自顶向下、逐步细化、逐步求精。
在对于给定问题进行透彻的了解和详细的分析的基础上, 把问题分解成若干个按顺序执行的逻辑部分(称为“模块”)。
每个子任务如果仍很复杂, 还可以再分解为若干个子任务。
对于每个模块的设计都采用这种“自顶向下、逐步细化”的方法, 将它们分解成为基本结构为止, 就如同写文章先拟出题目和中心内容, 再确定分为几大部分, 每一大部分又分哪几节, 每一节分为几段, 每一段包括哪几个意思, 这就是“自顶向下, 逐步细化”的方法。
二总体方案整体设计思路: 程序主要运用到了文本文件的打开和读取, 文件中存取信息的格式为结构体数组, 一个主函数下面分为个子函数。
c通讯录管理系统实验报告C通讯录管理系统实验报告一、引言现代社会的快速发展,人们的生活节奏越来越快,人际交往也变得越来越频繁。
在这样的背景下,通讯录管理系统成为了人们生活中必不可少的工具。
本次实验旨在设计和实现一个简单而实用的C通讯录管理系统,以便更好地满足人们的通讯录管理需求。
二、系统功能设计1. 用户管理功能通讯录管理系统需要提供用户注册和登录功能,以保证用户的信息安全和数据隐私。
2. 联系人管理功能用户可以添加、修改、删除和查询联系人信息。
系统应该提供用户友好的界面,方便用户进行操作。
3. 分组管理功能为了更好地管理联系人,系统需要提供分组管理功能。
用户可以创建、修改和删除分组,将联系人进行分类管理。
4. 通讯录导入导出功能用户可以将通讯录数据导出为文件,以备份或者在其他设备上使用。
同时,用户也可以从文件中导入通讯录数据,方便快速恢复或者在不同设备间同步数据。
三、系统实现本次实验采用C语言编写通讯录管理系统。
系统使用了链表数据结构来存储联系人信息,以实现高效的增删改查操作。
1. 用户管理功能的实现系统使用文件存储用户信息,包括用户名和密码。
用户注册时,系统将用户名和密码写入文件中。
用户登录时,系统读取文件中的信息进行验证。
2. 联系人管理功能的实现系统使用链表来存储联系人信息。
每个节点包含姓名、电话号码、邮箱等信息。
用户可以通过添加、修改、删除和查询功能来对联系人进行管理。
3. 分组管理功能的实现系统使用链表来存储分组信息。
每个节点包含分组名称和包含的联系人列表。
用户可以通过创建、修改和删除分组来实现对联系人的分类管理。
4. 通讯录导入导出功能的实现系统提供了将通讯录数据导出为文件的功能。
用户可以选择导出的文件格式,如文本文件或者Excel文件。
同时,系统也支持从文件中导入通讯录数据,以便快速恢复或者在不同设备间同步数据。
四、系统测试与评估在系统开发完成后,我们进行了一系列的测试和评估,以验证系统的功能和性能。
C语言课程设计报告书实验题目通讯录管理系统一、实验目的通过进行计算机实践,更加系统地理解和掌握C语言的基本概念、语言特点和编程技巧。
利用系统提供的标准函数和自定义函数进行程序设计,培养利用C语言设计综合程序的能力。
二、实验内容在熟练掌握C语言的基本知识:数据类型(整形、实型、字符型、指针、数组、结构等);运算类型(算术运算、逻辑运算、自增自减运算、赋值运算等);程序结构(顺序结构、判断选择结构、循环结构);大程序的功能分解方法(即函数的使用)等。
进一步掌握各种函数的应用。
三、需求分析本学通讯录管理系统包含输入信息,显示信息,查询信息, 修改信息,追加信息,删除信息,修改密码,七大功能.其中查询模块又分为按姓名查找,按号码查找.输入信息(Input)显示信息(Output)查询信息(Look)修改信息(Change)追加信息(Add)删除信息(Delete)修改密码(Key)四.概要设计1.系统分析功能模块图:总目录以及下属的各个模块,这样可以使得程序的书写脉络清晰流畅。
程序结构图2、模块功能说明输入信息模块: 调用input()录入用户的通讯信息。
输出信息模块: 调用output()建立循环,输出全部通讯录信息。
查询信息模块:调用look()函数按照姓名、号码等通讯信息进行查找追加信息模块:调用Add()追加通讯录信息修改信息模块:调用change()函数按照姓名、号码、地址等通讯信息进行选择性的修改删除信息模块: 调用delete()函数删除一条通讯录信息修改密码模块:调用save_key()函数核对两次输入的新密码若相同保存新密码于key.txt。
保存模块:调用 save()函数对最终所保留的信息进行保存,保存于friend.txt。
五.详细设计及运行结果主程序流程图查询模块流程图信息查询功能选择选择1 选择2 选择3 选择4 按姓名查询按电话号码查询按手机号码查询返回主界面否否否否否是是是是结束密码修改模块流程图密码修改是否修改输入a输入b是否一致密码为a结束六、调试情况,设计技巧及体会个人总结经两周的程序设计就要走向尾声了,这两周的实践让我获益匪浅,不但复习了以前学习过的知识,还学会了很多新东西新内容,最重要的是提升了自己从历小做起,把握全局的能力。