#define _CRT_NONSTDC_NO_DEPRECATE
#define _CRT_SECURE_NO_DEPRECATE
#include<assert.h>
#include<stdio.h>
#include <string>
using namespace std;
#define size 50
int main()
{
struct student {
int nume_student;
char name_student[20];
char sex_student;
int phone_number;
float score_yuwen;
float score_math;
float score_english;
float score_pinde;
float total_score;
int rank;
char attach[50];
}stu[size];
float v[50];
struct num {
char iuy[100];
char tyu[100];
}nty[size];
char uio[100];
long long int a;
char b;
char c;
long long int d;
float e;
float f;
float g;
float h;
float j;
int k;
char* l;
int i;
int lo;
long long int op;
int scr=0;
printf("请问您要输入多少个信息?");
scanf("%d", &lo);
printf("确认输入%d个信息\n开始输入您的信息", lo);
for (i = 0; i < lo; i++)
{
scanf("%lld %s %c %lld %f %f %f %f %s", &a, stu[i].name_student, &c, &d, &e, &f, &g, &h, stu[i].attach);
stu[i].sex_student = c;
stu[i].score_yuwen = e;
stu[i].score_math = f;
stu[i].score_english = g;
stu[i].score_pinde = h;
stu[i].total_score = e + f + g + h;
v[i] = e + f + g + h;
sprintf(nty[i].iuy, "%lld", a);
sprintf(nty[i].tyu, "%lld", d);
}
float temp = 0;
for (i = 0; i < lo; i++)
{
for (int j = lo - 1; j > i; j--)
{
if (v[j] < v[j - 1])
{
temp = v[j];
v[j] = v[j - 1];
v[j - 1] = temp;
}
}
}
printf("请问您要查询哪个学号?\n");
scanf("%lld", &op);
sprintf(uio, "%lld", op);
i = 0;
int r = strcmp(uio, nty[i].iuy);
while (r != 0)
{
i++;
r = strcmp(uio, nty[i].iuy);
}
if (stu[i].total_score >= 90 && stu[i].total_score <= 100) //从这里开始出问题
{
scr="优秀";
}
if (stu[i].total_score <= 89 && stu[i].total_score >= 80)
{
scr="良好";
}
if (stu[i].total_score <= 79 && stu[i].total_score >= 70)
{
scr="中";
}
if (stu[i].total_score <= 69 && stu[i].total_score >= 60)
{
scr="及格";
}
if (stu[i].total_score < 60)
{
scr="不及格";
}//问题在这里结束
int yt = 0;
float ui;
ui = stu[i].total_score;
while (v[yt] != ui)
{
yt++;
}
printf("学号为%s 姓名为%s 性别为%c 手机号为%s 语文成绩为%f 数学成绩为%f 英语成绩为%f 品德分为%f 综合评测分为%f 排名为%d 成绩属于%s 备注为%s", nty[i].iuy, stu[i].name_student, stu[i].sex_student, nty[i].tyu, stu[i].score_yuwen, stu[i].score_math, stu[i].score_english, stu[i].score_pinde, stu[i].total_score, lo - yt,scr, stu[i].attach);//我想在成绩属于这里加优秀还是良好的显示出来,但scr一直报错,到底是为什么,把scr改成const char*就不报错但我不知道原理而且const不是不可修改吗,我也不敢用。所以到底怎么办啊
给变量赋值中文汉字出错,怎么办啊
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- emXiaoMing 2022-06-26 12:44关注
scr是整形当然不行了,要用char scr[20]或者char* scr这样定义字符串,然后用strcpy或者memcpy拷贝字符串到scr中.
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 MATLAB代码补全插值
- ¥15 Typegoose 中如何使用 arrayFilters 筛选并更新深度嵌套的子文档数组信息
- ¥15 前后端分离的学习疑问?
- ¥15 stata实证代码答疑
- ¥50 husky+jaco2实现在gazebo与rviz中联合仿真
- ¥15 dpabi预处理报错:Error using y_ExtractROISignal (line 251)
- ¥15 在虚拟机中配置flume,无法将slave1节点的文件采集到master节点中
- ¥15 husky+kinova jaco2 仿真
- ¥15 zigbee终端设备入网失败
- ¥15 金融监管系统怎么对7+4机构进行监管的