IOS实验室第一次考核

return 0;

}




---


### T2


![](https://img-blog.csdnimg.cn/direct/562d401a1b2345de955faea538f9171d.png)


一开始看到cpp链表我是觉得很茫然的,以至于一开始都想放弃这一题,但是距离截止时间还有一段时间,加之之前学习过一部分的python 对这个python中的列表还有一些印象,运用python还是可以较快解决这个问题的


思路:1.建立一个列表 2.利用append函数来向列表中插入新的数,在插入时末尾添加即可,不考虑大小关系 3.每一次插入新的数字后对该列表进行冒泡排序,使得列表有序


障碍:1.关于python的知识遗忘地有些多,需要复习笔记才能想起来 2.冒泡排序的python解法不太熟悉,这里参考了[Python实现冒泡排序\_冒泡排序python-CSDN博客]( )的解法


以下是我实现该题的代码:



def bubble_sort(array):
for i in range(1, len(array)):
for j in range(0, len(array) - i):
if array[j] > array[j + 1]:
array[j], array[j + 1] = array[j + 1], array[j]
return array

a = list()
print(“******* Data Structure *******”)
print(“1----有序插入单链表”)
print(“2----查看单链表”)
print(" 退出,输入0")
choice = int(input())
while True:
if choice == 1:
num = int(input(“请输入要插入的值:”))
a.append(num)
bubble_sort(a)
elif choice == 2:
index = 0
while index < len(a):
print(a[index]," ",end=‘’)
index += 1
elif choice == 0:
break

choice = int(input())




---


### T3


![](https://img-blog.csdnimg.cn/direct/24a0182ffbd24c63ab75e5c9f2d125a3.png)


第三题的主要内容是类的构造,初看与我们最近学习的内容颇为相近,但是在实现过程中还是遇到了问题:1.不清楚派生类及派生类的使用  2.不懂如何创建Header


针对第一个问题:不清楚派生类及派生类的使用


我搜索了相关知识并学习:


[C++-基类与派生类\_c++派生类和基类-CSDN博客]( )


[c++ 继承与派生(2)——通过派生类的对象调用基类的函数\_c++ 派生类调用基类方法-CSDN博客]( )


[C++类——派生类的定义、构成及访问控制\_c++派生类-CSDN博客]( )


暂时能够满足本题的需求,但是关于派生类的其他内容,还需要继续加深学习。


针对第二个问题:不懂如何创建Header


依稀记得以前有接触过这部分知识,但已经遗忘,我先是凭借印象自行尝试创建,未果,最后学习了一下网上的创建方式,如


[理解 C++ 中的头文件和源文件的作用 | 菜鸟教程 (runoob.com)]( )")


[头文件header file和源文件 source file\_类的头文件和源文件-CSDN博客]( )


[code::block 新建项目(project)并建立 Sources 和 Headers 子目录-CSDN博客]( )


[C/C++不同文件夹下包含头文件的方法及#include的使用\_在c++中如何包含不在同一个文件夹下的头文件-CSDN博客]( )


并结合了自己的理解,最终完成了这个项目,但对于其中的底层逻辑,我还有些疑惑,所以仍需要继续学习。


以下是我实现该题的代码



#include
#include “Account.h”
#include “SavingsAccount.h”

using namespace std;

int main()
{
Account a;
char choice = ’ ';
cout << “------------------------------------------------”<<endl;
cout << " 菜单栏 "<<endl;
cout << “1、存款请输入“1””<<endl;
cout << “”<<endl;
cout << “2、取款请输入“2””<<endl;
cout << “”<<endl;

cin >> choice;
double amount = 0;
switch(choice)
{
	case'1':
		cout << "请输入存款金额" << endl;
		cin >> amount;
	 	a.credit(amount);
	 	cout <<"您当前的余额是:" << endl;
		a.getBalance();
		cout << endl;
		break;
	case'2':
		cout << "请输入取款金额" << endl;
		cin >> amount;
		a.debit(amount);
	 	cout <<"您当前的余额是:" << endl;
		a.getBalance();
		cout <<endl;
		break;
}



if(choice == '1')
{
	cout << "请输入您想存款的年份及当前的年利率" << endl;
	int y = 0;
	double r = 0;
	cin >> y >> r;
	SavingsAccount a1(y,r);
	a1.balance = a.balance;
	a1.calculate();
}
return 0;

}


其中定义的基类是



#ifndef ACCOUNT_H_INCLUDED
#define ACCOUNT_H_INCLUDED
#include
using namespace std;

class Account
{
public:
double balance;

Account()
{
	if(balance < 0)
	{
		balance = 0;
		cout << "Wrong Balance!" << endl;
	}
}

void credit(double num)
{
	balance = balance + num;
}
void debit(double num)
{
    if (balance >= num)
    {
        balance -= num;
    }
    else
    {
        cout << "Debit amount exceeded account balance." << endl;
    }
}
void getBalance()
{
	cout << balance;
}

};

#endif // ACCOUNT_H_INCLUDED



派生类是



#ifndef SAVINGSACCOUNT_H_INCLUDED
#define SAVINGSACCOUNT_H_INCLUDED
#include
using namespace std;

class SavingsAccount : public Account
{
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Python开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

img

img

img

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注:Python)

mg-blog.csdnimg.cn/img_convert/9f49b566129f47b8a67243c1008edf79.png)

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注:Python)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值