#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
struct sv
{
char hoten[30];
char tuoi[10];
char que[20];
char msv[10];
float diem;
struct sv *pNext;
};
typedef struct sv SV;
struct list
{
SV *pHead;
SV *pTail;
};
typedef struct list LIST;
void Init(LIST &l)
{
l.pHead = l.pTail = NULL;
}
SV *Get(char hoten[], char tuoi[], char que[], char msv[], float diem)
{
SV *p = new sv;
if (p == NULL)
{
return NULL;
}
else
{
strcpy(p->hoten, hoten); // sao chép chuỗi.
strcpy(p->tuoi, tuoi);
strcpy(p->que, que);
strcpy(p->msv, msv);
p->diem = diem;
p->pNext = NULL;
return p;
}
}
void ThemDau(LIST &l, SV *p)
{
if (l.pHead == NULL)
{
l.pHead = l.pTail = NULL;
}
else
{
p->pNext = l.pHead;
l.pHead = p;
}
}
void ThemCuoi(LIST &l, SV *p)
{
if(l.pHead == NULL)
{
l.pHead = l.pTail = NULL;
}
else
{
l.pTail->pNext = p;
l.pTail = p;
}
}
// Them 1 phan tu p vào sau phần tử Q trong danh sách.
void ThemPhanTuSauQ(LIST &l, SV *p, SV *q)
{
if(q != NULL)
{
p->pNext=q->pNext; //quăng dây trỏ đến sau phần tử q.
q->pNext = p;// lưu p vào sau q.
if(q == l.pTail)
{
l.pTail = q;
}
}
else
{
ThemDau(l,p);
}
}
void NhapSV(LIST &l)
{
SV *p;
int n,i;
printf("Nhap so luong sinh vien");
scanf("%d",&n);
fflush(stdin);
Init(l);
for(i=1;i<=n;i++)
{
printf("\nNhap vao thong tin sinh vien thu %d : ",i);
printf("\nNhap vao ho ten : ");
gets(p->hoten);
fflush(stdin);
printf("\nNhap vao tuoi : ");
gets(p->tuoi);
fflush(stdin);
printf("\nNhap vao Que Quan : ");
gets(p->que);
fflush(stdin);
printf("\nNhap vao Ma Sinh Vien : ");
gets(p->msv);
fflush(stdin);
printf("\nNhap vao diem : ");
scanf("%f",&p->diem);
fflush(stdin);
SV *p = Get(p->hoten,p->tuoi,p->que,p->msv,p->diem);
ThemCuoi(l,p);
}
}
void Xuat(LIST l)
{
printf("%-20s %-10s %-15s %-5s %-8s", "Ten","Tuoi", "Que Quan","MSV","Diem");
for (SV *p = l.pHead; p != NULL ; p=p->pNext)
{
printf("%-20s %-10s %-15s %-5s %-8f", p->hoten,p->tuoi,p->que,p->msv,p->diem);
}
}
int main(int argc, char* argv[])
{
LIST l;
NhapSV(l);
Xuat(l);
getch();
return 0;
}
Mọi người giúp em với ạ , Em sai chỗ hàm void NhapSV(LIST &l). Cái chỗ đưa dữ liệu vào node đó ạ
Cú pháp để đưa dữ liệu vào Node CỦA Ngôn Ngữ C là sao ạ. ai giúp em chỗ hàm NhapSV với.
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?