高级语言程序设计通讯录系统

发布 2021-04-24 17:43:28 阅读 5118

《高级语言程序设计》课程设计。说明书。

目录。1 课程设计综述 3

1.1 课程设计的题目 3

1.2 课程设计的目的 3

1.3 题目要求 3

2 概要设计 4

3 详细设计 5

3.1 流程图 5

4 功能调试 6

4.1 主界面 6

4.2添加功能 8

4.3修改功能 9

4.4删除功能: 10

4.5查询功能: 11

4.6显示功能: 12

5 课程设计总结 13

6参考书目: 13

7源程序: 14

手机通讯录管理系统。

通过实际动手操作,解决实际问题,使学生能够发现问题,解决问题,拓展思路,开阔视野,真正做到学以至用。

1、需求分析:信息记录要存放到文件中去,因而要实现文件的输入输出操作;要实现数据的插入、删除、修改和显示功能,因而要实现插入、删除、修改和显示操作;要实现按人名或**号码进行查询的功能,因而要提供查找操作;另外还应该提供键盘式选择菜单以实现功能选择。

2、总体设计:整个系统可以设计为数据插入模块、数据修改模块、数据删除模块、数据显示模块和数据查询模块。

3、详细设计:

第一个模块——主函数main()的功能是:根据选单的选项调用各函数,并完成相应的功能。

第二个模块——menu()的功能是:显示英文提示选单。

第三个模块——quit()的功能是:退出选单。

第四个模块——create()的功能是:创建新的通讯录。

第五个模块——add()的功能是:在通讯录的末尾,写入新的信息,并返回选单。

第六个模块——find()的功能是:查询某人的信息,如果找到了,则显示该人的信息,如果未找到,则提示通讯录中没有此人的信息,并返回选单。

第七个模块——alter()的功能是:修改某人的信息,如果未找到要修改的人,则提示通讯录中没有此人的信息,并返回选单。

第八个模块——delete()的功能是:删除某人的信息,如果未找到要删除的人,则提示通讯录中没有此人的信息,并返回选单。

第九个模块——list()的功能是:显示通讯录中的所有记录。

本程序共使用了#include ""#include ""#include ""#include "等头文件,并将每一个功能分环节作出。同时在出现功能选择的地方,为防止出现意外的死循环,我们功能选择参数一律使用string类型。在保存提取数据方面,我们严格按照有变动即存储,存储完立即提取到内存的规则,有效遏止了数据意外丢失或调用不及时等情况的发生。

本程序共使用了7个子函数分别来实现不同功能程序中最关键的通讯录成员采用结构体定义,丰富了成员所包含的信息。在主界执行方面,采用独立的子函数执行。在该函数中分别调用不同功能的函数,执行完相应的功能后可选择继或返回主菜单。

主菜单在运行时会先调用一个子函数将通讯录中的信息展示给用户,然后用户可对照信息进行响应的功能选择,不同功能调用不同函数。各函数在执行功能时会进行相应的嵌套,以弥补各自的不足。各功能采用不同函数来执行,方便调试和修改。

各函数相互调用,最后整合在一起便构成了该系统程序。

本程序共有五个通讯录的基本功能,在菜单主页很容易操作,由于程序简洁,运行速度也很快。

而且,主界面也加了颜色,是程序运行时更美化了。

3详细设计 --流程图。

4.1 主界面。

根据主界面首页信息输入自己的通讯信息…..

如 01 张三

选择y继续添加,或选择n返回菜单处。

选择y继续输入……

输入信息完后,选择n返回菜单。

根据自己的需要可作出相应的操作……

4.2 添加功能。

选择“1”,即可添加新的通讯信息。

如添加 05刘二。

添加后按enter键即可保存信息,然后按任意键返回菜单。

4.3 修改功能。

在菜单栏中选“2”即可对通讯信息作相应修改。

先选择要修改人序号如 02

再正确的输入修改后的信息。

按y即选择确认并保存信息,按任意键返回菜单。

4.4 删除功能。

在菜单栏选择“3”,即表示要删除信息。

再选择你要删除人的序号如删除 03

按y确认删除所选文件删除成功。

任意键返回菜单。

4.5 查询功能。

按“4”即选择要查询通讯表储存信息。

输入你想要查询者的序号

如 04如需其他操作,任意键返回菜单。

4.6 显示功能。

