首页 > 代码库 > 相识到爱的不可自拔的过程(学年总结)

相识到爱的不可自拔的过程(学年总结)

那一年,我在懵懂好奇中选择了你

于是盼望者,期待者,焦急者

时刻梦幻与你的相遇画面

憧憬着我们在一起的未来

于是,那一年,我们第一次相识

缘于文武双全的媒人Mr‘贺(私下我们称 老贺)
于是我们的故事展开了
开始的开始
简单的邂逅"Hello Word"
一见钟情
于是,那一年,有了我对你的第一次表白
过程是这样的:
#include <iostream>
using namespace std;
int main()
{
     int i,j;
     i=1;
     while(i<=7)
    {
         for(j=1;j<=2*i-1;++j)
         cout<<"^";
         cout<<endl;
         ++i;
     }
     cout<<endl;
     cout<<"C++我薛某来了"<<endl;
     return 0;
}
感觉好神奇,好牛的样子(自恋下)

于是,那一年我成为了你后宫中的一猿

每天你有滑稽的"swith"选择

#include <iostream>

using namespace std;

int main()
{
     int t,x,y;
	 cin>>x;
	 t=(x<2)+(x<6)+(x<10);
	 switch(t)
     {
	 case 0:y=-x*x-1;break;
	 case 1:y=-x;break;
	 case 2:y=x*x+1;break;
	 case 3:y=x;break;
	 }
	 cout<<y<<endl;
     return 0;
}


有时你会调皮

让我陷入不能自已的"繁琐"

于是,我们的感情出现问题

那一年我抓耳挠腮

可我没有放弃

找到了for, while,do while帮忙

#include<iostream>
using namespace std;
int main()
//求Sn=a+aa+aaa+……+aa……a的值,其中a和n通过键盘输入
{
	int a,n,sum=0,sn=0;
	cout<<"请输入a和n的值:"<<endl;
	cin>>a>>n;
	for(int i=1;i<=n;i++)
	{
		sum=sum*10+a;
		sn+=sum;

	}
	cout<<"sn=a+aa+aaa+.....+aa....a(n个a)="<<sn<<endl;
	return 0;

}



由于你的魅力无与伦比

于是,那一年,我知道你有很多追求者

并且知道你分了组

美其名曰 “数组”

并且在其中时刻做着

冒泡 选择 排序
<a>/*@Class</a>计134~4
*@Author:薛富磊
*@Time:2013-11-28
*@Function: 自定义冒泡函数排序
*@Args:
*@Return:
*/

#include<iostream>
using namespace std;
void bubble_sort(int a[]);           //声明自定义函数
int main()                            //主函数
{
    int b[20]={86,76,62,58,77,85,92,80,96,88,77,67,80,68,88,87,64,59,61,76};
    bubble_sort(b);                 //调用自定义函数
    for(int i=0;i<20;i++)
    cout<<b[i]<<" ";

}
void bubble_sort(int a[])         //定义冒泡排序函数
{
    for(int j=0;j<20;j++)
    {
        for(int t,i=0;i<20-j;i++)
        {
            if(a[i]>a[i+1])
            {
                t=a[i];             //两个值之间的调换
                a[i]=a[i+1];
                a[i+1]=t;
            }
        }
    }
    return;
}


#include<iostream>
using namespace std;
void bubble_sort(int a[],int n);           //声明自定义函数
int main()                            //主函数
{
    int b[20]={86,76,62,58,77,85,92,80,96,88,77,67,80,68,88,87,64,59,61,76};
    bubble_sort(b,20);                 //调用自定义函数
    for(int i=0;i<20;i++)
    cout<<b[i]<<" ";

}
void bubble_sort(int a[],int n)         //定义选择排序函数
{
    for(int k,j=0;j<n-1;j++)
    {
        k=j;                        //设第一个数最小
        for(int t,i=0;i<n;i++)
        {
            if(a[i]>a[k])
              k=i;                 //循环k最小
            t=a[k];             //两个值之间的调换
            a[k]=a[j];
            a[j]=t;

        }
    }
    return;
}



所以,那一年我用文件处理记录着

我们发生的一切

