contest/218-contest/219错误和感悟

博主分享了参加编程竞赛的经历,总结了优点和不足,如减少恐惧感、提高打字速度,但同时也发现main函数编写和避免WA等问题。文章通过列举典型错误,如构造函数、include错误、函数使用等,提出了解决和检查问题的顺序。同时,博主注意到指针、静态成员变量等知识点的掌握仍有待提升,并计划深入学习。
摘要由CSDN通过智能技术生成

写这个的原因 一方面是老师鼓励记录,另一方面是因为221第6题实在是写不下去了;我决定分几次写一下.

总体而言

pros

1.恐惧感减少不少 遇到不会的也敢于写

2.思路有了...虽然是完形填空也算吧

3.专业名词的理解加深了,或者是从无到有

4.刷牙,敷面膜和睡觉,好多百思不得其解的问题这时可以想明白

5.打字速度快多了

cons

1.完形填空做多了main函数不会写,也许这是后续可以继续练习的方向

2.避免WA,需要仔细观察cout...很不愿意耶

想和自己说的话

的确有进步 这些oj是有用的

仔细想想,5-6班同学可能办不到一星期不干别的,这个条件难得,再加上老师非常耐心善良

坚持不懈,充足时间时间和有效指导是这次进步的原因

当然也注意到了经常犯基础性错误,或者是一些莫名其妙,庸人自扰的错误

我想每次出问题可以试试这个顺序

1.注意include define using这几个问题

2.注意类和变量名字是不是出错了 类似于truck和trunk,true和ture,一群误写

3.注意方法函数的参数 可能const & * 加上就好了

4.无权限访问,可以试试看friend

5.把已有代码/**/起来,再写一次 能发现莫名其妙的手误

分享几个典型错误

WARNING: 这是菜鸟代码...非常菜的鸟 参考需谨慎

https://www.bjfuacm.com/contest/218/problems

218-1 

default写在private,应该写在public对应的构造函数里,类外写方法的时候需要注意,如果写上"=0"这种会报错,可以删去,类似于以下操作

精度那句话如何使用?要加上#include ;要向output函数里写的那样,写两行

以及PI用这种方式精度很高,要注意加#include

#include<iostream>
#include<iomanip>
#include<cmath>
using namespace std;
const double PI = acos(-1.0);
class Circle
{
private:
    double radius, area;
public:
    Circle(double radius = 0, double area = 0);
    void Area();
    void Input();
    void Output();
};
void Circle::Input()
{
    cin >> radius;
}
Circle::Circle(double radius, double area)
{
    this->radius = radius;
    this->area = area;
}
void Circle::Area()
{
    area = PI * radius * radius;
}
void Circle::Output()
{
    std::cout << std::setiosflags(std::ios::fixed) << std::setprecision(2) << area;
}
int main()
{
    Circle c1;
    c1.Input();
    c1.Area();
    c1.Output();
    return 0;
}

 218-2

strcpy strcmp strcat这些函数运用...不妨新开一个链接说这个

另外在vs2019中,这个函数使用的话需要在第一行写#define _CRT_SECURE_NO_WARNINGS

当时误打误撞写在了第一行

这里还涉及指针 也是一个没有解决的问题....未来搞懂了就发一个链接

using namespace std;
Book::Book()
{
    strcpy(name, "No name");
    strcpy(author, "No author");
    sale = 0;
}
Book::Book(const char* _name, const char* _author, int _sale)
{
    strcpy(name, _name);
    strcpy(author, _author);
    sale = _sale;
}
Book::Book(const Book& x)
{
    strcpy(name, x.name);
    strcpy(author, x.author);
    sale = x.sale;
}
void Book::Print()
{
    cout << "Name: " << name << ", Author: " << author << ", Sale: " << sale << endl;
}
Book::~Book(){}

218-3

惊喜,6.27看6.23写的觉得这题写的挺好

using namespace std;
Rectangle::Rectangle(double Length, double Width)
{
	length = Length;
	width = Width;
}
double Rectangle::Area()
{
	return length * width;
}
double Rectangle::Perimeter()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值