mn giúp mk với. cái dòng nhập tên vào danh sách liên kết đơn báo sai là sao?
#include<iostream>
#include<string.h>
#include<stdlib.h>
using namespace std;
struct sv{
int masv;
string ten;
int diemtoan,diemvan,diemtb;
};
struct node{
sv data;
struct node *pNext;
};
typedef struct node Node;
Node *getNode(sv x){
Node *p;
if(p==NULL ) return NULL;
else{
p->data=x;
p->pNext=NULL;
}
return p;
}
void nhap(sv x,Node *p){
p = new Node;
p->pNext = NULL;
int masv;
string hoten;
int diemtoan,diemvan,diemtb;
cout<<"\n Nhap ma sinh vien: ";
cin>>masv;
p->data.masv =masv;
cout<<"\nHo ten: ";
getline(cin,hoten);
strcpy(p->data.ten,hoten);
cout<<"\nDiem toan: ";
cin>>diemtoan;
p->data.diemtoan=diemtoan;
cout<<"\t\t Diem van: "; cin>>diemvan;
p->data.diemvan;
}
int tinhdiemtb(sv x){
int diemtb;
diemtb=(x.diemtoan+x.diemvan)/2;
return diemtb;
}
void in(){
Node *p;
int masv;
string ten;
int diemtoan,diemvan,diemtb;
cout << "\n" << p->data.ten << "\t\t" << p->data.masv << "\n" << "diem toan: " << p->data.diemtoan;
cout<<"\t\t\t diem van: "<<diemvan;
cout<<"\t\t"<<tinhdiemtb(p->data);
}
//Em phai lam lai cái ch??ng trình con này, vì nó ko theo ki?u danh sách liên k?t
void thuchien(sv x){
int n,chon;
Node *p;
cout<<"\t1-nhap";
cout<<"\n\t2- in";
cout<<"\n moi chon.";
cin>> chon;
switch(chon){
case 1: {
cout<<"nhap so sinh vien: ";
cin>>n;
for(int i=1;i<=n;i++){
nhap(x,p);
break;
}
}
case 2: for(int i=1;i<=n;i++){
in();
break;
}
default :cout<<"\nchon lai.";
}
}
int main(){
sv x;
thuchien(x);
}



83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?