面向对象程序设计-第二章

简介: 面向对象程序设计-第二章

复数类

问题描述

image.png


样例输入

3 3 4 -3

样例输出

c1:3+3i
c2:4-3i
c3:7

代码

main.cpp

#include"Complex.h"
#include<iostream>
using namespace std;
int main()
{
  float a, b, c, d;
  cin >> a >> b >> c >> d;
  Complex c1(a,b), c2(c,d),c3(0,0);
  c3 = c1.add(c2);
  cout << "c1:";
  c1.show();
  cout << "c2:";
  c2.show();
  cout << "c3:";
  c3.show();
  return 0;
}

Complex.h

#include<iostream>
using namespace std;
class Complex
{
private:
  float real;
  float imag;
public:
  Complex(float r = 0.0, float i = 0.0);
  Complex add(const Complex& t);
  void show();
};

Complex.cpp

#include "Complex.h"
using namespace std;
void Complex::show()
{
  cout << real;
  if (imag != 0)
  {
    if (imag > 0)
      cout << "+";
    else;
    cout << imag << "i"<<endl;
  }
  else
    cout << endl;
}
Complex::Complex(float r, float i)
{
  real = r;
  imag = i;
}
Complex Complex::add(const Complex &t)
{
  Complex t1(0,0);
  t1.real = real + t.real;
  t1.imag = imag + t.imag;
  return t1;
}

编写程序,实现动态顺序表

编写程序,实现动态顺序表

#include <iostream>
using namespace std;
class myArrayList
{
public:
  myArrayList(int size=0);
  //myArrayList(const myArrayList &t);
  ~myArrayList(void);
  void Input(int n);
  void Output();
  void SortBySelect();//选择排序
  void Append(int num);//在最后插入一个数num
private:
  int *m_arr;
  int m_size;
  int m_len;
};
myArrayList::myArrayList(int size)
{
  if (size > 0)
  {
    this->m_arr = new int[size];
    this->m_size = size;
    this->m_len = 0;
    for (int i = 0; i < this->m_size; i++)
    {
      m_arr[i] = 0;
    }
  }
  else
  {
    m_arr = nullptr;
    m_size = 0;
    m_len = 0;
  }
}
void myArrayList::Append(int t)
{
  if (m_len < m_size)
  {
    m_arr[m_len] = t;
    m_len++;
  }
}
void myArrayList::SortBySelect()
{
  int i, j,t;
  for (i = 0; i < m_len; i++)
  {
    for (j = 0; j < m_len - i-1; j++)
    {
      if (m_arr[j] > m_arr[j + 1])
      {
        t = m_arr[j];
        m_arr[j] = m_arr[j + 1];
        m_arr[j + 1] = t;
      }
    }
  }
}
myArrayList::~myArrayList(void)
{
  delete[]m_arr;
}
void myArrayList::Input(int n)
{
  this->m_len=n;
  for(int i=0;i<this->m_len;i++)
    cin>>this->m_arr[i];
}
void myArrayList::Output()
{
  cout<<endl;
  for(int i=0;i<this->m_len;i++)
    cout<<this->m_arr[i]<<"  ";
    cout<<endl;
}
int main()
{
  myArrayList list1(20);
  list1.Input(5);
  list1.SortBySelect();
  list1.Output();
  list1.Append(8);
  list1.Output();
  //myArrayList list2(list1);
  list1.Output();
}


目录
相关文章
|
6月前
|
存储 算法 Java
程序员必知:基本程序设计
程序员必知:基本程序设计
32 0
|
7月前
|
Python
程序设计 (2)
程序设计 (2)
31 0
|
架构师 程序员 Android开发
35岁以上程序员都去哪里了?
人这一辈子没法做太多的事情,所以每一件都要做得精彩绝伦。 你的时间有限,所以不要为别人而活。不要被教条所限,不要活在别人的观念里。不要让别人的意见左右自己内心的声音。 最重要的是,勇敢的去追随自己的心灵和直觉,只有自己的心灵和直觉才知道你自己的真实想法,其他一切都是次要。 身边好几个年轻的同事都在说房价,很多人抱怨房价太高了买不起怎么办好迷茫…
35岁以上程序员都去哪里了?
|
前端开发 程序员
如何成为一个牛逼的程序员
“成为一个杰出的程序员!”,每个程序员都是这么想的,虽然嘴上不说!这是一个人人自称“屌丝”,骨子里却都认为自己是“高富帅”(或者认为自己终究会成为高富帅)的年代! 大部分时候,我们一直在努力成为一名优秀的程序员。
1212 1
|
程序员
我是如何从煤矿工成为程序员的
译文出自:外刊IT评论
736 0
|
程序员 测试技术 开发工具
做一个有品位的程序员
参见百湖培训之前,华为的一个小伙伴发现了Git实现的一个 Bug,给我发了一个 Pull Request,让我审核以及代发到 Git 社区。不用看代码,只看 Pull Request 的说明,我相信大家就可以闻到这是一个好代码,写代码的人有品味。 参见:https://github.com/jiangxin/git/pull/25 —— 问:“能够写出正确代码的程序员就是有品味的程序员
1135 0
|
架构师 Java 程序员
我女朋友是个程序员
呃。。。开新坑了。神秘的程序员和他/她的家属们的日常系列。这个系列主要是一些比较轻松的中短篇幅故事。 说到这里,也给大家推荐一个架构交流学习群:614478470,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。
960 0
|
程序员 C# 数据库
成为一个程序员的准备
1、 程序员意味着要编程序。(如果你仅仅想得到一份高薪水的工作,喝喝咖啡就等老板发薪水,我奉劝你还是另找一份更合适的工作,譬如练摊,真的,兄弟,这份工作不适合你) 2、你是学文的还是学理的,编程序也许需要浪漫,但更需要逻辑和严谨。
1392 0
程序员常用开发工具配置,给自己留一手!
MyEclipse 新工作空间设置 设置编辑字体和大小 默认的样子很难看,特别中文字将很小 修改为:Courier New字体,字体大小9、10都行,根据自己喜欢。
1078 0
下一篇
DataWorks