C 單鏈表實現學生成績表系統

2022-09-07 05:15:13 字數 2810 閱讀 1537

#include#include#include #include"stdlib.h"

using namespace std;

class node;

class studlist

; void menu(studlist *list);

void s**e(studlist *list);

void read(studlist *list);

int main()

studlist::studlist()

void studlist::display()

}//建立乙個空表

void studlist::createlist()

node *studlist::gethead()

void studlist::pushback()

cur=head;

p=new node();

t= head;

while(cur->next)

cout<<"輸入學號:"<>p->num;

while(t)

cout<<"輸入姓名:"<>p->name;

cout<<"輸入高數成績:"<>p->math;

cout<<"輸入英語成績:"<>p->english;

cout<<"輸入物理成績:"<>p->physics;

**ergrade(p);

if(head->num==0)

cur->next = p;

p->next=null;

}void studlist::**ergrade(node *node)

//獲取單鏈表長度

int studlist::getlen()

return n;

}//插入乙個節點

void studlist::insert()

node *cur,*t,*pr,*newnode;

if(head==null||head->num==0)

newnode = new node();

t=head;

cout<<"輸入插入學生的學號:"<>newnode->num;

while(t)

cout<<"輸入姓名:"<> newnode->name;

cout<<"輸入高數成績:"<>newnode->math;

cout<<"輸入英語成績:"<>newnode->english;

cout<<"輸入物理成績:"<>newnode->physics;

**ergrade(newnode);

pr->next=newnode;

newnode->next=cur; }

//刪除

int studlist::delete()

pr->next=cur->next;

return 1; //若刪除的是最後乙個節點則不能使用 cur->next->next,前邊已經 cur = cur->next;不許操作

} pr=cur;

cur=cur->next;

} cout<<"沒有查到要刪除的學號"<>n;

while(cur)

return -1;

}void swapnode(node *a,node *b)

ft=a->math;

a->math=b->math;

b->math=ft;

ft=a->english;

a->english=b->english;

b->english=ft;

ft=a->physics;

a->physics=b->physics;

b->physics=ft;

ft=a->**erage;

a->**erage=b->**erage;

b->**erage=ft;

}void studlist::sortm()

cur=cur->next;

} }}void studlist::sorte()

cur=cur->next;

} }

}void studlist::sortp()

cur=cur->next;

} }

}void studlist::sort**er()

cur=cur->next;

} }cur=head;

while(cur)

rank++;

cur=cur->next; }}

//按成績排序

void studlist::sort()

}int studlist::countnotm()

cout<<"共計數學不及格人數:"cout<<"共計英語不及格人數:"cout<<"共計物理不及格人數:"<>m;

switch(m)

}//選單

void menu(studlist *list) }}

//儲存檔案

void s**e(studlist *list)

outfile.close();

cout<<"儲存成功!"p=list->gethead();

infile.open("stud_data.dat",ios::binary);

if(!infile)

h=list->gethead();

while(h->next->num)

h->next=null;

infile.close();

cout<<"讀取成功!"<}

c 實現學生成績管理

include include include include include struct score void main printf all the score bellow n printf id t語文 t英語 t數學 n for i 0 i int max 0 int m 0 for i...

順序表實現學生成績操作

標頭檔案 ifndef seqlist h define seqlist h const int maxsize 100 class seqlist seqlist int a,int n seqlist void insert int i,int x 在表中第i個位置插入值x為的元素 int de...

C語言之學生成績表

練習 班主任需要在計算機中錄入n個同學的成績資訊,資訊包含 學號 姓名 性別 總成績 語文成績 英語成績 數學成績 程式在編寫時有如下要求 1.n由班主任確定,且使用malloc申請記憶體 2.學號以201805xx形式,姓名為英文名,語文成績 英語成績 數學成績由班主任輸入,總成績需要由程式計算 ...