提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
一、题目
二、代码
3
代码如下:
3.#include<iostream>
using namespace std;
class Person
{
private:
char Num[20];
char Name[20];
char Sex;
char Addr[80];
char Tel[11];
char Email[30];
public:
Person(char nu[],char na[],char s,char a[],char t[],char e[])
{
strcpy(Num,nu);
strcpy(Name,na);
Sex=s;
strcpy(Addr,a);
strcpy(Tel,t);
strcpy(Email,e);
}
void OutputIn()
{
cout<<"编号:"<<Num<<'\t'<<"姓名:"<<Name<<'\t'<<"性别:"<<Sex<<'\t'<<"地址:"<<Addr<<'\t'<<"邮箱:"<<Email<<endl;
}
};
class Student:public Person
{
private:
int Math,Physics,Eng,Prog;
public:
Student(char nu[],char na[],char s,char a[],char t[],char e[]):Person(nu,na,s,a,t,e){}
void SetScore(char tag,int score)
{
switch(tag)
{
case 'm':Math=score;break;
case 'p':Physics=score;break;
case 'e':Eng=score;break;
case 'c':Prog=score;break;
}
}
void OutputInfo()
{
OutputIn();
cout<<"成绩:"<<endl;
cout<<"数学:"<<Math<<'\t'<<"物理:"<<Physics<<'\t'<<"英语:"<<Eng<<'\t'<<"程序设计:"<<Prog<<endl;
}
};
class Teacher:public Person
{
char Headship[40],Post[30];
int Salary;
public:
Teacher(char nu[],char na[],char s,char a[],char t[],char e[]):Person(nu,na,s,a,t,e){}
void setdata(char h[],char p[],int sa)
{
strcpy(Headship,h);
strcpy(Post,p);
Salary=sa;
}
void Output()
{
OutputIn();
cout<<"职务:"<<Headship<<'\t'<<"职称:"<<Post<<'\t'<<"工资:"<<Salary<<endl;
}
};
int main()
{
char nu[20],na[20],a[80],t[11],e[30],h[40],p[30];;
char s;
int sa;
cin.getline(nu,20);
cin.getline(na,20);
cin.getline(a,80);
cin.getline(t,11);
cin.getline(e,30);
cin>>s;
Student st(nu,na,s,a,t,e);
st.SetScore('m',148);
st.SetScore('p',135);
st.SetScore('e',86);
st.SetScore('c',110);
st.OutputInfo();
cin>>s;
cin>>sa;
cin.getline(nu,20);
cin.getline(na,25);
cin.getline(a,30);
cin.getline(t,11);
cin.getline(e,40);
cin.getline(h,40);
cin.getline(p,30);
Teacher r(nu,na,s,a,t,e);
r.setdata(h,p,sa);
r.Output();
return 0;
}
4
代码如下:
#include<iostream>
#include<cstring>
using namespace std;
char*itoa(int n,char*b)
{
if(n<=9999&&n>=1000)
{
b[3]=(n%10)+48;
n=n/10;
b[2]=(n%10)+48;
n=n/10;
b[1]=(n%10)+48;
n=n/10;
b[0]=(n%10)+48;
b[4]=0;
}
else
{
if(n<=999&&n>=100)
{
b[2]=(n%10)+48;
n=n/10;
b[1]=(n%10)+48;
n=n/10;
b[0]=(n%10)+48;
b[3]=0;
}
else
{
if(n<=99&&n>=10)
{
b[1]=(n%10)+48;
n=n/10;
b[0]=(n%10)+48;
b[2]=0;
}
else
{
if(n<=9&&n>=0)
{
b[1]=(n)+48;
b[0]=48;
b[2]=0;
}
}
}
}
return b;
}
class Time
{
int Year,Month,Day;
public:
Time(int i,int j,int k)
{
Year=i;
Month=j;
Day=k;
}
void SetDate(int i1,int i2,int i3)
{
Year=i1;
Month=i2;
Day=i3;
}
void GetDate(char*c)
{
char f[20]={0};
char*l="/";
strcpy(c,itoa(Year,f));
strcat(c,l);
strcat(c,itoa(Month,f));
strcat(c,l);
strcat(c,itoa(Day,f));
}
};
class Date
{
int Hour,Minute,Second;
public:
Date(int i,int j,int k)
{
Hour=i;
Minute=j;
Second=k;
}
void SetTime(int i1,int i2,int i3)
{
Hour=i1;
Minute=i2;
Second=i3;
}
void GetTime(char*t)
{
char f[30]={0};
char*l=":";
strcpy(t,itoa(Hour,f));
strcat(t,l);
strcat(t,itoa(Minute,f));
strcat(t,l);
strcat(t,itoa(Second,f));
}
};
class DateTime:public Time,public Date
{
public:
DateTime(int j1,int j2,int j3,int j4,int j5,int j6):Time(j1,j2,j3),Date(j4,j5,j6){}
void SetDateTime(int i1,int i2,int i3,int i4,int i5,int i6)
{
SetDate(i1,i2,i3);
SetTime(i4,i5,i6);
}
void GetDateTime(char*w)
{
char*l=" ";
char c[30]={0},t[30]={0};
GetDate(c);
GetTime(t);
strcat(w,c);
strcat(w,l);
strcat(w,t);
}
};
int main()
{
DateTime d(2021,3,21,12,4,30);
char w[80]={0};
d.GetDateTime(w);
cout<<w<<endl;
return 0;
}
总结
如有帮助,还望点赞