- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
#include <iostream>
#include <fstream>
using namespace std;
struct studentInfo {
string studentFname, studentLname;
int testScore;
char grade;
}student[20];
void inputs(studentInfo(&student)[20]) {
ifstream openFile;
openFile.open("Students.txt");
if (!openFile.is_open())
cerr << "ERROR! failed to open file\n";
for (int i = 0; i < 20; i++) {
openFile >> student[i].studentFname;
openFile >> student[i].studentLname;
openFile >> student[i].testScore;
}
openFile.close();
}
void grade(studentInfo(&student)[20]) {
for (int i = 0; i < 20; i++) {
if (student[i].testScore >= 90)
student[i].grade = 'A';
if (student[i].testScore >= 80 && student[i].testScore < 90)
student[i].grade = 'B';
if (student[i].testScore >= 70 && student[i].testScore < 80)
student[i].grade = 'C';
if (student[i].testScore >= 60 && student[i].testScore < 70)
student[i].grade = 'D';
else
student[i].grade = 'F';
}
}
void best(studentInfo(&student)[20], int index) {
int largest;
largest = 0;
for (int n = 0; n < 20; n++) {
if (largest < student[n].testScore) {
largest = student[n].testScore;
index = n;
}
}
}
void output(studentInfo(&student)[20], int n) {
ofstream outfile;
outfile.open("StudentGrade.txt");
for (int i = 0; i < 20; i++)
outfile << student[i].studentLname << ", " << student[i].studentFname << " " << student[i].testScore << " " << student[i].grade << endl;
outfile << student[n].studentFname << " " << student[n].studentLname << " has the best grade!";
outfile.close();
}
int main()
{
studentInfo Istudent[20];
int tests[20];
int large = 0;
inputs(Istudent);
for (int i = 0; i< 20; i++)
Istudent[i].testScore= tests[i];
grade(Istudent);
best(Istudent, large);
output(Istudent, large);
return 0;
}
Duckey Donald 85
Goof Goofy 89
Brave Balto 93
Snow Smitn 93
Alice Wonderful 89
Samina Akthar 85
Simba Green 95
Donald Egger 90
Brown Deer 86
Johny Jackson 95
Greg Gupta 75
Samuel Happy 80
Danny Arora 80
Sleepy June 70
Amy Cheng 83
Shelly Malik 95
Chelsea Tomek 95
Angela Clodfelter 95
Allison Nields 95
Lance Norman 88
我的void功能最佳,成绩似乎不起作用。当程序运行时,成绩功能将所有成绩都设置为“F”,而最佳功能始终会选择最高分数的名字。我试图将测试成绩设置为其他数组,但这似乎无济于事。你能帮忙的话,我会很高兴。谢谢!
最佳答案
如果student[i]
是87
,它将满足第二个条件并获得'B'
等级,但随后它也将失败第四个条件并进入else
,得到'F'
等级,该等级将覆盖'B'
。
只有第四个if
与else
关联。以上三个是独立的,因此将不必要地进行检查。
if (student[i].testScore >= 90)
student[i].grade = 'A';
if (student[i].testScore >= 80 && student[i].testScore < 90)
student[i].grade = 'B';
if (student[i].testScore >= 70 && student[i].testScore < 80)
student[i].grade = 'C';
if (student[i].testScore >= 60 && student[i].testScore < 70)
student[i].grade = 'D';
else
student[i].grade = 'F';
您应该使用if-else
if (student[i].testScore >= 90)
student[i].grade = 'A';
else if (student[i].testScore >= 80)
student[i].grade = 'B';
else if (student[i].testScore >= 70)
student[i].grade = 'C';
else if (student[i].testScore >= 60)
student[i].grade = 'D';
else
student[i].grade = 'F';
如果不满足第一个条件,则无需在第二个条件中再次检查它。最终的
else
与所有先前的条件相关联,因此,如果以上任何条件为true,则
else
将不会执行。
关于c++ - struct int数据类型不适用于关系运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63163672/
我有一个数组 items[] items[] 中的每一项都是一个结构体。 item 有键 id、date、value(即 item.id、item.date、item.value) 我想使用 Stru
我想存储 100 名员工。 RollNo,姓名,工资,时间(各种数据,我无法在这里解释,但你可以看下面的代码片段来理解 main() { struct day { int hour
这个问题在这里已经有了答案: storage size of ‘names’ isn’t known (3 个答案) 关闭 5 年前。 我正在尝试蓝牙编程,遇到了这个我不明白的问题。基本上,当我使用
这是一个奇怪的事情: 我有一个结构,它包含指向相同类型结构的指针和指向其他类型结构的指针,以及一些其他值。 struct animal { struct animal * father;
我有一个结构定义如下(名称不同) struct str1 { int field1; struct str2; } 我在一个函数中有一个*str1。我想要一个指向 str2 的指针。 所以
DISK_DETECTION_INFO is defined as有什么原因吗? typedef struct _DISK_DETECTION_INFO { DWORD Size
我正在尝试打包一个字符串和一个字符串的长度。 fmt = '
我在创建结构时遇到问题。 我的结构: public struct Device: Codable { let data: DeviceData let meta: Meta? } pu
struct Item { var name:String? var type:String? var value:Int? var tag:Int? } ... ..
// NewReaderSize returns a new Reader whose buffer has at least the specified 43 // size. If the ar
这个问题在这里已经有了答案: Sorting a vector of custom objects (14 个答案) 关闭 3 年前。 在下面的 C++ 片段中, 如何基于 TwoInts 结构中的
#include struct Header { unsigned long long int alignment; }; int main(void) { struct Heade
我有一个目前看起来像这样的结构(缩写为仅显示基本部分): typedef struct { uint32_t baudrate; ... some other internally u
对此没有太多解释,这就是我所拥有的: public struct PACKET_HEADER { public string computerIp; publi
我有以下代码: struct MyStruct{ data: &'a str, } fn get(S: &'a MyStruct) -> &'a str{ S.data } fn se
struct S1 { char c; int i; }; struct S3 { char c1; struct S1 s; double c2; }; 我正
我有一个名为 Parameter 的协议(protocol): protocol Parameter { var name: String { get } var unit: Unit
有 2 个 struct 定义 A 和 A。我知道 struct A 可以包含指向 struct A 的 POINTER 但我不明白为什么 struct A 不能包含struct A(不是指针) 最佳
我有以下代码: struct MyStruct{ data: &'a str, } fn get(S: &'a MyStruct) -> &'a str{ S.data } fn se
为了说明这一点,这里有一个小的不可变结构和一个更新它的函数: (struct timeseries (variable observations) #:transparent) (define (ad
我是一名优秀的程序员,十分优秀!