/*@Class</A>计134~4
*@Author:薛富磊
*@Time:2013-11-30
*@Function: 文件english.dat中已经有了学生成绩数据,求平均成绩 优秀和不及格人数;
*@Args:
*@Return:
*/

#include<fstream>               //处理文件要包括头文件
#include<iostream>
#include<cstdlib>                //调用exit(1)需要包含cstdlib
using namespace std;
int main()
{
   double null,ave,sum=0;           //null成绩 ave平均成绩 sum成绩和
   int whiz=0,fail=0,i=0;           //whiz优秀 fail不及格人数
   ifstream infile("english.dat",ios::in);         //以输入的方式(ios::in)打开文件,注意english.dat必须在文件夹中存在;
   if(!infile)                                    //测试是否成功打开,打开失败时(如果读的数据文件不存在)退出;   
   {   
       cerr<<"open error!/n";
       exit(1);
   }
    //下面读取数据并完成出路,若数据需要多次使用,可以读到数组中;
  while(infile>>null)                         //当到达文件尾,则循环处理结束。类似cin>>null,只不过数据来源于打开的文件
   {
       cout<<"请输入学号为"<<i<<"的英语成绩:";
       cin>>null;
       if(null>=90)
        whiz++;
       if(null<=60)
        fail++;
       sum+=null;
       i++;
   }
   infile.close();                         //读入完毕要关闭文件 否则会丢失数据
   ave=sum/10;
   cout<<"优秀人数:"<<whiz<<endl;                  //输出结果
   cout<<"不及格人数:"<<fail<<endl;
   cout<<"平均成绩:"<<ave<<endl;
    return 0;
}

随着时间的流逝

你也不迷茫了

于是创作了 结构体

剖析一切

/*Univercity:烟台大学
*@Class</A>计134~4
*@Author:薛富磊
*@Time:2013-12-11
*@Function:结构体的运用 写入成绩 计算总成绩 均分

 *@Args:
*@Return:


*/
#include <iostream>
using namespace std;
struct Student
{
   char num[13];
   char name[10];
   int cpp;
   int math;
   int english;
   int grade;
   double average;
};
const int N=3;
int main( )
{
   int i, k=0;
   cout<<"请输入学号、姓名、C++、高数、英语成绩:\n";
   //定义结构体数组
   Student stu[N];
   //写出代码,实现要求的功能
   for(i=0;i<N;i++)
   {
       cin>>stu[i].num;
       cin>>stu[i].name;
       cin>>stu[i].cpp;
       cin>>stu[i].math;
       cin>>stu[i].english;
       stu[i].grade=stu[i].cpp+stu[i].math+stu[i].english;
       stu[i].average=stu[i].grade/3;
       k+=stu[i].average;
   }
   cout<<"-----------------------------------\n";
   cout<<"|学号          |姓名   |总分 |均分 |\n";
   for(i=0;i<N;i++)
   {
       cout<<stu[i].num<<"|\t"<<stu[i].name<<"|\t"<<stu[i].grade<<"|\t"<<stu[i].average<<endl;
   }
   cout<<"所有同学均分的均值是:"<<k/N;
   return 0;
}

并且你在时刻进化改变着

分类找对象了

多系发展着

/*Univercity:烟台大学
*@Class</A>计134~4
*@Author:薛富磊
*@Time:2014-4-2
*@Function:回想Engineer类的数据成员,有眼镜、背包等。某Engineer的眼镜、背包,是Glass、Bag类的对象。
类中的数据成员,其类型可以是简单类型,也可以是类.
通过这种方式,将某些类组合到另外的类中,当作其中的一个“部件”使用。
本项目设计一个三角形类,其数据成员不再是三角形三条边的边长,而是三角形的三个顶点。
利用设计的三角形类,输入三角形的三个顶点,求出其面积、周长,并判断其是否为直角三角形和等腰三角形。
*@Args::(1)这个问题需要用到两个类,顶点类参照项目1中的CPoint类;
         (2)三角形类参考下面CTriangle类的声明;
         (3)充分利用CPoint类中已有的代码实现;
         (4)关于三条边的处理,可以增加三个私有属性,在初始化时求出来备用,也可以在需要时计算得到。
*@Return:
*/
#include <iostream>
#include "Header.h"
#include<Cmath>
using namespace std;


