|
#include<iostream>
#include<string>
#include<ctime>
using namespace std;
struct student
{
string s_name;
int score;
};
struct teacher
{
string t_name;
student s[5];
};
void printf_t_s(struct teacher t[], int len)
{
string nameid = "ABCDE";
for (int i = 0; i < len; i++)
{
srand((unsigned int)time(NULL));//添加随机数种子 作用:利用当前系统时间生成随机数,防止每次生成随机数都一样
int suiji = rand() % 101;//系统生成随机数,101是0~100
t[i].t_name = "teacher_";
t[i].t_name += nameid[i];//可在其后利用下标和+=添加
for (int j = 0; j < 5; j++)
{
t[i].s[j].s_name = "student_";
t[i].s[j].s_name += nameid[j];
t[i].s[j].score = suiji;
}
}
}
int main()
{
struct teacher arrt[3];
struct student arrs[5];
int len = sizeof(arrt) / sizeof(arrt[0]);
printf_t_s(arrt, len);
for (int i = 0; i < 3; i++)//打印数组元素
{
cout << arrt[i].t_name << endl;
for (int j = 0; j < 5; j++)
{
cout << arrt[i].s[j].s_name << " " << arrt[i].s[j].score << endl;
}
}
return 0;
}#include<iostream>
#include<string>
#include<ctime>
using namespace std;
struct student
{
string s_name;
int score;
};
struct teacher
{
string t_name;
student s[5];
};
void printf_t_s(struct teacher t[], int len)//struct teacher t[]相当于用了指针,它知道要传进来一个数组,这样会更加直观
{
string nameid = "ABCDE";
for (int i = 0; i < len; i++)
{
srand((unsigned int)time(NULL));//添加随机数种子 作用:利用当前系统时间生成随机数,防止每次生成随机数都一样
int suiji = rand() % 101;//系统生成随机数,101是0~100
t[i].t_name = "teacher_";
t[i].t_name += nameid[i];//可在其后利用下标和+=添加
for (int j = 0; j < 5; j++)
{
t[i].s[j].s_name = "student_";
t[i].s[j].s_name += nameid[j];
t[i].s[j].score = suiji;
}
}
}
int main()
{
struct teacher arrt[3];
struct student arrs[5];
int len = sizeof(arrt) / sizeof(arrt[0]);
printf_t_s(arrt, len);
for (int i = 0; i < 3; i++)//打印数组元素
{
cout << arrt[i].t_name << endl;
for (int j = 0; j < 5; j++)
{
cout << arrt[i].s[j].s_name << " " << arrt[i].s[j].score << endl;
}
}
return 0;
} |
上一篇: 为什么输出学生的后面都是E?拜托各位大佬了!!!下一篇: VS2015卸载再安装后 启动卡住了 怎么办啊
|