通讯录实训实验报告

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实训报告

题目:通讯录

院系:信息科技学院

专业:计算机科学与技术姓名: ***

学号: ****

指导教师: ******

日期: 2012年1月7日

电子科技大学信息科技学院

目录

1 问题定义 (4)

2 系统设计 (4)

2.1 总体设计 (4)

2.2 详细设计 (6)

2.2.3 输入记录模块 (7)

2.2.4 查询记录模块 (8)

2.2.5 更新记录模块 (8)

2.2.6 统计记录模块 (8)

3 系统实现 (9)

3.1 编码 (9)

3.1.1 程序预处理 (9)

3.1.2 主函数main() (9)

3.1.3 主菜单界面 (9)

3.1.4 表格形式显示记录 (10)

3.1.5 记录查找定位 (10)

3.1.6 格式化输入数据 (10)

3.1.7 增加记录 (10)

3.1.8 查询记录……………………………………………………………………10…

3.1.9 删除学生记录 (11)

3.1.10 修改记录 (11)

3.1.11 插入记录 (12)

3.1.12 统计记录 (12)

3.1.13 排序记录 (13)

3.1.14 存储记录 (13)

3.1.15 截图 (17)

前言

课程设计环节是应用型本科院校非常重要的一个教学环节,是学完一门课后应用本课知识及以前的知识积累而进行的综合性、开放性的训练。通过课程设计,不仅能够使学生得到系统的技能训练,巩固和加强所学得专业理论知识,而且能够培养学生工程意识、创新能力、团队精神等综合素质,培养学生的设计能力和解决实际问题的能力。

C语言由于其强大的功能,丰富的表达能力,高效的代码,良好的移植性和灵活性,自1972年问世以来,经久不衰,即使现在出现了面向对象的程序设计方法和开发工具,但它仍然是人们学习程序设计的首选语言,用它训练和提高编程技术,以及开发应用程序等。

我们通过《C语言程序设计》这门课程的学习,已经能编写解决小问题的程序,对程序的开发也有了初步的认识,还掌握了C 语言的基本语法,这一过程确确实实令我们感到欣喜,有点计算机可以完成自我任务的成就感。但是,对于程序设计而言,学习C 的步伐不应该停留于此。我们最终的目的应该是掌握开发大型综合程序的方法,即遵循软件工程的开发步骤和结构化程序设计思想,用C 语言开发出解决复杂问题的大型综合程序。可是对于多数学生来说,学习了C语言后,除了应付各种考试之外,别无它用,对Turbo C语言丰富的函数知之甚少,加上DOS环境所限,因而对C语言兴趣不大,也感到C语言比较难以掌握。

本实训就是为了让学生在学完C语言后进一步了解C语言的知识,掌握C语言在软件开发方面的使用方法,希望通过此次实训,不仅能提高学生学习C语言的兴趣,更为今后学习其它专业知识及开发程序打下坚实的基础。

本指导书中有些容借鉴了互联网上相关程序的设计思想,在此对相关者表示衷心的感。

由于时间、经验及水平的原因,不当、不足之处,请大家提出宝贵意见。

编者

通讯录系统

本题目设计目的是训练学生的基本编程能力,了解管理信息系统的开发流程,熟悉C 语言的文件和单链表的各种基本操作。本程序中涉及结构体、单链表、文件等方面的知识。通过本程序的训练,使学生能对C语言的文件操作有一个更深刻的了解,掌握利用单链表存储结构实现对学生成绩管理的原理,为进一步开发出高质量的管理信息系统打下坚实的基础。

1、问题定义

创建一个通讯录管理系统。假设系统中每个人录只包括、,如下图所示,选择任意菜单后,实现相应功能。

在问题定义阶段要考虑题目的可行性和需求分析,接下来进入开发阶段,完成系统设计和系统实现的任务。

2、系统设计

2.1 总体设计

采用模块化的程序设计方法,即将较大的任务按照一定的原则分为一个个较小的任务,然后分别设计各个小任务。需要注意的是划分出来的模块应该相对独立但又相关,且容易理解。可以用模块化层次结构图(即模块图)来分析其任务的划分,一般从上到下进行,最上面一层是主模块,下面各层是其上一层模块的逐步细化描述。

本通讯录系统要求采用数组实现,它由如下五大功能模块组成:

●输入记录模块:完成将数据存入文件的工作。记录可以从以二进制形式存储的数据文件

中读入,也可从键盘逐个输入学生记录。学生记录由学生的基本信息和成绩信息字段构成。当从数据文件中读入记录时,也就是把在以记录为单位存储的数据文件中,将记录逐条复制到数组中。

●查询记录模块:逐一查找文件名对应文件,打开读数。

●更新记录模块:打开相应文件,对其中数据更改。

●输出记录模块:重文件中读出数据,转出存入数组中,再由数组输出。

2.2 详细设计

2.2.1数据结构设计

●通讯录结构体

直接由外部文件分隔储存,进行文件建立,结合外部搜索完成基本结构。

2.2.2 定义数组函数执行流程

// 通讯录Dlg.h : header file

//

#if !defined(AFX_DLG_H__37C8ABEA_DB2A_4346_9B9E_B2B26BE0014A__IN CLUDED_)

#define

AFX_DLG_H__37C8ABEA_DB2A_4346_9B9E_B2B26BE0014A__INCLUDED_

#if _MSC_VER > 1000

#pragma once

#endif // _MSC_VER > 1000

/////////////////////////////////////////////////////////////////////////////

// CMyDlg dialog

class CMyDlg : public CDialog

{

// Construction

public:

struct student

{

CString csCode; //学号

CString csName; //

}structStudent[20];

int nStudentNum;

int nAccordNum;

int nAccordItem[20];

相关文档
最新文档