是否可以在 for 循环中添加两个浮点数?
Is it possible to add two float inside the for loop?
我正在用 C++ 创建一个简单的成绩计算器,我只是 C++ 的新手,我正在练习它,但是我的方法或代码有问题,希望你能帮助我和这个一起出去。我不知道是否可以在 for 循环方法中添加用户输入(使用浮点数)并将其打印出来。谢谢你,新年快乐!
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
float sum = 0.00, avg, grades [10], i;
cout << "\n Enter your grades on each subject\n";
cout << "-----------------------------------------------";
cout << "\n Chemistry for Engineers Laboratory: ";
cin >> grades [0];
cout << "\n Chemistry for Engineers: ";
cin >> grades [1];
cout << "\n Computer Aided Drafting: ";
cin >> grades [2];
cout << "\n Calculus";
cin >> grades [3];
cout << "\n Kontekstwalisadong Komunikasyon sa Filipino at sa Iba't-ibang Larangan: ";
cin >> grades [4];
cout << "\n Science Technology and Society: ";
cin >> grades [5];
cout << "\n Mathematics in the Modern World: ";
cin >> grades [6];
cout << "\n Movemement Enhancement (Physical Education): ";
cin >> grades [7];
cout << "\n Readings in Philippine History: ";
cin >> grades [8];
cout << "\n Undertanding the Self: ";
cin >> grades [9];
for ( i = 0; i < 10; i++) {
printf ("%.1f + %.1f\n", sum , avg, sum+avg);
}
cout << "----------------------------------------";
cout << "Total Grade: " << sum;
avg = sum / 10;
cout << "\n GWA: " << avg;
cout << "\n Rating: ";
if ( avg > 1.00) {
cout << "Excellent";
} else if ( avg > 3.00 && avg <= 2.00) {
cout << "Passed";
} else if ( avg > 4.00 && avg <= 3.00) {
cout << "Conditional Passing";
} else {
cout << "Failed";
}
return 0;
}
您不能使用 printf
来计算成绩总和。您可以使用循环来计算 sum
,如下所示:
for (i = 0; i < 10; i++) {
sum = sum + grades[i];
}
printf
是将格式化输出发送到标准输出(您的屏幕)的库函数。
这可能会解决您的问题。
for(int i=0;i<10;++i)
{
sum += grades[i];
avg = sum / (i+1);
printf ("After adding lecture %u --> sum: %.1f + average: %.1f\n", i+1,sum , avg);
}
printf
的意思是将结果写入 stdout
.
- 等级评估的条件检查不正确平均等级超过 1.0 被视为优秀
下面的代码片段显示了 for-loop
的正确用法
#include <vector>
#include <string>
#include <array>
#include <iostream>
int main()
{
std::vector<float> grades;
const std::vector<std::string> subjects = {
"Chemistry for Engineers Laboratory",
"Chemistry for Engineers",
"Computer Aided Drafting",
"Calculus",
"Kontekstwalisadong Komunikasyon sa Filipino at sa Iba't-ibang Larangan"
//Extend the subjects
};
int TotlaSubject = subjects.size();
std::cout << "\n Enter your grades on each subject\n";
std::cout << "-----------------------------------------------\n";
for (int i = 0; i < TotlaSubject; i++)
{
std::cout << subjects[i] << " : ";
float InputGrade;
std::cin >> InputGrade;
grades.push_back(InputGrade);
// ^^^^^ here pushing data into the in a loop
}
float total =0.0;
for (auto grade : grades){
total += grade; //Adding grades in a loop
}
float avg = total / grades.size();
std::cout << "Total : " << total << " Avg : " << avg << std::endl;
return 0;
}
我正在用 C++ 创建一个简单的成绩计算器,我只是 C++ 的新手,我正在练习它,但是我的方法或代码有问题,希望你能帮助我和这个一起出去。我不知道是否可以在 for 循环方法中添加用户输入(使用浮点数)并将其打印出来。谢谢你,新年快乐!
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
float sum = 0.00, avg, grades [10], i;
cout << "\n Enter your grades on each subject\n";
cout << "-----------------------------------------------";
cout << "\n Chemistry for Engineers Laboratory: ";
cin >> grades [0];
cout << "\n Chemistry for Engineers: ";
cin >> grades [1];
cout << "\n Computer Aided Drafting: ";
cin >> grades [2];
cout << "\n Calculus";
cin >> grades [3];
cout << "\n Kontekstwalisadong Komunikasyon sa Filipino at sa Iba't-ibang Larangan: ";
cin >> grades [4];
cout << "\n Science Technology and Society: ";
cin >> grades [5];
cout << "\n Mathematics in the Modern World: ";
cin >> grades [6];
cout << "\n Movemement Enhancement (Physical Education): ";
cin >> grades [7];
cout << "\n Readings in Philippine History: ";
cin >> grades [8];
cout << "\n Undertanding the Self: ";
cin >> grades [9];
for ( i = 0; i < 10; i++) {
printf ("%.1f + %.1f\n", sum , avg, sum+avg);
}
cout << "----------------------------------------";
cout << "Total Grade: " << sum;
avg = sum / 10;
cout << "\n GWA: " << avg;
cout << "\n Rating: ";
if ( avg > 1.00) {
cout << "Excellent";
} else if ( avg > 3.00 && avg <= 2.00) {
cout << "Passed";
} else if ( avg > 4.00 && avg <= 3.00) {
cout << "Conditional Passing";
} else {
cout << "Failed";
}
return 0;
}
您不能使用 printf
来计算成绩总和。您可以使用循环来计算 sum
,如下所示:
for (i = 0; i < 10; i++) {
sum = sum + grades[i];
}
printf
是将格式化输出发送到标准输出(您的屏幕)的库函数。
这可能会解决您的问题。
for(int i=0;i<10;++i)
{
sum += grades[i];
avg = sum / (i+1);
printf ("After adding lecture %u --> sum: %.1f + average: %.1f\n", i+1,sum , avg);
}
printf
的意思是将结果写入stdout
.- 等级评估的条件检查不正确平均等级超过 1.0 被视为优秀
下面的代码片段显示了 for-loop
#include <vector>
#include <string>
#include <array>
#include <iostream>
int main()
{
std::vector<float> grades;
const std::vector<std::string> subjects = {
"Chemistry for Engineers Laboratory",
"Chemistry for Engineers",
"Computer Aided Drafting",
"Calculus",
"Kontekstwalisadong Komunikasyon sa Filipino at sa Iba't-ibang Larangan"
//Extend the subjects
};
int TotlaSubject = subjects.size();
std::cout << "\n Enter your grades on each subject\n";
std::cout << "-----------------------------------------------\n";
for (int i = 0; i < TotlaSubject; i++)
{
std::cout << subjects[i] << " : ";
float InputGrade;
std::cin >> InputGrade;
grades.push_back(InputGrade);
// ^^^^^ here pushing data into the in a loop
}
float total =0.0;
for (auto grade : grades){
total += grade; //Adding grades in a loop
}
float avg = total / grades.size();
std::cout << "Total : " << total << " Avg : " << avg << std::endl;
return 0;
}