C 课程设计报告

发布 2022-10-04 10:29:28 阅读 2213

c++程序设计课程设计报告。

—通讯录管理系统。

班级:学号:

一课程设计题目与要求。

1.1题目。

通讯录管理系统。

1.2系统功能要求:

二需求分析。

2.1问题描述。

根据需求,该系统所应包含的信息有以下一些:

通讯录的基本信息:

姓名、地址、**。

根据需求,该系统所应实现的功能有以下一些:

各种基本数据的录入。如:通讯录基本信息录入。

各种基本数据的修改。即:允许对已经录入的数据重新进行编辑、修改。例如修改通讯录中张三的**信息。

各种基本数据的删除。例如将张三的信息从通讯录中删除。

基于各种数据的查询。例如输入张三姓名,查询张三的**和地址。

数据导出:将通讯录中信息导出到指定文件。

数据导入:从指定文件导入通讯录信息到。

2.2系统环境。

采用c++语言实现,开发环境为vc++6.0,可以运行在操作系统windows98及以上皆可。

2.3运行要求。

能不受限制的录入通讯录信息。

界面友好,操作方便,例如删除前需要提示用户是否删除。

三概要设计。

3.1系统流程设计。

根据系统要求,设计如下的系统流程。

3.2系统模块设计。

根据系统的功能设计,如下模块。

1.主界面模块:完成系统菜单的显示。

2.功能选择模块:根据用户的选择,完成其相应的功能。

1)通讯录信息录入:完成用户从界面输入通讯录,保存入系统的功能。

2)通讯录信息修改:完成用户从界面输入通讯录,在系统中查询定位,并将录入的数据保存入系统的功能。

3)通讯录信息查询:完成用户从界面输入查询条件,在系统查询符合条件的通讯录信息,并在界面上显示的功能。

4)通讯录信息导入:完成用户从界面输入需要导入的文件路径名称,读取该文件的内容,保存入系统,并在界面上显示导入内容的功能。

5)通讯录信息导出:完成用户从界面输入需要导出的文件路径名称,将系统中通讯录信息保存入文件中。

6)通讯录信息删除:完成用户从界面输入需要的通讯录信息的姓名,并将其从系统中删除。

四详细设计。

4.1数据结构设计。

根据系统要求,系统中需要保存的数据有通讯录的信息,其结构如下:

4.2界面设计。

1.主界面:

根据系统要求,设计一个字符界面,显示系统的菜单,为了体现友好性,将在每个菜单前显示该菜单项对应的数字。

用户输入菜单项前面的数字,主菜单消失,进入该模块的相应界面,进行相应的操作,完成后,回到主界面。

2.输入界面:

在光标下输入通讯录的信息,用空格将信息隔开。

3.修改界面:

首先输入通讯录的姓名,显示该通讯录的详细信息,输入修改后的信息,将原来信息修改。

4.删除界面:

输入需要删除的姓名,将其从通讯录中删除。

5.导出界面:

输入需要导出的文件路径,将通讯录信息导出到文件。

6.列表显示页面:

将通讯录中所有记录显示,每页显示10条。

7.导入页面:

略。8.查询界面:

略。4.3模块实现。

1.主界面实现:

调用cout函数,在屏幕上打印需要显示的字符信息,需要在显示之前调用system(“cls”)函数将前面的界面清空。

对应的实现函数menu_show();

2.功能选择模块实现:

接受从键盘输入的菜单选择,判断并调用相应的功能函数,完成其对应的功能。实现功能选择。

对应的函数:menu_select();

1)通讯录信息录入模块实现:

模块说明:从键盘接收输入的通讯录信息,在动态存储区中创建通讯录的节点,遍历链表,将其插入到通讯录链表的最后位置。

模块流程:对应函数:add(struct phone * head)

2)通讯录信息修改模块实现:

模块说明:从键盘接收输入的需要修改通讯录的姓名,遍历链表,判断节点的姓名是否输入的姓名相等,如果相等,从键盘输入修改后的信息,保存在该节点中,改变标识变量,最后判断标识变量判断是否在链表中找到该姓名的通讯录。

模块流程:对应函数:update(struct phone * head)

3)通讯录信息删除模块实现:

模块说明:略。

模块流程:略。

对应函数:delete(struct phone * head)

4)通讯录信息导入模块实现:

模块说明:略。

模块流程:略。

对应函数:load(struct phone * head)

5)通讯录信息导出模块实现:

模块说明:略。

模块流程:略。

对应函数:s**e(struct phone * head)

6)通讯录信息查询模块实现:

模块说明:略。

模块流程:略。

对应函数:search(struct phone * head)

7)通讯录信息显示模块实现:

模块说明:略。

模块流程:略。

对应函数:list(struct phone * head)

五测试。5.1录入通讯录测试。

1.测试数据:输入张吴波********, 138***8241470

测试结果:程序运行出现错误,如下。

原因**输入的长度超过了**表示的长度。

2.测试数据:输入张吴波********, 138***

测试结果:程序运行正常,正确的插入到链表的最后位置。

3.测试数据:输入:张吴波******** 8241470 425

测试结果:程序运行不正常,可以将张吴波********, 8241470插入到链表的最后位置,但是425不能保存。

原因:使用了scanf(“%s”),将空格作为截止符。

5.2 修改通讯录测试。

测试数据:在系统中存在4个名称为li的通讯录。

测试结果:输入修改的姓名 li ,显示了第一个姓名为li的通讯录信息,输入修改后的信息:张吴波******** 138***将第一个姓名为li的通讯录修改成功。

测试数据:在系统中不存在名称为张三的通讯录,输入后,提示姓名不存在,如下图。

5.3导入通讯录测试。

测试数据:输入c:\路径(系统中不存在该文件)

测试结果:提示不能打开文件,不能导入。

回车后程序结束。

原因:不能打开文件文件使用了exit函数。

测试数据:输入c:\路径(系统中该文件,格式符合程序要求)

测试结果:提示能将文件中的数据正确导入。

查询模块测试:

略。删除模块测试。

略。六结论及改进设想。

对系统开发的总结(设计亮点,存在的不足,需要改进的地方)

略)七心得体会。

略)八参考文献。

略)九附录。

程序源**。

c语言课程设计报告 课程设计报告

周口师范学院。课程设计报告。院 系 计算机科学与技术学院 班级。学生姓名学号。设计题目 职工工资管理系统。完成日期 年月日 课程设计任务书。设计题目 工资管理系统 教研室主任指导教师 年月日。摘要11设计内容 任务及具体要求2 1.1设计内容2 1.2设计任务及具体要求2 2概要设计3 2.1该系统...

C课程设计报告

题目各类图形面积与周长计算和高考倒计时。学生姓名张磊 学号 20131344054 学院计算机与软件学院 专业软件工程 指导教师马瑞。二 一五年六月 25 日。目录。1 引言 1 1.1 系统开发背景和意义 1 1.2 服务器运行环境 2 1.3 课题内容 2 2 系统需求分析及相关技术介绍 2 2...

C 课程设计报告

c 程序课程设计报告。学院 资源与安全工程学院 专业班级 城市地下空间工程1303 姓名卢途。指导教师 彭述权。课程设计时间 2013 2014学年第二学期18 19周。一 题目一 设计一 学生成绩管理系统 它的主要功能是对学生的成绩进行输入 修改和管理。系统功能要求 界面要求 学生成绩管理系统 1...