首页 > 编程语言 >C++数据结构课程设计

C++数据结构课程设计

时间:2022-09-05 23:26:32浏览次数:87  
标签:课程设计 传送门 C++ 查询 实现 设计 数据结构

C++数据结构课程设计

《数据结构》课程设计指导书
一、课程设计的目的
课程设计为学生提供了一个独立实践的机会,将课本上的理论知识和实际问题结合起来,锻炼学生分析、解决实际问题的能力,提高学生运用所学知识解决实际问题的水平。
数据结构课程设计是《数据结构》课程的继续和延伸,也是课程内容的进一步强化及应用。通过课程设计,要求学生掌握数据结构的经典算法,并能够灵活运用,掌握面向对象的程序设计的概念,掌握软件工程的基本思想,并能解决实际问题。培养学生的算法设计能力和调试程序的实践能力、创新能力和创新意识,为算法设计等后续课程打下坚实的基础。
二、课程设计要求
(选做一题,且由个人独立开发完成)
面向对象程序设计不仅可以进行功能抽象,而且可以进行数据抽象。“对象”实际上是功能抽象和数据抽象的统一。C++语言的“对象”是“类”的实例,数据结构课程设计的基础是设计类,所以类的有关概念是重点,尤其要抓住抽象、封装、继承和多态性等要素。要求学生的课程设计中要涉及类、继承的使用。
类设计的重点是如何选择成员变量和成员函数。成员函数设计的难点是选择函数类型及其参数传递方式。
要求学生独立完成一个小型软件的开发,有关问题简要说明如下:
1.使用类和对象设计程序
类的设计就是根据数据封装的要求,抽象出合适的类。换言之,就是如何设计成员变量和成员函数。这部分的任务就是根据实际问题,设计若干个满足功能要求的类。
2.使用菜单
菜单是应用程序的界面。这部分的任务是设计一个含有多个菜单项,使用方便的菜单,通过菜单选择不同的功能。
3.文件读取
要求利用文件进行数据读取。文件格式根据自选题目自行设计。
4.存储结构的选择
要求优先选择链式存储。
5.功能实现
完成相应项目的基本功能,功能逻辑正确。
三、课程设计题目

1、学生成绩管理系统

能够实现学生信息的录入查询、插入、删除等基本功能。最好能够实现管理员、教师、学生三类用户的主要功能。例如,管理员能够实现学生及教师信息的录入、修改、任务分工的设置等,教师能够实现所任课程的成绩录入,查询、提交等,学生能够实现基本信息查询、学分查询、成绩查询等。

源码传送门

传送门:https://pan.baidu.com/s/1JJs9vbZahUCB6cQvXLgAVg?pwd=1111

2、公司人员信息管理系统

本系统主要对公司人员的基本信息进行录入和维护和工资管理模块的处理。 根据各个员工的不同职称(职务),参照不同的工资标准,进行工资的计算,并能完成查询、打印功能。对于系统管理员,可对人员信息进行删除操作。

源码传送门

传送门:https://pan.baidu.com/s/1JJs9vbZahUCB6cQvXLgAVg?pwd=1111

3、通讯录管理系统

该系统实现通讯录的管理,包括电话号码、姓名等信息。系统功能要求如下:
(1)能够实现通讯录信息的文件读写。
(2)内存管理实现通讯录的按姓名查询(模糊查询及精确查询)、增加、删除、修改等功能。
(3)查询时采用Hash查找或折半查找实现。
(4)存储采用链式存储或利用STL的list实现。

源码传送门

传送门:https://pan.baidu.com/s/1JJs9vbZahUCB6cQvXLgAVg?pwd=1111

4、图书管理系统

图书管理系统能够实现不同限权人员对图书的各种操作。管理员可以对图书进行查看,增加,删除,修改,查找,借阅以及读者账号的录入,查看;读者可以对图书进行查看,查找,借阅;游客只可以对图书进行查看与查找。

源码传送门

传送门:https://pan.baidu.com/s/1JJs9vbZahUCB6cQvXLgAVg?pwd=1111

5、其他参考题目

