实验二

1.0

#include<iostream>
#include<complex>
using namespace std;
typedef complex<double>number;
struct complex{
    double real;
    double imaginary;
};
int add(int x,int y)
{return x+y;
}
double add(double x,double y)
{return x+y;
}
number add(number x,number y)
{return x+y;
}
int main() 
{int a,b;
 double c,d,e,f;
 cin>>a>>b>>c>>d>>e>>f;
 number g1(c,d),g2(e,f);
 cout<<add(a,b)<<endl;
 cout<<add(c,d)<<endl;
 cout<<add(g1,g2)<<endl;
 return 0;
}

实验二

2.0

#include<iostream>
using namespace std;
template<class s> 
s partition(s x[],int a,int b)
{s key;
 key=x[a];
 while(a<b)
 { while(a<b&&x[b]>=key)
   b--;
   if(a<b)
   x[a++] = x[b];
   while(a<b&&x[a]<=key)
   a++;
   if(a<b)
   x[b--]=x[a];
 }
 x[a]=key;
 return a;
}
template<class s>
void quick_sort(s x[],int start,int end)
{ int p;
  if (start<end)
   { p=partition(x,start,end);
     quick_sort(x,start,p-1);
     quick_sort(x,p+1,end);
   }
}
int main()
{int i;
 int x[6]={1,90,20,60,40,70};
 double y[5]={1.9,1.2,2.8,6.1,1.1};
 cout<<"排序前:\n";
 for(i=0;i<6;i++)
 cout<<x[i]<<" ";
 quick_sort(x,0,5);
 cout<<"\n排序后:\n";
 for(i=0; i<6; i++)
 cout<<x[i]<<" ";
 cout<<"\n排序前\n";
 for(i=0;i<5;i++)
 cout<<y[i]<<" ";
 quick_sort(y,0,4);
 cout<<"\n排序后\n";
 for(i=0;i<5;i++)
 cout<<y[i]<<" ";
 return 0;
}

实验二

 

实验二

 

 

3.0

#include<iostream>
#include<string> 
using namespace std;
class user{
 public:
     user(){};
     void setInfo(string name,string passwd="111111",string email="");
     void changepasswd();
     void printInfo();
 private:
     string name;
     string passwd;
     string email;
};
void user::setInfo(string names,string passwds,string emails)
{  name=names;
   passwd=passwds;
   email=emails;
}
void user::changepasswd()
{int a=1;
 string passwds;
 cout<<"请输入旧密码;\n";
 cin>>passwds;
 while(passwds!=passwd)
 {cout<<"密码错误,请重新输入:\n";
  a++;
  cin>>passwds;
  if(a>3)
  cout<<"您已连续输入错误三次,请稍后尝试!\n";
 }
 cout<<"请输入新密码:\n";
 cin>>passwds;
 passwd=passwds;
}
void user::printInfo()
{cout<<"name:"<<name<<endl;
 cout<<"passwd:"<<passwd<<endl;
 cout<<"email:"<<email<<endl;
}
int main()
{cout<<"testing1……"<<endl;
  user user1;    
  user1.setInfo("Leonard");  
  user1.printInfo(); 
  user1.changepasswd(); 
  user1.printInfo();
  cout<<endl<<"testing2……"<<endl<<endl;
  user user2;
  user2.setInfo("Hww","123456","[email protected]"); 
  user2.printInfo(); 
  return 0;
}

实验二

实验总结:

程序一:有了一个对complex大概的了解;

程序二:对快速排序不是很熟悉,参考了其他同学的程序;

程序三:用了老师给的框架,然后自己又去找了一些资料

总的来说就是程序二和程序三有点难,我会去好好的学习,然后把自己的最后程序答案给修改上去。

 

 

实验一评论

https://www.cnblogs.com/syf1/p/10561928.html

https://www.cnblogs.com/wangyun1998/p/10555491.html

https://www.cnblogs.com/hi-ypy/p/10562366.html