M_R_Z_X 2020-06-07 14:04 采纳率: 0%
浏览 139

不懂就问 为什么我最后叫号函数第一个cout输出那些值的是乱码,刚刚学好c++入门 大作业遇到问题了

#include
#include
using namespace std;
class 活动信息
{
public:
活动信息(void){}
void 公告()
{
cout << "本次报名上限50人" << "\n" << "按学号和性别来决定先后顺序" << "答对所有题目可以获得秘密奖励" << endl;
}
};
class 女学生信息
{
public:
int Female;
int 女[49];
int 女年龄[49];
int 女学号[49];
int 女年级[49];
string 女姓名[49];
string 女班级[49];
string 女专业[49];
};
class 男学生信息
{
public:
int Male;
int 男[49];
int 男年龄[49];
int 男学号[49];
int 男年级[49];
string 男姓名[49];
string 男班级[49];
string 男专业[49];
};
class 学生信息 :public 男学生信息, public 女学生信息
{
int 年龄[49];
int 学号[49];
int 年级[49];
string 姓名[49];
string 班级[49];
string 专业[49];
int 参加的总人数;
int 性别代号[49];
public:
学生信息(void) {}
void 纪录(void);
friend void 排序(学生信息 学生信息);
friend void 叫号(学生信息 学生信息);
friend int 查找(int a);
};
class P
{
public:
void p(void){}
int i;
int j;
int k;
};
void 叫号(学生信息 学生信息)
{
P p;
for (int h = 0; h < 学生信息.参加的总人数; h++)
{
cout << "现在轮到" << 学生信息.专业[h] << "专业,大" << 学生信息.年级[h] << 学生信息.班级[h] << "班,学号为" << 学生信息.学号[h] << "的" << 学生信息.姓名[h] << "同学" << endl;
cout << "下面请回答几个问题:" << endl;
cout << "金宏伟帅吗(1 or 0)" << endl;
cin >> p.i;
cout << "金宏伟牛逼吗(1 or 0)" << endl;
cin >> p.j;
cout << "金宏伟???吗(1 or 0)" << endl;
cin >> p.k;
if (p.i == 1 && p.j == 1 && p.k == 1)
{
cout << "恭喜你全答对了,获得奖励" << endl;
}
else
{
cout << "很遗憾有答错,下次再接再厉吧" << endl;
}
}
}
void 学生信息::纪录()
{
int age;
int xuehao;
string xingmin;
string banji;
string zhuangye;
int sex;
int grade;
int n=0;
int a;
do {
cout << "是否终止?" << "1 or 0" << endl;
cin >> a;
if (a==1)
{
cout << "共参加了" << n << "名学生"< break;
}
cout cin >> sex;
if (sex == 0)
{
cout << "请输入你的" << "年龄:" << endl;
cin >> age;
女年龄[n] = age;
cout << "请输入你的" << "学号:" << endl;
cin >> xuehao;
女学号[n] = xuehao;
cout << "请输入你的" << "年级:" << endl;
cin >> grade;
女年级[n] = grade;
cout << "请输入你的" << "班级:" << endl;
cin >> banji;
女班级[n].assign(banji);
cout << "请输入你的" << "专业:" << endl;
cin >> zhuangye;
女专业[n].assign(zhuangye);
cout << "请输入你的" << "姓名:" << endl;
cin >> xingmin;
女姓名[n].assign(xingmin);
Female++;
n++;
}
else
{
cout << "请输入你的" << "年龄:" << endl;
cin >> age;
男年龄[n] = age;
cout << "请输入你的" << "学号:" << endl;
cin >> xuehao;
男学号[n] = xuehao;
cout << "请输入你的" << "年级:" << endl;
cin >> grade;
男年级[n] = grade;
cout << "请输入你的" << "班级:" << endl;
cin >> banji;
男班级[n].assign(banji);
cout << "请输入你的" << "专业:" << endl;
cin >> zhuangye;
男专业[n].assign(zhuangye);
cout << "请输入你的" << "姓名:" << endl;
cin >> xingmin;
男姓名[n].assign(xingmin);
Male++;
n++;
}
} while (n < 49);
参加的总人数 = n;
}
void 排序(学生信息 学生信息)
{
int i = 0;
int N;
int 年龄;
int 学号;
int 年级;
string 班级;
string 姓名;
string 专业;
int F;
int M;
for (N = 0; N <= 学生信息.参加的总人数; N++)
{
if (学生信息.性别代号[N] == 0)
{
for (F = 0; F < 学生信息.Female; F++)
{
if (学生信息.女学号[F] < 学生信息.女学号[F + 1])
{
年级 = 学生信息.女年级[F];
学生信息.女年级[F] = 学生信息.女年级[F + 1];
学生信息.女年级[F + 1] = 年级;
学号 = 学生信息.女学号[F];
学生信息.女学号[F] = 学生信息.女学号[F + 1];
学生信息.女学号[F + 1] = 学号;
班级.assign(学生信息.女班级[F]);
学生信息.女班级[F].assign(学生信息.女班级[F + 1]);
学生信息.女班级[F + 1].assign(班级);
年龄 = 学生信息.女年龄[F];
学生信息.女年龄[F] = 学生信息.女年龄[F + 1];
学生信息.女年龄[F + 1] = 年龄;
专业.assign(学生信息.女专业[F]);
学生信息.女专业[F].assign(学生信息.女专业[F + 1]);
学生信息.女专业[F + 1].assign(专业);
姓名.assign(学生信息.女姓名[F]);
学生信息.女姓名[F].assign(学生信息.女姓名[F + 1]);
学生信息.女姓名[F + 1].assign(姓名);
}
}
}
else
{
for (M = 0; M < 学生信息.Male; M++)
{
if (学生信息.男学号[M] < 学生信息.男学号[M + 1])
{
年级 = 学生信息.男年级[M];
学生信息.男年级[M] = 学生信息.男年级[M + 1];
学生信息.男年级[M + 1] = 年级;
学号 = 学生信息.男学号[M];
学生信息.男学号[M] = 学生信息.男学号[M + 1];
学生信息.男学号[M + 1] = 学号;
班级.assign(学生信息.男班级[M]);
学生信息.男班级[M].assign(学生信息.男班级[M + 1]);
学生信息.男班级[M + 1].assign(班级);
年龄 = 学生信息.男年龄[M];
学生信息.男年龄[M] = 学生信息.男年龄[M + 1];
学生信息.男年龄[M + 1] = 年龄;
专业.assign(学生信息.男专业[M]);
学生信息.男专业[M].assign(学生信息.男专业[M + 1]);
学生信息.男专业[M + 1].assign(专业);
姓名.assign(学生信息.男姓名[M]);
学生信息.男姓名[M].assign(学生信息.男姓名[M + 1]);
学生信息.男姓名[M + 1].assign(姓名);
}
}
}
}
for (i = 0; i < 学生信息.Female; i++)
{
学生信息.姓名[i].assign(学生信息.女姓名[i]);
学生信息.年级[i] = 学生信息.女年级[i];
学生信息.学号[i] = 学生信息.女学号[i];
学生信息.班级[i].assign(学生信息.女班级[i]);
学生信息.年龄[i] = 学生信息.女年龄[i];
学生信息.专业[i].assign(学生信息.女专业[i]);
学生信息.性别代号[i] = 0;
}
for (i; i < 学生信息.参加的总人数; i++)
{
学生信息.姓名[i].assign(学生信息.男姓名[i - 学生信息.Female]);
学生信息.年级[i] = 学生信息.男年级[i - 学生信息.Female];
学生信息.学号[i] = 学生信息.男学号[i - 学生信息.Female];
学生信息.班级[i].assign(学生信息.男班级[i - 学生信息.Female]);
学生信息.年龄[i] = 学生信息.男年龄[i - 学生信息.Female];
学生信息.专业[i].assign(学生信息.男专业[i - 学生信息.Female]);
学生信息.性别代号[i] = 1;
}

}
int 查找 (int a)
{
学生信息 学生信息;
int i = 0;
for (i; i < 学生信息.参加的总人数; i++)
{
if (a == 学生信息.学号[i])
{
cout << "你已经报名" << endl;
goto part3;
}
}
cout << "你还没有报名" << endl;
part3:
return 0;
}
int main()
{
int i;
int p;
学生信息 学生信息;
活动信息 活动信息;
part:
cout << "1:了解活动详情\n" << "2:开始报名\n" << "3:查看报名情况\n" << "4:开始活动" << endl;
cin >> i;
switch (i)
{
case 1:
{
活动信息.公告();
cout << "输入1返回" << endl;
cin >> p;
if (p == 1)
{
goto part;
}
}
case 2:
{
学生信息.纪录();
排序(学生信息);
goto part;
}
case 3:
{
int a;
cout << "请输入你的学号:" << endl;
cin >> a;
查找(a);
cout << "输入1返回" << endl;
cin >> p;
if (p == 1)
{
goto part;
}
}
case 4:
{
cout << "确定要开始吗?(1 or 0)" << endl;
cin >> p;
if (p == 0)
{
goto part;
}
else
{
叫号(学生信息);
break;
}
}
}
return 0;
}

  • 写回答

1条回答 默认 最新

  • dabocaiqq 2020-06-07 14:13
    关注

    if (性别代号[N] == 0)
    {
    for (F = 0; F {
    if (女学号[F] > 女学号[F + 1])
    {

    这里错了

    评论

报告相同问题?

悬赏问题

  • ¥15 Arcgis相交分析无法绘制一个或多个图形
  • ¥15 seatunnel-web使用SQL组件时候后台报错,无法找到表格
  • ¥15 fpga自动售货机数码管(相关搜索:数字时钟)
  • ¥15 用前端向数据库插入数据,通过debug发现数据能走到后端,但是放行之后就会提示错误
  • ¥30 3天&7天&&15天&销量如何统计同一行
  • ¥30 帮我写一段可以读取LD2450数据并计算距离的Arduino代码
  • ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型
  • ¥15 vs2019中数据导出问题
  • ¥20 云服务Linux系统TCP-MSS值修改?
  • ¥20 关于#单片机#的问题:项目:使用模拟iic与ov2640通讯环境:F407问题:读取的ID号总是0xff,自己调了调发现在读从机数据时,SDA线上并未有信号变化(语言-c语言)