程序设计基础(2024春)

辽宁科技大学 刘丽华

目录

  • 1 c++概述
    • 1.1 c++语言特点、简单c++程序的组成
    • 1.2 c++程序编译、连接、运行
    • 1.3 模块重点
    • 1.4 项目案例
    • 1.5 资源下载
    • 1.6 实践01
    • 1.7 模块练习
    • 1.8 模块测试
    • 1.9 线上讨论
  • 2 c++基础知识
    • 2.1 c++的词法单位
    • 2.2 c++数据类型、常量、变量
    • 2.3 运算符和表达式
      • 2.3.1 运算符、优先级和结合性
      • 2.3.2 基本运算符及其表达式
        • 2.3.2.1 基本运算符及其表达式 1
        • 2.3.2.2 基本运算符及其表达式 2
    • 2.4 模块重点
    • 2.5 项目案例
    • 2.6 资源下载
    • 2.7 实践02
    • 2.8 模块练习
    • 2.9 模块测试
    • 2.10 线上讨论
  • 3 流程控制语句
    • 3.1 控制结构概述
    • 3.2 顺序结构程序设计
      • 3.2.1 cin、cout
      • 3.2.2 scanf、printf
    • 3.3 选择结构程序设计
    • 3.4 循环结构程序设计
      • 3.4.1 while、do while 、for语句
      • 3.4.2 多重循环
    • 3.5 模块重点
    • 3.6 项目案例
    • 3.7 资源下载
    • 3.8 实践03
    • 3.9 模块练习
    • 3.10 模块测试
    • 3.11 线上讨论
  • 4 数 组
    • 4.1 一维数组
    • 4.2 二维数组
    • 4.3 字符数组
    • 4.4 模块重点
    • 4.5 项目案例
    • 4.6 资源下载
    • 4.7 实践04
    • 4.8 模块练习
    • 4.9 模块测试
  • 5 函数
    • 5.1 函数的定义与声明
    • 5.2 函数类型和函数值
    • 5.3 函数的参数传递
    • 5.4 函数的调用
    • 5.5 内联函数、函数重载
    • 5.6 变量和函数的作用域
      • 5.6.1 变量的作用域
      • 5.6.2 函数的作用域
    • 5.7 宏定义、文件包含
    • 5.8 模块重点
    • 5.9 项目案例
    • 5.10 资源下载
    • 5.11 实践05
    • 5.12 模块练习
    • 5.13 模块测试
  • 6 指针
    • 6.1 指针的基础知识
    • 6.2 指针与数组
      • 6.2.1 指针与一维数组
      • 6.2.2 指针与二维数组
      • 6.2.3 指针与字符串
    • 6.3 指针与函数
    • 6.4 函数main()的预参数、动态内存分配
    • 6.5 模块重点
    • 6.6 项目案例
    • 6.7 资源下载
    • 6.8 实践06
    • 6.9 模块练习
    • 6.10 模块测试
  • 7 类与对象
    • 7.1 类与对象的基本概念
      • 7.1.1 类与对象的基本概念 1
      • 7.1.2 类与对象的基本概念 2
    • 7.2 构造函数
    • 7.3 析构函数
    • 7.4 友元函数和友元类、类的作用域
    • 7.5 模块重点
    • 7.6 项目案例
    • 7.7 资源下载
    • 7.8 实践07
    • 7.9 模块练习
    • 7.10 模块测试
  • 8 继承和多态
    • 8.1 继承的概念与派生的定义
    • 8.2 派生类的继承方式
    • 8.3 派生类的构造函数和析构函数
    • 8.4 多重继承
    • 8.5 基类和派生类的转换
    • 8.6 多态
    • 8.7 虚函数、纯虚函数与抽象类
    • 8.8 模块重点
    • 8.9 项目案例
    • 8.10 资源下载
    • 8.11 实践08
    • 8.12 模块练习
    • 8.13 模块测试
  • 9 综合应用案例
    • 9.1 综合应用案例分析
    • 9.2 综合应用案例设计
      • 9.2.1 类的设计
      • 9.2.2 代码实现
    • 9.3 综合应用案例实现
    • 9.4 应用创新设计案例
      • 9.4.1 交通信号设计
      • 9.4.2 复数计算的实现
      • 9.4.3 课表的实现
      • 9.4.4 迷宫问题
      • 9.4.5 四则运算游戏
      • 9.4.6 打印日历
      • 9.4.7 双向链表的实现
    • 9.5 实践09
    • 9.6 模块测试
  • 10 创新实践
    • 10.1 实践指导书
    • 10.2 实践单元
      • 10.2.1 通讯录设计
      • 10.2.2 车辆信息管理
      • 10.2.3 学生信息管理
  • 11 每周一练
    • 11.1 作品
  • 12 全国计算机等级考试(c++)
    • 12.1 考试大纲
    • 12.2 基础知识
    • 12.3 学习技巧
    • 12.4 实例编程
    • 12.5 上机题库
