Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/136.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 正在尝试将变量值分配给Struct元素。第一个变量有正确的值,但struct元素有垃圾值 //该程序跟踪10名学生 //提示输入名字和姓氏 //收集每个学生的4个分数:期末考试、2个小测验和课堂专题 //报告将显示姓名以及个人分数、班级平均分和最高分数 //每个学生的个人成绩将根据成绩权重进行计算 /*等级权重 -2次测验,每次15% -1次期末考试@20% -一级项目@50% */ #包括 使用名称空间std; int main() { 结构好学生 { 字符串fname; 字符串名称; 复试; 双quiz1; 双quiz2; 双项目; float realgrd;//(所有等级权重之和 }; int PRODUCT=10;//表示课堂上的#名学生 goodStudent[Studio];//作为用于定义student[]的#元素的值的'Studio'sub的值 //******提示输入学生姓名: int i; 对于(i=0;i_C++_Variables_Struct_Variable Assignment - Fatal编程技术网

C++ 正在尝试将变量值分配给Struct元素。第一个变量有正确的值,但struct元素有垃圾值 //该程序跟踪10名学生 //提示输入名字和姓氏 //收集每个学生的4个分数:期末考试、2个小测验和课堂专题 //报告将显示姓名以及个人分数、班级平均分和最高分数 //每个学生的个人成绩将根据成绩权重进行计算 /*等级权重 -2次测验,每次15% -1次期末考试@20% -一级项目@50% */ #包括 使用名称空间std; int main() { 结构好学生 { 字符串fname; 字符串名称; 复试; 双quiz1; 双quiz2; 双项目; float realgrd;//(所有等级权重之和 }; int PRODUCT=10;//表示课堂上的#名学生 goodStudent[Studio];//作为用于定义student[]的#元素的值的'Studio'sub的值 //******提示输入学生姓名: int i; 对于(i=0;i

C++ 正在尝试将变量值分配给Struct元素。第一个变量有正确的值,但struct元素有垃圾值 //该程序跟踪10名学生 //提示输入名字和姓氏 //收集每个学生的4个分数:期末考试、2个小测验和课堂专题 //报告将显示姓名以及个人分数、班级平均分和最高分数 //每个学生的个人成绩将根据成绩权重进行计算 /*等级权重 -2次测验,每次15% -1次期末考试@20% -一级项目@50% */ #包括 使用名称空间std; int main() { 结构好学生 { 字符串fname; 字符串名称; 复试; 双quiz1; 双quiz2; 双项目; float realgrd;//(所有等级权重之和 }; int PRODUCT=10;//表示课堂上的#名学生 goodStudent[Studio];//作为用于定义student[]的#元素的值的'Studio'sub的值 //******提示输入学生姓名: int i; 对于(i=0;i,c++,variables,struct,variable-assignment,C++,Variables,Struct,Variable Assignment,你是说 adjust=student[grade].realgrd; 我想你把这句话倒过来了 //Program tracks 10 students //Prompts for first and last names //Collect 4 grades from each student: final exam, 2 quizzes, and class project //Report will display names w/ individual scores, class av

你是说

 adjust=student[grade].realgrd;

我想你把这句话倒过来了

//Program tracks 10 students
//Prompts for first and last names
//Collect 4 grades from each student: final exam, 2 quizzes, and class project
//Report will display names w/ individual scores, class average, and highest grade

//Each students individual grade will be calculated with grade weights
/*Grade Weights
-2 Quizzes @ 15% each
-1 Final Exam @ 20% 
-1 Class Project @ 50% 
*/

#include<iostream>
using namespace std;

