问题及代码:
sty.h
void menu();
void select();
void SearchNum(struct stu *head);
void SearchName(struct stu *head);
void print(struct stu *head);
void No(struct stu *head);
void selectmh(struct stu *head);
void sort(struct stu *head);
void insert(struct stu *head);
void del(struct stu *head);
struct stu *creat();
struct stu
{
int num;
char name[20];
float Ma;
float En;
float Ch;
float all;
int order;
struct stu *next;
};
sty.cpp
#include "sty.h"
#include<iostream>
#include<malloc.h>
#include<iomanip>
#define NULL 0
#define LinkList sizeof(struct stu)
using namespace std;
int n=0;
struct stu *creat()
{
system("cls");
struct stu *head,*p1,*p2;
n=0;
p1=p2=(struct stu *)malloc(LinkList);
int a=0,i;
cout<<"请输入要创建的学生人数"<<endl;
cin>>a;
system("cls");
head=p1;
for(i=0;i<a;i++)
{
cout<<"请输入第"<<i+1<<"名学生学号"<<endl;
cin>>p1->num;
cout<<"请输入第"<<i+1<<"名学生姓名"<<endl;
cin>>p1->name;
cout<<"请输入第"<<i+1<<"名学生数学成绩"<<endl;
cin>>p1->Ma;
cout<<"请输入第"<<i+1<<"名学生英语成绩"<<endl;
cin>>p1->En;
cout<<"请输入第"<<i+1<<"名学生语文成绩"<<endl;
cin>>p1->Ch;
p1->all=p1->Ma+p1->En+p1->Ch;
p2->next=p1;
p2=p1;
p1=(struct stu*)malloc(LinkList);
system("cls");
n++;
}
p2->next=NULL;
return head;
}
void print(struct stu *head)
{
system("cls");
cout<<"学号 "<<"姓名 "<<"数学 "<<"英语 "<<"语文 "<<"总分"<<endl;
struct stu *p;
p=head;
if(head!=NULL)
{
do
{
cout<<" "<<setiosflags(ios_base::left)<<setw(5)<<p->num<<setw(5)<<p->name<<setw(5)<<p->Ma<<setw(5)<<p->En<<setw(5)<<p->Ch<<setw(5)<<p->all<<resetiosflags(ios_base::left)<<endl;
p=p->next;
}
while(p!=NULL);
cout<<endl<<endl<<endl<<endl<<endl<<endl<<endl;