C++基础教程
——
作业及参考答案全部汇总文档
节6结构体和枚举阶段作业

最新版本V2.0
王道C++团队
COPYRIGHT ⓒ 2021-2024. 王道版权所有

基础题篇

Gn!

下面都是一些基础的语法、概念编程练习题。

结构体基础语法练习1

Gn!

定义一个Date结构体,包含年、月、日数据项。编写一个函数,计算两个日期之间的天数差。

不考虑平年闰年,不考虑月份天数不同。

假设每个月都是30天,每年是360天,以简化计算。

参考代码如下:

参考代码:

这个问题非常简单,参考代码如下:

以上。

结构体基础语法练习2

Gn!

第一题:

下面结构体类型的变量的内存布局是怎样的?请使用VS的Debug模式查看它的内存布局

要求:截图展示内存窗口中的对齐填充,然后提交截图。

第二题:

基于上述的结构体类型的定义,实现以下功能:

1.从键盘输入5个学生的信息,将这些同学的信息采用结构体数组的方式存储起来。(代码直接写在main函数里)

2.编写一个函数,用于打印单个结构体信息。然后在main函数里调用该函数,打印这个结构体数组。

3.编写一个函数,用于求三个学科的平均分。然后在main函数里调用该函数,打印这三个学科的平均分。

参考代码如下:

参考代码:

参考代码如下:

以上。

枚举类型基础语法练习

Gn!

定义一个枚举类型Month,包含一年中12个月份的英文单词。并从一月份开始,为枚举成员分配一个从1开始的数字值。

例如:January=1,February=2,依此类推....

编写一个函数,接收Month类型的参数,返回该月份有多少天。

注意:不考虑平年闰年,2月份一律输出28天。

提示:可以用switch对枚举类型进行选择。

参考代码如下:

参考代码:

参考代码如下:

以上。

结构体和枚举类型综合练习

Gn!

编写一个程序,管理图书馆中的书籍信息。每本书籍的信息包含以下内容:

  1. 书籍编号(整型)

  2. 书籍名称(字符串)

  3. 书籍作者(字符串)

  4. 书籍类别(枚举类型)

请定义一个Book书籍结构体类型来存储一本书的信息,以及Genre这个书籍类别枚举类型

书籍类别的枚举类型包含以下类别:

  1. 科幻(SCIENCE_FICTION)

  2. 文学(LITERATURE)

  3. 历史(HISTORY)

  4. 科技(TECHNOLOGY)

  5. 其他(OTHER)

现在给定你一个Book结构体对象数组的数据,一共十本书:

请实现以下功能:

  1. 程序启动,即打印所有书籍的信息。

  2. 根据用户输入的书籍类别编号,查找并输出该类别的所有书籍信息。

程序的运行结果如下图所示:

题目4-程序执行示意图

提示,建议提取下列三个函数来实现整个程序的功能:

参考代码如下:

参考代码如下:

可以直接用上面题目中给出的数据,不需要自己编数据了:

以上。

The End