C++ 将项目添加到问题列表中
我正在创造一个简单的问题。我尝试将学生添加到一个列表中,然后将其拆分为两个列表。我创建了一个将节点添加到列表中的通用方法,但它似乎无法正常工作。这就是我试过的。我做错了什么C++ 将项目添加到问题列表中,c++,C++,我正在创造一个简单的问题。我尝试将学生添加到一个列表中,然后将其拆分为两个列表。我创建了一个将节点添加到列表中的通用方法,但它似乎无法正常工作。这就是我试过的。我做错了什么 int main() { for(int i=0;i<NR_STUDENTS;i++) { Student *studToAdd=new Student; cout<<"Student #"<<i<<endl; cout<<
int main()
{
for(int i=0;i<NR_STUDENTS;i++)
{
Student *studToAdd=new Student;
cout<<"Student #"<<i<<endl;
cout<<"Name:";
cin>>studToAdd->name;
cout<<"Grade:";
cin>>studToAdd->grade;
Add(studToAdd);
}
Split();
Print();
}
#include "students.h"
Node *allFirstNode;
Node *admitedFirstNode;
Node * rejectedFirstNode;
void AddNodeToList(Node *firstNode, Student *studToAdd)
{
Node *nodeToAdd=new Node;
nodeToAdd->student=studToAdd;
nodeToAdd->next=NULL;
if(firstNode==NULL)
{
firstNode=nodeToAdd;
}
else
{
Node *temp;
temp=firstNode;
while(temp->next != NULL)
{
temp=temp->next;
}
temp->next=nodeToAdd;
}
}
void addStudent(Student *studentToAdd)
{
AddNodeToList(allFirstNode,studentToAdd);
}
void split()
{
Node *temp=allFirstNode;
while(temp->next != NULL)
{
Student *currentStud=temp->student;
if(currentStud->grade < GR)
{
AddNodeToList(rejectedFirstNode,currentStud);
}
else
{
AddNodeToList(admitedFirstNode,currentStud);
}
}
}
void PrintList(Node *first)
{
Node *temp=first;
while(temp!=0)
{
cout<<temp->student->name<<":"<<temp->student->grade<<endl;
temp=temp->next;
}
}
void Print()
{
PrintList(admitedFirstNode);
PrintList(rejectedFirstNode);
}
#include <iostream>
#include <string>
using namespace std;
const int NR_STUDENTS=2;
const double GR=5.0;
struct Student
{
string name;
double grade;
};
struct Node
{
Student *student;
Node *next;
};
extern Node *allFirstNode;
extern Node *admitedFirstNode;
extern Node * rejectedFirstNode;
void addStudent(Student *studentToAdd);
void split();
void sort();
void print(Node *firsNode);
intmain()
{
对于(int i=0;inxt=nodeToAdd;
}
}
无效添加学生(学生*学生添加)
{
AddNodeToList(allFirstNode,studentToAdd);
}
无效拆分()
{
Node*temp=allFirstNode;
while(临时->下一步!=NULL)
{
学生*currentStud=temp->Student;
如果(当前螺柱->等级 coutname您需要通过引用调用(不需要更改任何其他内容):
显示问题的最小完整代码片段是什么?您希望发生什么,以及实际发生什么?我想在列表(allFirstNode)中添加学生。当我添加节点时,它将成为nodeToAdd,但当我尝试添加另一个节点时,列表为空,先前添加的节点将消失
void AddNodeToList(Node* &firstNode, Student *studToAdd)