diff --git a/Student.cpp b/Student.cpp new file mode 100644 index 00000000..b1fa2300 --- /dev/null +++ b/Student.cpp @@ -0,0 +1,83 @@ +#include +#include +#include +#include +#define N 5 + + + std::string Mike[]={"Mike Barnes","Male","1","4.0",}; + std::string Jim[]={"Jim Nickerson","Male","2","3.0",}; + std::string Jack[]={"Jack Indabox","Male","3","2.5",}; + std::string Jane[]={"Jane Miller","Female","4","3.6",}; + std::string Mary[]={"Mary Scott","Female","4","2.7",}; +/*struct STUDENT +{ + std::string name; + std::string sex; + int grade; + float gpa; +}stu1; +STUDENT students[N] +{ + NAME[0],SEX[0],1,4.0, + NAME[1],SEX[0],2,3.0, + NAME[2],SEX[0],3,2.5, + NAME[3],SEX[1],4,3.6, + NAME[4],SEX[1],4,2.7, +};*/ + +class Student +{ + private: + std::string name; + std::string sex; + int grade; + double gpa; + + public: + Student(std::string str[]) + { + name=str[0]; + sex=str[1]; + grade=std::stoi(str[2]); + gpa=std::stod(str[3]); + } + ~Student() + { + + } + void show_myself() + { + std::cout<4.0? 4.0: gpa; + } +}; + +int main() +{ + Student student1(Mike); + Student student2(Jim); + Student student3(Jack); + Student student4(Jane); + Student student5(Mary); + Student students[N]={student1,student2,student3,student4,student5}; + for(int i=0;i +#include +class SuperPrime +{ + private: + int LowLimit,HighLimit; + public: + SuperPrime(int a,int b) + { + LowLimit=a; + HighLimit=b; + } + ~SuperPrime() + { -int main() { - return 0; -} + } + void FindSP(int*p) + { + IsSPrime(p); + } + void IsSPrime(int *r) + { + for(int i=LowLimit;i<=HighLimit;i++) + { + int j; + for(j=2;j #include +#include +using namespace std; + class Nature { private: int num; public: Nature():num(0){ - std::cout << "Default Create Nature as " << num << std::endl; + //std::cout << "Default Create Nature as " << num << std::endl; } Nature(int n):num(n) { - std::cout << "Create Nature as " << num << std::endl; + //std::cout << "Create Nature as " << num << std::endl; } Nature(const Nature &nat):num(nat.num){ - std::cout << "Copy Create Nature as " << num << std::endl; + //std::cout << "Copy Create Nature as " << num << std::endl; } ~Nature() { - std::cout << "Destroy Nature as " << num << std::endl; + //std::cout << "Destroy Nature as " << num << std::endl; } bool isPrime() { if(num == 1 || num == 0) @@ -34,61 +37,111 @@ class Nature { return -1; } -private: + int sum(const Nature &nat){ + return num+=nat.num; + } }; -class SuperPrime : public Nature { + +class SuperPrime : public Nature { //继承 private: int num; public: SuperPrime(int n):num(n) { } - bool isPrime() { - Nature nat(num); - return nat.isPrime(); - } - int compare(const SuperPrime &nat) { + bool isSuperPrime() { + Nature nat(num),nat1(0),nat2(0),nat3(0); + operation(nat1,nat2,nat3); + if(nat.isPrime()&&nat1.isPrime()&&nat2.isPrime()&&nat3.isPrime()) + { + return true; + } + else + { + return false; + } + } + /*int compare(const SuperPrime &nat) { if (num > nat.num) return 1; else if(num == nat.num) return 0; return -1; + }*/ + void operation(Nature nat1,Nature nat2,Nature nat3) + { + int number[3]; + for(int ni=0;ni<3;ni++) + { + number[ni]=num%10; + num=num/10; + } + int NumberSum=number[0]+number[1]+number[2]; + nat1=NumberSum; + int NumberMult=number[0]*number[1]*number[2]; + nat2=NumberMult; + int NumberSqrt=number[0]*number[0]+number[1]*number[1]+number[2]*number[2]; + nat3=NumberSqrt; + } + void out() + { + cout< natures; public: Container(int a, int b) { - std::cout << "Create SuperPrime from " << a << " to " << b << std::endl; + //std::cout << "Create SuperPrime from " << a << " to " << b << std::endl; for(int i = a; i < b; i++) { SuperPrime nat(i); - std::cout << "HAHA" << std::endl; + //std::cout << "HAHA" << std::endl; if(nat.isSuperPrime()) natures.push_back(nat); - std::cout << "DDDDD" << std::endl; - } + //std::cout << "DDDDD" << std::endl; + } } ~Container() { std::cout << "Destroy SuperPrime " << std::endl; } SuperPrime max() { - std::vector::iterate it = natures.begin(); - Nature max(0); + std::vector::iterator it = natures.begin(); + SuperPrime max(0); for(; it != natures.end(); it ++) { if (max.compare(*it)) { max = *it; } - } + } return max; } + SuperPrime sum() + { + std::vector::iterator it = natures.begin(); + SuperPrime sum(0); + for(; it != natures.end(); it ++) { + sum.sum(*it); + } + return sum; + } + SuperPrime total() + { + return natures.size(); + } }; int main() { - SuperPrime sp(10, 13); - Nature n = sp.max(); - std::cout << "��󳬼�������" ; - n.show(); - + Container sp(100,999); + SuperPrime max=sp.max(),sum=sp.sum(),total=sp.total(); + std::cout <<"The Total Of Super Prime:"; + total.out(); + cout<