实践07


实验7 类和对象——学生基本信息输入输出

 目的

1 掌握类的概念、类的定义格式、类与结构的关系、类的成员属性和类的封装性;

2  掌握类对象的定义;

3  理解类的成员的访问控制的含义,公有、私有和保护成员的区别;

4  掌握构造函数和析构函数的含义与作用、定义方式和实现,能够根据要求正确定义和重载构造函数。能够根据给定的要求定义类并实现类的成员函数

实验内容与要求

定义一个学生类,其中有8个数据成员有学号、姓名、性别、专业、班级、年级、住址、电话,以及若干成员函数。同时编写主函数使用这个类,实现对学生数据的赋值和输出。

要求:

1. 使用成员函数实现对输出的输入、输出

2. 使用构造函数和析构函数实现对数据的输入、输出。

3. 写出程序,并调试程序,要给出测试数据和实验结果

4. 整理上机步骤,总结经验和体会。

5. 完成实验报告和上交程序。

实验任务分解


指导

1. 建立工程

(1) 新建一个win32 Console Application的工程:

打开VC++开发软件,从[文件]菜单中点击[新建]菜单项,出现如图所示:

在右上角的工程下输入该工程的名称,如 c8,并设置该工程所保存的路径。

最后点击确定。

(2) 当确定后会出现要你选择工程类型的对话框,如图所示:请选择一个空的工程,即第一个选项。

(3) 当单击确定后,工程建立完毕,接下来建立程序源文件,请再单击[文件]菜单下的[新建]出现原先出现的对话框,请选择 “文件”选项卡中的c++ source file选项,并取名,如c8

(4) 当确定后,就进入了源代码的编辑窗口

 

2. 学生信息类

(1) 声明学生信息类

class STUDENT{

}

(2) 定义描述学生信息的私有变量:如学生编号、学生名字、学生性别、专业名称、班级名称、年级名称、家庭住址、电话号码等。

private:

long bh;         //学生编号

           char mz[10];    //学生名字

           char xb[2];     //学生性别

           char zy[40];    //专业名称

           char bj[10];    //班级名称

           char nj[10];    //年级名称

           char dz[40];    //家庭住址

           long dh;         //电话号码

(3) 学生信息输入的方法,依次输入相关信息,由于要被主函数调用,定义为公有方法。

public:

           void srBh(){   //输入编号

                 cout<<"请输入学生编号:";

                 cin>>bh;

                 cout<<endl;

           }

(4) 学生信息输出的方法。

          void  scXX(){ //输出学生信息

                cout<<"你输入的学生信息如下:"<<endl;

                cout<<"学生编号:"<<bh<<"     ";

                cout<<"学生名字:"<<mz<<"     ";

                cout<<"学生性别:"<<xb<<endl;

                cout<<"专业名称:"<<zy<<endl;

                cout<<"年级:"<<nj<<"     ";

                cout<<"班级:"<<bj<<"     ";

                cout<<"电话:"<<dh<<endl;

                cout<<"家庭住址"<<dz<<endl;

           }

  3. 主函数

(1)  在主函数中构造学生信息类:

       STUDENT s1;

(2)  调用输入信息的方法

s1.srBh();

(3)  调用输出信息的方法

s1. scXX ();