实验2
函数重载练习程序
#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 a=5,b=8; double c=2.5,d=7.63; complex s1,s2; s1.real=4.11; s1.imaginary=5.3; s2.real=7.3; s2.imaginary=2.6; cout<<add(a,b)<<endl; cout<<add(c,d)<<endl; cout<<add(s1,s2).real<<"+"<<add(s1,s2).imaginary<<"i"<<endl; return 0; } int add(int x,int y) { return x+y; } double add(double x,double y) { return x+y; } complex add(complex x,complex y) { complex s3; s3.real=x.real+y.real; s3.imaginary=(x.imaginary+y.imaginary); return s3; }

快速排序函数
#include <iostream> #include <iomanip> using namespace std; void Quicksort(int a[],int left,int right); int partition(int a[], int left, int right); int main(){ int i; int a[10]; cout<<"请输入10个整型数 "<<endl; for(i=0;i<10;i++) cin>>a[i]; Quicksort(a,0,9); for(i=0;i<=9;i++) cout<<a[i]<<setw(3); cout<<endl; return 0; } int partition(int a[], int left, int right) { int i=left+1; int j=right; int temp=a[left]; while(i<=j) { while (a[i]<temp) { i++; } while (a[j]>temp ) { j--; } if (i<j) swap(a[i++],a[j--]); else i++; } swap(a[j],a[left]); return j; } void Quicksort(int a[],int left,int right) { int j; if (left>right) return; j=partition(a,left,right); Quicksort(a,left,j-1); Quicksort(a,j+1, right); }

类的定义、实现和使用编程
#include<iostream> #include<cstring> #include<string> using namespace std; class User { public: void setInfo(string name1 , string passwd1 , string email1); int setInfo(string name1); void changePasswd(); void printInfo(); private: string name; string passwd; string email; }; void User::setInfo(string name1 , string passwd1 , string email1) { name.assign(name1); passwd.assign(passwd1); email.assign(email1); } int User::setInfo(string name1) { name.assign(name1); email.assign(""); passwd.assign("000000"); return 0; } void User::changePasswd() { string old_ps; string passwd1; cout<<"请输入原始密码: "<<endl; cin>>old_ps; int n = 1; while(old_ps != passwd) { if(n < 3) { cout<<"密码错误,请重新输入密码"<<endl; cin>>old_ps; n++; } else { cout<<"已输错三次,请稍后再试"<<endl; return; } } cout<<"请输入你新的密码: "<<endl; cin>>passwd1; passwd.assign(passwd1); return; } void User::printInfo() { cout<<"用户名为: "<<name<<endl; cout<<"密码为: "<<"******"<<endl; cout<<"邮箱为: "<<email<<endl; return; } int main() { cout<<"testing 1......"<<endl; User user1; user1.setInfo("Airlies"); user1.printInfo(); user1.changePasswd(); user1.printInfo(); cout<<endl<<"testing 2......"<<endl<<endl; User user2; user2.setInfo("Airlies" , "558742" , "123456@qq.com"); user2.printInfo(); return 0; }

实验总结:
对于快速排序不太掌握,参考了网上的资料。程序二以及程序三有难度,依靠老师给的框架也难有进度,结合资料才勉强完成,会继续努力。
浙公网安备 33010602011771号