头歌C++面向对象实训一
**
C&C++ 面向过程编程综合练习
**
一、实训目的
熟练以下内容:
(1)函数的定义及使用;
(2)数组的定义及使用;
(3)指针的定义及使用;
(4)结构的定义及使用;
(5)多文件的程序的编译和运行方法。
二、实训内容
1.最大值函数
相关知识:
(1)函数声明与定义
(2)函数重载
(3)调用函数
2.计算阶乘
相关知识:
(1)递归函数
(2)头文件与源文件
3.求矩阵最大元素
相关知识:
(1)数组
(2)二维数据
(3)数组的使用
4.使用链表进行学生信息管理
相关知识:
(1)结构体
(2)单向链表
(3)单向链表的插入
(4)单向链表的删除
(5)头结点的作用
(6)单向链表的遍历
三、实训所实现系统主要功能
1.最大值函数
Max函数重载,分别求两个和三个数中的最大值
2.计算阶乘
利用递归求阶乘,熟悉头文件和源文件的联系
3.求矩阵最大元素
熟悉数组的使用,求矩阵的最大元素和所在的行、列
4.使用链表进行学生信息管理
利用插入、删除、遍历操作对链表操作进而管理和修改学生信息
四、实训系统核心代码及必要说明
1.最大值函数
int Max(int a,int b)
{/********* Begin *********///找出两个参数中最大的那个并返回return a > b ? a : b;/********* End *********/
}int Max(int a,int b,int c)
{/********* Begin *********///找出三个参数中最大的那个并返回int t = a > b ? a : b;return t > c ? t : c;/********* End *********/
}
2.计算阶乘
int Fact(int n)
{/********* Begin *********///使用递归计算 n 的阶乘if (n == 0) return 0;if (n == 1) return 1;return Fact(n - 1) * n;/********* End *********/
}
3.求矩阵最大元素
int MaxEle(int a[3][2],int *r,int *c)
{/********* Begin *********///返回最大元素和它所在的行、列号int m = a[0][0], x = 0, y = 0;for (int i = 0; i < 3; i++)for (int j = 0; j < 2; j++)if (m < a[i][j]){m = a[i][j];x = i;y = j;}*r = x + 1;*c = y + 1;return m;/********* End *********/
}
4.使用链表进行学生信息管理
#include <iostream>
using namespace std;struct Linked
{/********* Begin *********///结构体的成员变量int n;float grade;struct Linked *next;/********* End *********/
};Linked* Create()
{/********* Begin *********///创建并返回一个新链表Linked *L = new Linked[55];L -> next = NULL;return L;/********* End *********/
}void InsertAfter(Linked *node,int num,float sc)
{/********* Begin *********///在指定节点后插入一个新节点,内容由 num,sc 参数指定Linked *a = new Linked;a -> n = num;a -> grade = sc;a -> next = node -> next;node -> next = a; /********* End *********/
}void DeleteAfter(Linked *node)
{/********* Begin *********///删除此节点之后的一个节点Linked * a = node -> next;node -> next = a -> next;delete a;/********* End *********/
}Linked* GetByIndex(Linked *head,int index)
{/********* Begin *********///返回指定索引处的节点int a = 0;Linked *p = head -> next;while (a != index){a++;p = p -> next;}return p;/********* End *********/
}void PrintAll(Linked *head)
{/********* Begin *********///按格式打印此链表中所有节点的成员变量Linked *p = head -> next;while (p){cout << p -> n << " " << p -> grade << endl;p = p -> next;}/********* End *********/
}
头歌C++面向对象实训一相关推荐
- 头歌C++面向对象实训二
** C++ 面向对象 - 类和对象的创建和使用 ** 一.实训目的 1.熟悉C++中类和对象的创建和使用 2.理解C++中的关键字public.protected.private 二.实训内容 1. ...
- 头歌C++面向对象实训三
C++ 面向对象 - 构造函数与析构函数 一.实训目的 1.理解构造函数和析构函数 2.熟悉掌握构造函数和析构函数的运用 3.掌握对象数组的运用 4.理解静态成员及函数 二.实训内容 1.构造函数 - ...
- 头歌c语言实训作业题解
头歌c语言实训作业题解 持续更新 C语言程序设计编辑与调试环境 1.打印输出 Hello World 2.打印输出图形 3.求三个数的最大值 4.熟悉C语言调试环境 C语言中最基本的输入输出 1.看看 ...
- 头歌MySQL数据库实训答案2022
答案由本人收集+自己写的,仅作参考,帮助写不完作业的小伙伴 目录 实训1 数据库.表与完整性约束的定义(Create) 实训2 数据库.表与完整性约束的定义(Create) 实训3 基于金融应用的数据 ...
- 头歌-信息安全技术-实训04 数据库SQL注入漏洞
头歌-信息安全技术-实训04 数据库SQL注入漏洞 第一关:获取dvwa环境 任务描述 实验步骤 1. 安装appach 2.安装php 3.修改apache配置文件 4.安装mysql 5.安装dv ...
- 头歌MySQL数据库实训答案 有目录
头歌MySQL数据库答案 特别感谢黄副班.小青提供代码,有问题联系公众号[学思则安]留言更正 其他作业链接 数据库1-MySQL数据定义与操作实战 MySQL数据库 - 初识MySQL MySQL数据 ...
- 头歌--CC++函数实训
第1关:登月纸桥 任务描述 本关任务:编写一个函数,计算需要把纸折叠多少次(假设纸张足够大,可以无限次折叠),其厚度才能搭建一座登月纸桥,考虑到将来需要到更远的星球,所以函数需要根据具体距离计算纸张折 ...
- 头歌c语言实训项目-综合案例课外练习:大奖赛现场统分
(创作不易,感谢有你,你的支持,就是我前行的最大动力,如果看完对你有帮助,请留下您的足迹) 目录 第1关:大奖赛现场统分 题目: 代码思路: 代码表示: 第1关:大奖赛现场统分 题目: 大奖赛现场统分 ...
- 头歌平台web实训部分作业
因为题目太多就不分开贴上来了. /*---注! 部分题有多个Begin-End使用注释符分开上下*///十一.json //1.1json对象 var JSONObject = {"key1 ...
最新文章
- 树莓派视觉小车 -- 物体跟踪(OpenCV)
- Element-ui表格选中回显
- 图解Spark原理及实践----大数据技术栈12
- UA MATH565C 随机微分方程V Markov Family的算子
- Android 布局属性 Android:layout_weight 总结
- MySQL协议包说明
- C语言的关键字 extern
- @responseBody 返回更多数据
- Ocelot简易教程(二)之快速开始1
- ubuntu 硬盘使用情况
- TS DataType
- ecshop3.0.0注入
- “2007中国软件技术英雄会”之微软中国研发集团开放日
- js动态改变iframe的高度
- WIN7获取管理员权限
- linux:账号管理
- 拉宾-卡普算法详解以及示例[rabin-karp]
- 代理服务器的速度慢的原因是什么?
- 双硬盘双win10互不干扰_笔者详解win10系统双硬盘经常提示“盘符交错”的技巧...
- Linux为什么不怕病毒