int main()
{
    CPoint a,b,c;
    cout<<"请输入三点坐标:";
    a.input();
    b.input();
    c.input();
    cout<<"坐标为:";
    a.output();
    b.output();
    c.output();
    CTriangle t(a,b,c);
    cout<<"三角形的周长:"<<t.perimeter()<<" "<<"面积:"<<t.area()<<endl;
    cout<<"该三角形:";
    if(t.isRightTriangle())
    cout<<"是直角三角形 "<<endl;
    else
    cout<<"不是直角三角形 "<<endl;
    if(t.isIsoscelesTriangle())
    cout<<"         是等腰三角形"<<endl;
    else
    cout<<"         不是等腰三角形"<<endl;
    return 0;
}
NO2:

于是,为了共同目标

我也找到了许多志同道合之友

友元符号重载

/*Univercity:烟台大学
*@Class</A>计134~4
*@Author:薛富磊
*@Time:2014-4-28
*@Function:(1)定义分数的一目运算+和-,分别代表分数取正和求反,
                将“按位取反运算符”~重载为分数的求倒数运算。
           (2)定义分数类中<<和>>运算符重载,实现分数的输入输出,
                改造原程序中对运算结果显示方式,使程序读起来更自然
*@Args:
*@Return:
*/
#include <iostream>
#include<Cmath>
using namespace std;
class CFraction
{
 private:
         int nume;  //分子
         int deno;  //分母
 public:
         CFraction(int nu=0,int de=1):nume(nu),deno(de) {};//de!=0
         void simplify();   //分数化简

        //输入输出的重载
        friend istream &operator>>(istream &cin,CFraction &x);
        friend ostream &operator<<(ostream &cout,CFraction x);

        CFraction operator+(const CFraction &c);  //两个分数相加,结果要化简
        CFraction operator-(const CFraction &c);  //两个分数相减,结果要化简
        CFraction operator*(const CFraction &c);  //两个分数相乘,结果要化简
        CFraction operator/(const CFraction &c);  //两个分数相除,结果要化简
        CFraction operator+();  //取正一目运算
        CFraction operator-();  //取反一目运算
        CFraction operator~();  //取倒数一目运算
        bool operator>(const CFraction &c);
        bool operator<(const CFraction &c);
        bool operator==(const CFraction &c);
        bool operator!=(const CFraction &c);
        bool operator>=(const CFraction &c);
        bool operator<=(const CFraction &c);
};
void CFraction::simplify()
{
    int a,b,c;
    //数学函数:fabs   原型:extern float fabs(float x);   
    //用法:#include <math.h>   功能:求浮点数x的绝对值
    //说明:计算|x|, 当x不为负时返回x,否则返回-x  
    a=fabs(nume);
    b=fabs(deno);
    //求最大公约数
    while(c=a%b)
    {
        a=b;
        b=c;
    }
    nume=nume/b;
    deno=deno/b;
    if(deno<0)
    {
        nume=-nume;
        deno=-deno;
    }
}
//重载运算符"友元"
istream &operator>>(istream &cin,CFraction &x)
{
    char ch;
    while(1)
    {
        cin>>x.nume>>ch>>x.deno;
        if(ch!='/')
        cout<<"输入格式错误,重新输入\n";
        else if(x.deno==0)
        cout<<"分母为0,重新输入\n";
        else break;
    }
   return cin;
}
ostream &operator<<(ostream &cout,CFraction x)
{
    cout<<x.nume<<"/"<<x.deno<<endl;
    return cout;
}
//两个分数相加
CFraction CFraction::operator+(const CFraction &c)
{
    CFraction s;
    s.nume=nume*c.deno+c.nume*deno;
    s.deno=deno*c.deno;
    s.simplify();
    return s;
}
//两个分数相减
CFraction CFraction::operator-(const CFraction &c)
{
    CFraction s;
    s.nume=nume*c.deno-c.nume*deno;
    s.deno=deno*c.deno;
    s.simplify();
    return s;
}
//两个分数相乘
CFraction CFraction::operator*(const CFraction &c)
{
    CFraction s;
    s.nume=nume*c.nume;
    s.deno=deno*c.deno;
    s.simplify();
    return s;
}
//两个分数相除
CFraction CFraction::operator/(const CFraction &c)
{
    CFraction s;
    s.nume=nume*c.deno;
    s.deno=deno*c.nume;
    s.simplify();
    return s;
}
CFraction CFraction::operator+()
{
    return *this;
}
CFraction CFraction::operator-()
{
    CFraction t;
    t.nume=-nume;
    t.deno=deno;
    return t;
}
CFraction CFraction::operator~()
{
    CFraction t;
    t.nume=deno;
    t.deno=nume;
    if(t.deno<0)
    {
        t.deno=-t.deno;
        t.nume=-t.nume;
    }
    return t;
}
bool CFraction::operator>(const CFraction &c)
{
    int a,b;
    a=nume*c.deno;
    b=c.nume*deno;
    if((a-b)>0) return true;
    return false;
}
bool CFraction::operator<(const CFraction &c)
{
    int a,b;
    a=nume*c.deno;
    b=c.nume*deno;
    if ((a-b)<0) return true;
    return false;
}
bool CFraction::operator==(const CFraction &c)
{
    if(*this==c)return true;
    return false;
}
bool CFraction::operator!=(const CFraction &c)
{
    int a,b;
    a=nume*c.deno;
    b=c.nume*deno;
    if ((a-b)!=0) return true;
    return false;
}
bool CFraction::operator>=(const CFraction &c)
{
    if (*this<c) return false;
    return true;
}

