1.函数重载编程练习编写重载函数add(),实现对int型,double型,Complex型数据的加法

#include<iostream>
using namespace std;
struct complex{
double real;
double imaginary;
};
int add(int,int);
double add(double, double);
complex add(complex, complex);
int main(){
int x;
double y;
complex z;
int a,b;
cout<<"请输入两个整数:"<<endl;
cin>>a>>b;
x=add(a,b);
cout<<"整数之和为:"<<x<<endl;
double c,d;
cout<<"请输入两个double型数:"<<endl;
cin>>c>>d;
y=add(c,d);
cout<<"double类型之和为:"<<y<<endl;
complex e,f;
cout<<"请输入两个复数的实部虚部"<<endl;
cin>>e.real>>e.imaginary>>f.real>>f.imaginary;
z=add(e,f);
cout<<"复数之和为:"<<z.real<<"+"<<z.imaginary<<"i"<<endl;
return ;
}
int add(int a,int b)
{
return (a+b);
}
double add(double a,double b)
{
return (a+b);
}
complex add(complex a,complex b)
{
complex c;
c.real=a.real+b.real;
c.imaginary=a.imaginary+b.imaginary;
return c;
}

2.编写实现快速排序函数模板,并在main()函数中,定义不同类型数据,调用测试。

#include<iostream>
using namespace std;
void QuickSort(double ar[], int left ,int right)

{
if(left<right)
{
int i = left;
int j = right;
double x = ar[i];
while(i<j)
{
while(i<j&&ar[j]>x)
j--;
if(i<j)
{
ar[i] = ar[j];
i++;
}
while(i<j&&ar[i]<x)
i++;
if(i<j)
{
ar[j] = ar[i];
j--;
}
}
ar[i] = x;
QuickSort(ar, left, i-1);
QuickSort(ar, i+1, right);
}
}
int main()
{
int n = 10 ;
double ar[]={5,78,45,67,45,55,24,89,54,9};
int i;
cout<<"排序前的数为:";
for(i=0;i<n;++i)
cout<<ar[i]<<' ';
cout<<endl;
QuickSort(ar,0,n-1);
cout<<"排序后的数为: ";
for(i=0;i<n;++i)
cout<<ar[i]<<' ';
cout<<endl;
return 0;
}

3.写一个处理用户信息的类,可以打印信息,支持修改密码。

#include <iostream>
#include <string>
using namespace std;
class user
{public:
void setInfo(string name0,string password0="",string email0=" ");
void changePassword();
void printInfo();
private:
string name;
string password;
string email;
}; void user::setInfo(string name0,string password0,string email0)
{name=name0;
password=password0;
email=email0;
} void user::changePassword()
{string old;
int i=;
cout<<"请输入原密码:"<<endl;
cin>>old;
while (old!=password && i<)
{i++;
cout<<"错误,请重新输入:"<<endl;
cin>>old;
}
if(old==password)
{cout<<"请输入新密码:"<<endl;
cin>>password;
}
else if(i=)
cout<<"请稍后再试"<<endl;
} void user::printInfo ()
{cout<<"name :"<<name<<endl;
cout<<"passwd : ******"<<endl;
cout<<"email :"<<email<<endl;
} int main()
{user user1;
user1.setInfo("Leonard");
user1.printInfo();
user1.changePassword();
user1.printInfo();
cout<<endl;
user user2;
user2.setInfo("Jonny","","xyz@hotmail.com");
user2.printInfo();
return ;
}

