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...