不知道怎么回事,我这个不管是用类做还是用结构体做,它输出两个人的信息的时候都好好儿的,然后输出三个人或四个人的时候就乱了,不知道为啥。
源码呢?
有趣, 试试这个
void display()
{
printf("学号:%d\n姓名:%s性别:%c\n出生日期:%d/%d/"
"%d\n主修专业:%s\n奖励1:%s\n奖励2:%s\n奖励3:%s\n",
number, name.c_str(), sex, month, day, year, major.c_str(),
prize1.c_str(), prize2.c_str(), prize3.c_str());
}
【以下回答由 GPT 生成】
我可以帮你解决这个问题。乱码可能是因为编码方式或者输出格式不正确导致的。下面是一些可能的解决方案:
// 指定文件编码为UTF-8
#pragma execution_character_set("utf-8")
chcp 65001
#include <iostream>
#include <locale>
int main() {
// 设置输出编码方式为UTF-8
std::wcout.imbue(std::locale("zh_CN.UTF-8"));
// 输出学生信息
// ...
return 0;
}
#include <iostream>
#include <locale>
int main() {
// 设置输出编码方式为UTF-8
std::wcout.imbue(std::locale("zh_CN.UTF-8"));
// 启用宽字符支持
std::wcout << std::boolalpha;
// 输出学生信息
// ...
return 0;
}
#include <iostream>
#include <locale>
int main() {
// 设置输入编码方式为UTF-8
std::wcin.imbue(std::locale("zh_CN.UTF-8"));
// 输入学生信息
// ...
return 0;
}
请根据你的具体情况尝试以上解决方案,并告诉我是否解决了问题。如果问题仍然存在,我将尽力提供进一步的帮助。
【相关推荐】