int main()
{
    struct goodStudent
    { 
        string fname;
        string lname;
        double exam;
        double quiz1;
        double quiz2;
        double project;
        float realgrd;      //(sum of ALL grade weights
    };

    int pupil = 10;                 //represents # of students in class
    goodStudent student[pupil];     //value of 'pupil' subs as value used to define #elements of student[]

    //******Prompt for Student Names:
    int i;

    for (i = 0; i < pupil; i++)
    {
        cout << "\n Student " << i+1 << " First Name:  ";
        cin >>student[i].fname;

        cout << "\t Student " << i+1 << " Last Name:  ";
        cin >>student[i].lname;
    }

    cout <<"--------------------------------";

    //*****Grade Collection and Weights Prompt
    int grade;
    double quizweight,examweight,projweight,cuml;


    for (grade = 0; grade < pupil; grade++)
    {
        cout <<"\n \t Student"<<" "<< grade+1; 
        cout << "\n Enter Quiz Grade 1: \n"; 
        cin >>student[grade].quiz1;

        cout <<"\n Enter Quiz 2 Grade:\n ";
        cin >>student[grade].quiz2; 
        quizweight = ((student[grade].quiz1)+(student[grade].quiz2))*.30;

        cout <<"\n Enter Final Exam Grade:\n ";
        cin >> student[grade].exam;
        examweight =(student[grade].exam)*.20;

        cout <<"\n Enter Project Grade:\n ";
        cin >>student[grade].project;
        projweight =(student[grade].project)*.50;

        //MATH GETS JUMBLED UP HERE.IDK had to do ALOT of conversion and revisions.... ;(
        cuml = ((projweight)+(examweight)+(quizweight));

        double adjust=((cuml/130))*100;//130 is max pts student can earn across all assignments
        cout<<adjust;
        adjust=student[grade].realgrd;

        cout<<"\n\n\n"<<student[grade].realgrd;
        /*
        FOR SOME REASON PROGRAM DOESN'T LIKE PUTTING ASSIGNED VALUES INTO ARRAY STRUCT..
        fix=student[grade].realgrd;

        cout<<"\n\nLet's Try it AGAIN:  "<<student[grade].realgrd;

        cout<<"\nGrade For Student "<<grade+1<<"\tIs A: "<<fix;
        */
        system("PAUSE");
    }
}
你是说

 adjust=student[grade].realgrd;

只需标记C++,而不c。这是两种不同的语言,你可以使用变量<代码>学生开始索引<代码>学生<代码>数组,然后稍后(输入名称后)你可以按等级对列表进行索引。我怀疑你想收集每个学生的成绩,所以你可能需要重新思考你的方法。考虑一次收集一个学生的所有数据(这意味着所有的内容都在外<代码>学生<代码>循环中)。你永远不会给一个值分配一个值给代码> > RealGRD < /C>,也许是代码>调整=学生[等级]。RealGRD;< /C> >是一个向后的步骤。用一个除错器标签C++ + C。你可以按等级对列表进行索引。我怀疑你想收集每个学生的成绩,所以你可能需要重新思考你的方法。考虑一次收集一个学生的所有数据(这意味着所有的内容都在外<代码>学生<代码>循环中)。。您从未为
realgrd
赋值,可能是
adjust=student[grade].realgrd;
是向后的吗?通过调试我试过了,效果很好。当我读到我脑海中的第一行时,它说“调整的值被分配给第n个学生的真实成绩”。当我读到第二行时,它说“学生n的真实成绩被分配给调整”。这两个陈述对我来说都是合乎逻辑的,除非我遗漏了一个微妙的C/C++规则。程序中的其他每一个赋值都是从右边赋值到左边。为什么这一个会有所不同?在几乎所有的编程语言中(当然是在所有类似C的语言中)
x=y
的意思是“改变x的值,使它现在包含y”,我试过了,效果很好。当我读到我脑海中的第一行时,它说“adjust的值分配给第n个学生的实际成绩”。当我读到第二行时,它说“student n的实际成绩分配给adjust”除非我遗漏了一条微妙的C/C++规则。程序中的其他所有赋值都是从右侧赋值到左侧。为什么这一个会有所不同?在几乎所有编程语言中(当然是所有类似C的语言)
x=y
意味着“更改x的值,使其现在包含y”