年薪计算公式为:年薪 = 12×月基本工资 + 年终奖。
提示:定义一个结构类型来存放员工的信息。

#include<iostream>
using namespace std;
struct infor {
char name[20];
char sex[10];
int num;
int mon;
int yearf;
int year;
};

int main() {
infor yg;
cin>>yg.name>>yg.sex>>yg.num>>yg.mon>>yg.yearf;
yg.year=12*yg.mon+yg.yearf;
cout<<"年薪为:"<<yg.year<<endl;
system("pause");
return 0;
}

工作量计算公式为:
b0cfb03b53dec204d7370e3535d19a63.png

要求:定义两个结构类型分别表示日期(年、月、日)和教师信息,并且教师信息结构中的出生日期成员通过结构成员来表示。

提示:访问结构成员的成员需要使用多个点运算符。

#include<iostream>
using namespace std;
struct t {
int year;
int mon;
int day;
};

struct infor {
t time;
char name[20];
char sex[10];
int zytime[3];
int zyx[3];
int wt;
};

int main() {
infor yg;
cin>>yg.name>>yg.sex;
cin>>yg.time.year>>yg.time.mon>>yg.time.day;
yg.wt=0;
for(int i=0; i<3; i++) {
    cout<<"请分别输入第"<<i+1<<"门的课时数和课程系数"<<endl;
    cin>>yg.zytime[i]>>yg.zyx[i];
    yg.wt+=yg.zytime[i]*yg.zyx[i];
}
cout<<"工作量为:"<<yg.wt;
system("pause");
return 0;
}


提示
可以定义一个结构类型来存放传承人的基本信息(如:传承人所代表的非物质文化名、投票数),并对5组传承人进行编号,编号为0-4号(可以通过结构数组的形式表示)。100位大众评审的投票过程可以采用随机投票的形式进行模拟,即:当某位大众评审进行投票时,可以随机产生一个 [0, 4] 范围内的编号,然后将票投给对应编号的那组传承人。

#include<iostream>
#include<stdlib.h>
using namespace std;
struct infor {
    char name[50];
    int vote;
};
int main() {
    infor yg[5]= {{"京剧",0},{"评剧",0},{"豫剧",0},{"越剧",0},{"黄梅戏",0}};
    int num;
    for(int i=0; i<100; i++) {
        num=rand()%5;
        yg[num].vote++;
    }
    int max;
    max=0;
    for(int i=1; i<5; i++) {
        if(yg[i].vote>yg[max].vote)max=i;
    }
    for(int i=0; i<5; i++) {
        cout<<yg[i].name<<"投票数为:"<<yg[i].vote<<endl;
    }
    cout<<"最佳传承人为"<<yg[max].name<<"的代表人"<<endl;
    system("pause");
    return 0;
}


提示:通过结构数组来存放50名学生的信息。结构类型作函数形参时,可以通过结构引用形参或结构指针形参来降低函数调用时的空间和时间的开销。

#include<iostream>
#include<stdlib.h>
using namespace std;
struct infor {
    char name[20];
    char sex[10];
    int num;
    int s;
};
void out(infor &p) {
    cout<<p.name<<"\t"<<p.sex<<"\t"<<p.num<<"\t"<<p.s<<endl;
}
void in() {
    infor yg;
    cin>>yg.name>>yg.sex>>yg.num>>yg.s;
    out(yg);
}
double stu(infor pp[]) {
    int sum=0;
    for(int i=0; i<50; i++) {
        sum+=pp[i].s;
    }
    return sum/50.0;
}
double bx(infor ppp[]) {
    int sign=0;
    for(int i=0; i<50; i++) {
        if(ppp[i].s<60) sign++;
    }
    return sign/50.0;
}
int main() {
    in();
    infor ws[50];
    for(int i=0; i<50; i++) {
        ws[i].s=rand()%101;
        cout<<ws[i].s<<"\t";
    }
    cout<<endl;
    cout<<"平均分为:"<<stu(ws)<<endl;
    cout<<"不及格率为:"<<bx(ws)<<endl;
    system("pause");
    return 0;
}
Last modification:April 26th, 2021 at 04:56 pm