在菜单栏选“5”,即表示显示通讯录里全部储存信息。

任意键返回菜单选“0”退出系统。

通过这次课程设计,我又收获到很多,平时的在做作业时,因为题形与结构都是很简单的,并且每一章的内容都是有相应的例题可以参考,所以在做题时没有遇到过很麻烦的问题,而这次不同了,一个课题拿到手时,给我的感觉是无从下手,而且要求很多,使得题目要求更大了。

经过整整两天的思考,我最终将整个程序分块完成。将整个大的程序的实现分多个功能,每个功能都通过一个相应的函数来实现。各功能即相互独立,又互相联系,相互嵌套。

使独立简单的功能变的复杂,增加了程序的实用性。

从思考到调试,我完全自己进行,并为此付出了许多。从这次课程设计中,我体会到了以下几点:

1. 无论遇到多大的难题,都要冷静,不能总想着去参考。多思考多劳动,就没有不能解决的难题。

2. 要有团队意识,程序模块如此,人更不能例外。

3. 大胆的去做看起来似乎不可能但却有意义的事。无论结果如何,做了总会有收获。

4. 当事情到了最糟糕的时刻,恰恰是最关键的时刻。

1].谭浩强,《c++程序设计》,清华大学出版社,2023年。

[2].e balagurusamy,《c程序设计》,清华大学出版社,2023年。

3] 刘景,周玉龙《高级语言c++程序设计》,高等教育出版社,2023年。

7 源程序。

#include ""

#include ""

#include ""

#include ""

#define pt "序号:%s 姓名:%s 性别:

%s 手机号:%s qq:%s 生日:

%s",p->num,p->name,p->sex,p->phone,p->qq,p->birthday

#define n sizeof(struct stud)

struct stud

char num[10];

char name[15];

char sex[15];

char phone[15];

char ];

char birthday[15];

struct stud *next;

struct stud *creat(void)

struct stud *p1,*p2,*head;

int i=1;

char choice;

head=p2=(struct stud *)malloc(n);

printfn");

printf欢迎使用通讯录管理系统n");

printfn");

printf(" n");

printf(" n");

printf("▲输入信息时请以空格间隔输入,一组通讯信息输入完后请按回车键结束▲");

printf("※请输入序号姓名性别手机号 qq 生日※");

head->next=null;

choice='y';

for(i=1;choice=='y'||choice=='y';i++)

p2->next=null;

return head;

void insert (struct stud *head)

struct stud *p;

p=(struct stud *)malloc(n);

printf("请输入要插入的序号姓名性别手机号 qq 生日");

scanf("%s %s %s %s %s %s",p->num,p->name,p->sex,p->phone,p->qq,p->birthday);

if(head->next!=null)

printf("通讯信息插入成功!按任意键继续!")

getche();

void modify(struct stud *h)

char number[10];

struct stud *p;

char choice;

printf("请输入要修改的通讯信息的序号:")

scanf("%s",number);

for(p=h;strcmp(p->num,number)!=0;p=p->next) ;

while(1)

printf("请输入修改后通讯信息:");

printf("请输入要插入的序号姓名性别手机号 qq 生日");

c语言通讯录设计报告

c语言课程设计报告。设计题目 写自己任务书上的题目。专业。班级。学生。指导教师。设计时间。1.1功能模块设计。1 系统功能模块图 添加 可以添加通讯录记录,依次输入编号 姓名 年龄 号码 通讯地址 电子邮箱后,会提示是否继续添加。显示 可以以 形式输出所有通讯录里的记录。删除 输入欲删除的那个人的名...

个人通讯录管理系统C语言课程设计报告

重庆科技学院。c语言程序设计 课程设计报告。学院 电气与信息工程学院 专业班级 电自专2011 01 学生姓名 蒋洪山学号 2011630194 设计地点 单位i515 设计题目个人通讯录管理系统。完成日期 2012 年12月28日 指导教师评语。成绩 五级记分制。指导教师 签字。摘要。本次课程设计...

高级语言程序设计

总分 100.00,做题时间 90分钟 一 单项选择题 总题数 15,分数 30.00 语言早期规定建立文件缓冲区采用的形式是 分数 2.00 a.缓冲文件系统。b.非缓冲文件系统。c.分页文件系统。解析 2.以下是对二维数组的正确说明的是 分数 2.00 a 3,4 a 1 4 a 3 4 解析 ...