题目1 连队(中队)人员管理系统
题目2 高校学籍管理系统
题目3 企业工资管理系统
题目4 单位人事管理系统
四、实施要求
要求用软件工程的基本原理来解决实际问题。需要使用的流程图、用例图等,符号必须符合专业标准。具体实施要求如下:

  1. 项目具体内容,进行可行性研究,通过实地考察,写出需求分析(即弄清楚做什么,而不是怎么做)。
  2. 面向对象分析,本阶段的基本目的是用比较抽象的概括方式确定系统如何完成预定的任务,也就是说,应该确定系统的布置方案,并且确定组成系统的每个程序的结构。因此,总体设计阶段主要有两个小阶段组成。
    1)首先需要进行系统设计,设想完成系统功能的若干各种合理方案,分析员应该仔细分析比较这些方案,并最终选择一个最佳方案
    2)然后进行软件结构设计,确定软件由那些模块组成以及这些模块之间的动态调用关系。
    注意:在进行软件结构设计时,建立对象模型,包括对象的分析,功能分析。同时注意用模块独立原理,便于分工合作,各个模块彼此之间接口关系应该尽量简单。
    3.面向对象设计
    主要包括:
    1)类层次的设计
    根据分析设计各个类
    确定类层次
    确定类属性及其行为
    2)界面设计
    界面要求可操作性强,美观大方
    4.代码实现并测试
    分模块完成代码的实现。注意提高程序的可重用性和可扩充性,以及健壮性,并完成代码的测试,掌握测试技术。
    五、解决方案
  3. 分析程序的功能要求
  4. 类层次的设计
  5. 各个类的实现
    4.界面设计及实现
  6. 程序设计及调试
    6.完成系统总结报告以及使用说明书

附:课程设计说明书格式规范详见样例

标签:课程设计,传送门,C++,查询,实现,设计,数据结构
From: https://www.cnblogs.com/codewriter/p/16660017.html

相关文章

  • C++11~C++20 新基础类型
    目录整数类型longlong(C++11)字符类型char16_t和char32_t(C++11)C++11为什么要引入char16_t和char32_t?字符类型char8_t(C++20)参考资料整数类型longlong(C++11)C++1......
  • C++基础入门:C++初始
    1.C++环境:Clion搭建下载链接:clion官方网址1.1点击下载1.2下载对应版本1.3安装步骤:1.3.1下载完毕后,打开exe文件,进入安装界面,点击【Next>】1.3.2选择安装目录......
  • 绪论:数据结构与算法
    数据结构数据 数据结构:是相互之间存在一种或多种特定关系的数据元素的集合按照视点不同,把数据结构分为逻辑结构和物理结构 算法算法是解决特定问题求解步骤的描述......
  • 如何高效解决 C++内存问题,Apache Doris 实践之路|技术解析
    导读:ApacheDoris使用C++语言实现了执行引擎,C++开发过程中,影响开发效率的一个重要因素是指针的使用,包括非法访问、泄露、强制类型转换等。本文将会通过对Sanitizer......
  • leetcode 6356 最长回文子串长度,最长回文子串 C/C++ 动态规划方案 同样的用例,测试执
    对dp变量需要执行初始化,否者LeetCode会出现同样的用例,单独执行可以通过,提交代码执行不通过的情况。 下面是找最长回文串的动态规划代码。class Solution {public:......
  • 青少年C++编程CSP/NOIP
    C++基础篇C++算法篇数据结构&算法深入信息学竞赛初赛篇信息学竞赛复赛篇信息学等级考试篇C++提高篇https://study.163.com/series/1202896601.htm?inLoc=android_ss_ssjg&u......
  • Qt-C2429:语言功能"嵌套命名空间定义"需要编译器标志"/std:c++latest"
     问题现象:今天早上在给同事讲代码时,打开工程,发现之前可以编译的工程,在未修改代码,未修改SDK的情况下,无法编译。并且提示如下:C2429:语言功能"嵌套命名空间定义"需要编译器......
  • 数据结构与算法学习笔记———链表(Linked List)
    链表(LinkedList)#该篇笔记转自【Python】python链表_小周ipython的博客-CSDN博客_python链表简介链表(LinkedList):是一种线性表数据结构。他是用一组任意的存储单元(可......
  • C++中#ifdef和#endif的用法
    一般情况下,源程序中所有的代码都会参与编译。但有时希望对其中一部分内容只在满足一定条件时才进行编译,也就是对一部分内容指定编译的条件,这就是“条件编译”。条件编......
  • Source Insight导入C++标准库符号
    1、对GNUC++头文件一般放在/user/include目录下。本环境是在/usr/include/c++/9目录下,其它环境类似。2、拷贝此目录到本地,用于创建工程。3、打开SourceInsight,以此目录......