c++实验二
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++实验二的更多相关文章
- 20145215&20145307《信息安全系统设计基础》实验二 固件设计
20145215&20145307<信息安全系统设计基础>实验二 固件设计 实验目的与要求 了解多线程程序设计的基本原理,学习 pthread 库函数的使用. 了解在 linux ...
- FPGA与simulink联合实时环路系列——实验二LED
实验二LED 实验内容 在实验一的基础上,将simulink产生的测试信号输出到FPGA开发板上的LED灯进行显示,这里要在生成的硬件模型上进行修改,将传送到FPGA的信号输出到8个LED灯上,并且对 ...
- 20145204&20145212信息安全系统实验二
20145204&20145212信息安全系统实验二 链接
- 20145204&20145212实验二报告
实验二固件设计 步骤: 1.开发环境的配置,参考实验一 1.将实验代码拷贝到共享文件夹中. 2.在虚拟机中编译代码.对于多线程相关的代码,编译时需要加-lpthread的库.下载调试在超级终端中运行可 ...
- 20145215实验二 Java面向对象程序设计
一.实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设计模式 二.实验步骤 (一)单元测试 (1)三种代码 伪代码: ...
- 实验二 用C语言表示进程的调度
实验二 一. 实验目的 通过模拟进程的调度,进一步了解进程的调度的具体过程. 二. 实验内容和要求 1.进程PCB的结构体定义 2.定义队列 3.输入进程序列 4.排序(按到位时间) 5.输出进程运行 ...
- 20145218&20145240 《信息安全系统设计基础》实验二 固件设计
20145218&20145240 <信息安全系统设计基础>实验二 固件设计 实验报告链接:http://www.cnblogs.com/20145240lsj/p/6035512 ...
- 实验二 Java面向对象程序设计
实验二 Java面向对象程序设计 实验内容 1. 初步掌握单元测试和TDD 2. 理解并掌握面向对象三要素:封装.继承.多态 3. 初步掌握UML建模 4. 熟悉S.O.L.I.D原则 5. 了解设计 ...
- 实验二 PHP基本语法实验
实验二 PHP基本语法实验 0 实验准备 0.1实验环境和相关工具软件 具体到的机房环境,请在Windowsxp环境下做本实验: l 操作系统:Windowsxp l Web服务器:Apache ...
- 20145213《Java程序设计》实验二Java面向对象程序设计实验报告
20145213<Java程序设计>实验二Java面向对象程序设计实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装,继承,多态 初步掌握UML建模 熟悉S.O. ...
随机推荐
- mac 终端里进入mysql和退出
先在偏好设置里启动mysql服务 获取超级权限 在终端输入代码 sudo su 输入完后获取超级权限 终端显示 sh-3.2# 输入本机密码(Apple ID密码) 接着通过绝对路径登陆 代码 /us ...
- 网站robots.txt & sitemap.xml
1. 如何查看网站的robots.txt 网址/robots.txt, 比如小米 https://www.mi.com/robots.txt sitemap.xml
- json中的json.dumps()
Json简介 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于JavaScript(Standard ECMA-262 3rd Edition - ...
- springboot接口访问权限AOP实现
场景 现在有个系统,很多接口只需要登录就可以访问,但是有些接口需要授予并验证权限.如果用注解controller的方式控制接口的权限呢? 1.注解声明代码 这个注解是要装饰在controller接口上 ...
- Java定时清理过期文件
项目中经常需要自动定时去清理一些过期文件,这个其实Java实现挺简单的,核心部分就2个,一个定时任务,一个递归删除文件,不过前提是你的文件放在以“2018-12-05”这样命名的文件夹下,下面直接上核 ...
- 如果想让某个块状元素右对齐,脑子里不要就一个float:right,很多时候,margin-left:auto才是最佳的实践
- Python——函数,模块,简单文件读写
函数(function)定义原则: 最大化代码重用,最小化代码冗余,流程符合思维逻辑,少用递归; 函数的定义方法: def function_name(param_1, param_2): ..... ...
- newSoft
Email:kefu007@vip.qq.com CADソフト Siemens PLM NX 1847 (64ビット) 日本語版 KeyCreator Ver.15.5 (64ビット)日本語版 MYP ...
- Day05(fianl、抽象类、接口)
final关键字修饰的类不能被继承.修改,修饰的方法不能被子类覆盖,修饰的变量(是常量)不能被修改. 抽象类:abstract关键字定义的类 继承树中越是在上方的类越抽象,在解决实际问题时,通常将父类 ...
- 两个fragment之间简单的跳转
1.在第一个fragment中开启事务,设置标记 Toast.makeText(getActivity(), "切换到下一个fragment中", Toast.LENGTH_SHO ...