// 分数比较大小
bool CFraction::operator<=(const CFraction &c)
{
    if (*this>c) return false;
    return true;
}
int main()
{
    CFraction x,y,z;
    cout<<"输入x: ";
    cin>>x;
    cout<<"输入y: ";
    cin>>y;
    z=x+y;
    cout<<"x+y="<<z<<endl;
    z=x-y;
    cout<<"x-y="<<z<<endl;
    z=x*y;
    cout<<"x*y="<<z<<endl;
    z=x/y;
    cout<<"x/y="<<z<<endl;
    cout<<"-x="<<-x<<endl;
    cout<<"+x="<<+x<<endl;
    cout<<"x的倒数: "<<~x<<endl;
    if (x>y) cout<<x<<"大于"<<y<<endl;
    if (x<y) cout<<x<<"小于"<<y<<endl;
    if (x==y)cout<<x<<"等于"<<y<<endl;
    return 0;
}

那一年后我以为我对你

理解透彻了

我以为我们可以相爱了

可是你却搞基了(基类派生)
/* C++代码 */


#include <iostream>
#include<iomanip>
using namespace std;
class Shape
{
    public:
         void printArea();
};
class Circle:public Shape
{
    private:
         double radius;
    public:
          Circle(double r):radius(r){}
          friend void printArea(Circle);

};
void printArea(Circle c)
          {
              cout<<3.14*c.radius*c.radius<<endl;
          }
class Rectangle:public Shape
{
    private:
          double length,width;
    public:
          Rectangle(double l,double w):length(l),width(w){}
          friend void printArea(Rectangle);

};
void printArea(Rectangle a)
          {
              cout<<a.length*a.width<<endl;
          }
class Triangle:public Shape
{
    private:
          double side,high;
    public:
          Triangle(double s,double h):side(s),high(h){}
          friend void printArea(Triangle);

};
void printArea(Triangle b)
{
              cout<<0.5*b.side*b.high<<endl;
    }
int main()
{
    float r,a,b,w,h;
    cout<<fixed<<setprecision(2);
    cin>>r;
    Circle circle(r);
    cout<<"area of circle = ";
    printArea(circle);
    cin>>a>>b;
    Rectangle rectangle(a,b);
    cout<<"area of rectangle = ";
    printArea(rectangle);
    cin>>w>>h;
    Triangle triangle(w,h);
    cout<<"area of triangle = ";
    printArea(triangle);
    return 0;
}

我才知道我对你一知半解

于是,我迷茫了

可是我并没有放弃过

尽管在追求你的大军中

我是毫不起眼  飘渺

但我毅然为你奋不顾身

去做一个

求索者,奋斗者,无谓者

因为我知道

前途路上有兄弟不孤单





相识到爱的不可自拔的过程(学年总结)