c++实验二的更多相关文章

  1. 20145215&20145307《信息安全系统设计基础》实验二 固件设计

    20145215&20145307<信息安全系统设计基础>实验二 固件设计 实验目的与要求 了解多线程程序设计的基本原理,学习 pthread 库函数的使用. 了解在 linux ...

  2. FPGA与simulink联合实时环路系列——实验二LED

    实验二LED 实验内容 在实验一的基础上,将simulink产生的测试信号输出到FPGA开发板上的LED灯进行显示,这里要在生成的硬件模型上进行修改,将传送到FPGA的信号输出到8个LED灯上,并且对 ...

  3. 20145204&20145212信息安全系统实验二

    20145204&20145212信息安全系统实验二 链接

  4. 20145204&20145212实验二报告

    实验二固件设计 步骤: 1.开发环境的配置,参考实验一 1.将实验代码拷贝到共享文件夹中. 2.在虚拟机中编译代码.对于多线程相关的代码,编译时需要加-lpthread的库.下载调试在超级终端中运行可 ...

  5. 20145215实验二 Java面向对象程序设计

    一.实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设计模式 二.实验步骤 (一)单元测试 (1)三种代码 伪代码: ...

  6. 实验二 用C语言表示进程的调度

    实验二 一. 实验目的 通过模拟进程的调度,进一步了解进程的调度的具体过程. 二. 实验内容和要求 1.进程PCB的结构体定义 2.定义队列 3.输入进程序列 4.排序(按到位时间) 5.输出进程运行 ...

  7. 20145218&20145240 《信息安全系统设计基础》实验二 固件设计

    20145218&20145240 <信息安全系统设计基础>实验二 固件设计 实验报告链接:http://www.cnblogs.com/20145240lsj/p/6035512 ...

  8. 实验二 Java面向对象程序设计

    实验二 Java面向对象程序设计 实验内容 1. 初步掌握单元测试和TDD 2. 理解并掌握面向对象三要素:封装.继承.多态 3. 初步掌握UML建模 4. 熟悉S.O.L.I.D原则 5. 了解设计 ...

  9. 实验二 PHP基本语法实验

    实验二 PHP基本语法实验 0 实验准备 0.1实验环境和相关工具软件 具体到的机房环境,请在Windowsxp环境下做本实验: l  操作系统:Windowsxp l  Web服务器:Apache ...

  10. 20145213《Java程序设计》实验二Java面向对象程序设计实验报告

    20145213<Java程序设计>实验二Java面向对象程序设计实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装,继承,多态 初步掌握UML建模 熟悉S.O. ...

随机推荐

  1. Sping 里面的适配器模式的实现

    适配器模式----------设计模式最近在看SpringMVC源码,从中看到了比较优秀的设计模式所以来分享下. 1.适配器模式(Adapter):将一个类的接口转换成客户希望的另外一个接口,Adap ...

  2. 移动端rem与px适应js

    方法一: (function (doc, win) { var docEl = doc.documentElement, resizeEvt = "orientationchange&quo ...

  3. 最优的路线(floyd最小环)

    问题描述 学校里面有N个景点.两个景点之间可能直接有道路相连,用Dist[I,J]表示它的长度:否则它们之间没有直接的道路相连.这里所说的道路是没有规定方向的,也就是说,如果从I到J有直接的道路,那么 ...

  4. Lesson 2-3(字符串)

    2.5 字符串 --- 字符串是不可变的. >>> str = "Hello world!" >>> str[-6:-1] = "py ...

  5. Unity中锚点的动态设置

    问题背景 在做签到系统时,需求给的效果图如下 效果图像这样,中间是模型,周围其他是签到框这样的布局,我想动态生成各个动态框,涉及到一个定位问题,锚点的设置(动态去设置每个item的位置) 实现方法 S ...

  6. Nginx 中利用 Lua 脚本做访问控制

    使用场景 需要在后端服务之前做访问控制,或没有后端服务的场景,如静态文件. 实验环境 Ubuntu 14.04 Nginx 1.4.6 安装 Lua 运行环境 sudo apt-get install ...

  7. python-os创建文件夹-create_dir_if_not_exist.py

    #!/bin/usr/env python3 __author__ = 'nxz' import os import argparse MESSAGE = '%s 文件夹已经存在' def creat ...

  8. 3. ORACLE DATAGUARD 进程

    欢迎指正与讨论. 3.1 主库 LNS LNS:一般理解为log network serviceLNS 进程负责将主库redo传输到备库.在11gR1及之前版本进程命名为LNSn,其负责ASYNC和S ...

  9. [原创]Vivado SDK Initializing s/w repositories不动

    21:56:16 INFO : Launching XSDB server: xsdb.bat C:/Xilinx/SDK/2015.4/scripts/xsdb/xsdb/xsdb-server.t ...

  10. Unity引擎相关知识UnityKnowledgeHyperlink

    请简述Unity中的四种坐标系 http://liuqingwen.me/blog/2017/07/31/understanding-coordinate-system-in-unity3d/