gpt4 book ai didi

c - 等级与符号

转载 作者:行者123 更新时间:2023-11-30 21:24:57 25 4
gpt4 key购买 nike

我有一个作业需要我接收用户输入的成绩..然后将其与成绩点一起显示..我的问题是A-,B+,C+成绩..这是后面有符号的成绩..我该如何解决这个问题?怎么让它明白?

这是我的代码..

`

printf("Please enter grade :");
scanf(" %c",&grade1);

if(grade1=='A')
grade_point1=4.0;
else if(grade1=='A-')
grade_point1=3.67;
else if(grade1=='B+')
grade_point1=3.33;
else if(grade1=='B')
grade_point1=3.00;
else if(grade1=='B-')
grade_point1=2.67;
else if(grade1=='C+')
grade_point1=2.33;
else if(grade1=='C')
grade_point1=2.00;
else if(grade1=='C-')
grade_point1=1.67;
else if(grade1=='D+')
grade_point1=1.33;
else if(grade1=='D')
grade_point1=1.00;
else if(grade1=='F')
grade_point1=0.00;
printf("%c %.2f",grade1,grade_point1);
}

最佳答案

考虑使用标准库而不是局限于C函数。

一个字符只能由1个字符组成。因此,要表示 A-,您需要一个字符串。这是一个由字符组成的数组

std::cout << "Please enter grade:\n";

std::string grade;
std::getline(std::cin, grade);

if(grade == "A")
{
grade_point1=4.0;
}
else if(grade == "A-")
{
grade_point1=3.67;
}
...etc

编辑:

std::cout.precision(2);
std::cout << grade << ' ' << std::fixed << grade_point1 << std::endl;

看到OP将标签更改为C:

使用此 answer 中的函数

char *grade;
printf("Please enter grade: ");

grade = getline();

if(strcmp(grade, "A") == 0)
{
grade_point1=4.0;
}
else if(strcmp(grade, "A-") == 0)
{
grade_point1=3.67;
}
etc...

free(grade);

关于c - 等级与符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33878527/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com