通讯录管理系统c源代码

课程设计报告学院、系:吉林大学珠海学院计算机科学与技术系专业名称:计算机科学与技术课程设计科目VC++程序课程设计学生姓名:何芷盈指导教师:关键完成时间:2011年10月-18月题目通讯录管理系统一、设计任务与目标通讯录管理系统编写一个简单的通讯录管理程序。通讯录记录有姓名,地址(省、市(县)、街道),电话号码,邮政编码等四项。基本要求程序应提供的基本基本管理功能有:1)添加:即增加一个人的记录到通信录中2)显示:即在屏幕上显示所有通信录中的人员信息,应能分屏显示。3)存储:即将通讯录信息保存在一个文件中。4)装入:即将文件中的信息读入程序。5)查询:可根据姓名查找某人的相关信息,若找到显示其姓名、地址、电话号码和邮政编码。6)修改:可修改一个人的除姓名外其它信息。测试数据程序应输入不少于10个人员的通讯录信息,应考虑到人员可以同名的情况。二、方案设计与论证1、为存储通讯录信息,需定义一个结构体类型,成员包括编号、姓名、年龄、电话、通讯地址、电子邮箱等,并建立链表,定义该结构体类型的指针,用于指向各结点;2、分别建立具有添加、删除、修改、查询等功能的子函数,完成相应功能,对程序实现模块化。这其中要用到对链表的删除、插入等知识。删除时用一结构体指针指向链表的第一个结点,检查该节点的值是否等于输入的要删除的学号,若相等就删除,不相等则后移指针,直至表尾。插入时也要先找到相应结点,再添加。查询功能要设置姓名、编号、地址等多种方式。3、为实现存储功能,需用到文件的相关函数,打开文件,将添加、修改或删除的信息存入磁盘中。4、为以表格的形式输出文件,宏定义格式化输出语句,用横线和竖线构成表格。三、程序框图或流程图,程序清单与调用关系系统总体设计框架:对程序进行模块化,建立添加、修改、删除、查找和显示功能的子函数,各子函数中运用链表存储数据。从主函数开始执行,调用各个子函数,并运用文件相关知识将信息存入磁盘中。系统功能模块图:四、全部源程序清单#include<iostream>#include<string>#include<fstream>#include<iomanip>usingnamespacestd;structStudent{stringnum;//学号stringname;//姓名intage;chartel;charaddr;charemal;Student*next;};longiCount=0;Student*head=NULL;Student*pEnd=NULL;voidLoadRecords(char*path)//从文本里面读取记录{创建通讯录通讯录管理通讯录查询添加信息修改记录删除记录显示记录按姓名查询按编号查询按地址查询将信息存入文件fstreaminfile(path,ios::in);if(!infile){}else{infile>>iCount;intt=iCount;if(iCount!=0){for(;iCount>0;iCount--){Student*p=newStudent;infile>>p->num>>p->name>>p->Maths;if(head==NULL){head=p;pEnd=p;pEnd->next=NULL;}else{pEnd->next=p;pEnd=pEnd->next;pEnd->next=NULL;}}}iCount=t;}infile.close();}voidPrint(Student*h)//打印记录{if(h==NULL){cout<<"\n****************************************\n\n";cout<<"没有学生记录!\n";cout<<"\n****************************************\n";return;}cout<<"\n********************************************************************************\n\n";cout<<"所有的学生:\n\n";cout<<"------------------------------------------\n";cout<<"|"<<setw(10)<<"学号"<<"|"<<setw(10)<<"姓名"<<"|"<<setw(10)<<"年龄"<<"|"<<setw(10)<<"电话""|"<<<<setw(10)<<"地址"<<"|"<<setw(10)<<"邮箱"<<"|\n";while(h){cout<<"------------------------------------------\n";cout<<"|"<<setw(10)<<h->num<<"|"<<setw(10)<<h->name<<"|"<<setw(10)<<h->age<<"|"<<setw(10)<<h->tel<<"|"<<setw(10)<<h->addr<<"|"<<setw(10)<<h->emal<<"|\n";h=h->next;}cout<<"------------------------------------------\n";cout<<"\n********************************************************************************\n\n";}voidPrint_All(Student*h)//输出全部{if(h==NULL){cout<<"\n****************************************\n";cout<<"没有学生记录!\n";cout<<"\n***********...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供参考,付费前请自行鉴别。
3、如文档内容存在侵犯商业秘密、侵犯著作权等,请点击“举报”。

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

客服邮箱:

biganzikefu@outlook.com

所有的文档都被视为“模板”,用于写作参考,下载前须认真查看,确认无误后再购买;

文档大部份都是可以预览的,笔杆子文库无法对文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;

文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为依据;

如果您还有什么不清楚的或需要我们协助,可以联系客服邮箱:

biganzikefu@outlook.com

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

笔杆子文秘
机构认证
内容提供者

为您提供优质文档,供您参考!

确认删除?