通讯录管理系统c++源代码

更新时间:2023-09-25 04:57:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

课 程 设 计 报 告

学院、系: 专业名称: 课程设计科目 学生姓名: 指导教师: 完成时间:

计算机科学与技术系 计算机科学与技术 VC++程序课程设计

关键

2011年10月-18月

题目 通讯录管理系统

一、设计任务与目标 通讯录管理系统

编写一个简单的通讯录管理程序。通讯录记录有姓名,地址(省、市(县)、街道),电话号码,邮政编码等四项。

基本要求

程序应提供的基本基本管理功能有: 1) 添加:即增加一个人的记录到通信录中

2) 显示:即在屏幕上显示所有通信录中的人员信息,应能分屏显示。 3) 存储:即将通讯录信息保存在一个文件中。 4) 装入:即将文件中的信息读入程序。

5) 查询:可根据姓名查找某人的相关信息,若找到显示其姓名、地址、电话号码和邮政编码。

6) 修改:可修改一个人的除姓名外其它信息。 测试数据

程序应输入不少于10个人员的通讯录信息,应考虑到人员可以同名的情况。

二、方案设计与论证

1、为存储通讯录信息,需定义一个结构体类型,成员包括编号、姓名、年龄、电话、通讯地址、电子邮箱等,并建立链表,定义该结构体类型的指针,用于指向各结点;

2、分别建立具有添加、删除、修改、查询等功能的子函数,完成相应功能,对程序实现模块化。这其中要用到对链表的删除、插入等知识。删除时用一结构体指针指向链表的第一个结点,检查该节点的值是否等于输入的要删除的学号,若相等就删除,不相等则后移指针,直至表尾。插入时也要先找到相应结点,再添加。查询功能要设置姓名、编号、地址等多种方式。

3、为实现存储功能,需用到文件的相关函数,打开文件,将添加、修改或删除的信息存入磁盘中。

4、为以表格的形式输出文件,宏定义格式化输出语句,用横线和竖线构成表格。

三、程序框图或流程图,程序清单与调用关系

系统总体设计框架:

对程序进行模块化,建立添加、修改、删除、查找和显示功能的子函数,各子函数中运用链表存储数据。从主函数开始执行,调用各个子函数,并运用文件相关知识将信息存入磁盘中。 系统功能模块图:

创建通讯录 通讯录管理 通讯录查询 添加信息修改记录删除记录显示记录 按姓名查询按编号查询按地址查询 将信息存入文件

四、全部源程序清单

#include #include #include #include using namespace std; struct Student {

string num;//学号

string name;//姓名 int age;

char tel; char addr; char emal; Student *next; } ;

long iCount=0;

Student *head=NULL; Student *pEnd=NULL;

void LoadRecords(char *path)//从文本里面读取记录 {

fstream infile(path,ios::in); if(!infile){} else {

infile>>iCount; int t=iCount; if(iCount!=0) {

for(;iCount>0;iCount--) {

Student *p=new Student;

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(); }

void Print(Student *h)//打印记录 {

if(h==NULL) {

cout<<\ cout<<\没有学生记录!\\n\

cout<<\ return; }

cout<<\********************\\n\\n\cout<<\所有的学生:\\n\\n\

cout<<\cout<<\学号\ <<\姓名\

<<\年龄\电话\<< setw(10)<<\地址\邮箱\ | \\n\while(h) {

cout<<\ cout<<\

<<\

<<\ |\\n\ h=h->next; }

cout<<\

cout<<\********************\\n\\n\ }

void Print_All(Student *h)//输出全部 {

if(h==NULL){cout<<\<<\没有学生记录!\\n\cout<<\********************\\n\cout<<\所有学生:\\n\\n\

cout<<\cout<<\学号\ <<\姓名\

<<\年龄\电话\

本文来源:https://www.bwwdw.com/article/y2kd.html

Top