i\'m doing my homework. make student record with linked list. but i get some err
ID: 3541121 • Letter: I
Question
i'm doing my homework.
make student record with linked list.
but i get some errors . its two kinds of same errors.
i guess its from main file.. but i dont know why?
could you help me to fix it?
here is my h file and main
h file
#ifndef HW1_H
#define HW1_H
#include<iostream>
#include<string>
using namespace std;
class list
{
private:
struct student
{
double id;class="apple-tab-span">
string name; class="apple-tab-span">
string address;class="apple-tab-span">
double gpa;class="apple-tab-span">
struct student *next;
};
student *head;
public:
list()class="apple-tab-span">
{class="apple-tab-span">
head= NULL;class="apple-tab-span">
}class="apple-tab-span">
~list();class="apple-tab-span">
void append(double,string,string,double);class="apple-tab-span">
void display()const;class="apple-tab-span">
};
void list::append(double identifi,string name1,string home,double grade)
{
student *newNode=new student;class="apple-tab-span">
student *nodeptr;class="apple-tab-span">
newNode->id=identifi;class="apple-tab-span">
newNode->name=name1;class="apple-tab-span">
newNode->address=home;class="apple-tab-span">
newNode->gpa=grade;class="apple-tab-span">
if(head==NULL)class="apple-tab-span">
{class="apple-tab-span">
head=newNode;class="apple-tab-span">
newNode->next=NULL;class="apple-tab-span">
}class="apple-tab-span">
elseclass="apple-tab-span">
{class="apple-tab-span">
nodeptr=head;class="apple-tab-span">
while(nodeptr->next!=NULL)class="apple-tab-span">
{class="apple-tab-span">
nodeptr=nodeptr->next;class="apple-tab-span">
}class="apple-tab-span">
nodeptr->next=newNode;class="apple-tab-span">
}class="apple-tab-span">
}
void list::display()const
{
student *nodeptr;class="apple-tab-span">
nodeptr=head;class="apple-tab-span">
while(nodeptr)class="apple-tab-span">
{class="apple-tab-span">
cout <<" "<<nodeptr->id <<" " << nodeptr->name<<" "<<nodeptr->address<<" "<<nodeptr->gpa<<endl;class="apple-tab-span">
nodeptr=nodeptr->next;class="apple-tab-span">
}class="apple-tab-span">
}
list::~list()
{
student *nodeptr=head;class="apple-tab-span">
student *n;class="apple-tab-span">
while(nodeptr!=NULL)class="apple-tab-span">
{class="apple-tab-span">
n=nodeptr->next;class="apple-tab-span">
cout<<"delete"<<nodeptr->id<<"delete"<<nodeptr->name<<"deleted"<<nodeptr->address<<"deleted"<<nodeptr->gpa<<endl;class="apple-tab-span">
delete nodeptr;class="apple-tab-span">
nodeptr=n;class="apple-tab-span">
}class="apple-tab-span">
}
#endif
main
#include<iostream>
#include"hw1.h"
#include<string>
using namespace std;
int main()
{
list record;class="apple-tab-span">
record.append(12345,John,Austin, 2.5);//errorclass="apple-tab-span">
record.append(23455,Sam,Sanantonio,3.0);//errorclass="apple-tab-span">
record.append(45661,Tony,Houston, 2.8); error till before displayclass="apple-tab-span">
record.append(23456,Min, Seoul,3.2);class="apple-tab-span">
record.append(45678,Jay,Sanmarcos,2.3);class="apple-tab-span">
record.append(34214,Danny,Austin,3.0);class="apple-tab-span">
record.append(12356,Mina,Austin,2.0);class="apple-tab-span">
record.append(23415,Kevin,Sanmarcos,2.74);class="apple-tab-span">
record.append(12987,Linda,sanantonio,3.23);class="apple-tab-span">
record.append(47253,Lisa, Dallas, 1.8);class="apple-tab-span">
record.append(32829,Lina, Houston,2.0);class="apple-tab-span">
record.append(47253,Joo, Seoul, 3.0);class="apple-tab-span">
record.append(34987,Kim,Austin, 4.0);class="apple-tab-span">
record.append(20983,Regina,Austin,2.8);class="apple-tab-span">
record.append(12098,Tom,Seattle, 2.5);class="apple-tab-span">
record.append(98766,Gina,Houston, 3.4);class="apple-tab-span">
record.append(76587,Chris,SanMarcos, 1.6);class="apple-tab-span">
record.append(65473,Kiara,SanMarcos,1.75);class="apple-tab-span">
record.append(34985,Simon,Austin,4.0);class="apple-tab-span">
record.append(67832,James,Austin,2.2);//errorclass="apple-tab-span">
record.display();class="apple-tab-span">
return 0;class="apple-tab-span">
}
Explanation / Answer
h file
#ifndef HW1_H
#define HW1_H
#include<iostream>
#include<string>
using namespace std;
class list
{
private:
struct student
{
double id;
string name;
string address;
double gpa;
struct student *next;
};
student *head;
public:
list()
{
head= NULL;
}
~list();
void append(double,string,string,double);
void display()const;
};
void list::append(double identifi,string name1,string home,double grade)
{
student *newNode=new student;
student *nodeptr;
newNode->id=identifi;
newNode->name=name1;
newNode->address=home;
newNode->gpa=grade;
if(head==NULL)
{
head=newNode;
newNode->next=NULL;
}
else
{
nodeptr=head;
while(nodeptr->next!=NULL)
{
nodeptr=nodeptr->next;
}
nodeptr->next=newNode;
}
}
void list::display()const
{
student *nodeptr;
nodeptr=head;
while(nodeptr)
{
cout <<" "<<nodeptr->id <<" " << nodeptr->name<<" "<<nodeptr->address<<" "<<nodeptr->gpa<<endl;
nodeptr=nodeptr->next;
}
}
list::~list()
{
student *nodeptr=head;
student *n;
while(nodeptr!=NULL)
{
n=nodeptr->next;
cout<<"delete"<<nodeptr->id<<"delete"<<nodeptr->name<<"deleted"<<nodeptr->address<<"deleted"<<nodeptr->gpa<<endl;
delete nodeptr;
nodeptr=n;
}
}
#endif
main
#include<iostream>
#include"hw1.h"
#include<string>
using namespace std;
int main()
{
list record;
record.append(12345,"John","Austin", 2.5);//error
record.append(23455,"Sam","Sanantonio",3.0);//error
record.append(45661,"Tony","Houston", 2.8); error till before display
record.append(23456,"Min", "Seoul",3.2);
record.append(45678,"Jay","Sanmarcos",2.3);
record.append(34214,"Danny","Austin",3.0);
record.append(12356,"Mina","Austin",2.0);
record.append(23415,"Kevin","Sanmarcos",2.74);
record.append(12987,"Linda","sanantonio",3.23);
record.append(47253,"Lisa", "Dallas", 1.8);
record.append(32829,"Lina", "Houston",2.0);
record.append(47253,"Joo", "Seoul", 3.0);
record.append(34987,"Kim","Austin", 4.0);
record.append(20983,"Regina","Austin",2.8);
record.append(12098,"Tom","Seattle", 2.5);
record.append(98766,"Gina","Houston", 3.4);
record.append(76587,"Chris","SanMarcos", 1.6);
record.append(65473,"Kiara","SanMarcos",1.75);
record.append(34985,"Simon","Austin",4.0);
record.append(67832,"James","Austin",2.2);//error
record.display();
return 0;
}
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.