課程設計 學生資訊管理系統(順序表 鍊錶)

2021-07-22 19:19:45 字數 3238 閱讀 2437

實驗目的:

1、掌握線性表的定義; 2

、掌握線性表的基本操作,如建立、查詢、插入和刪除等。

實驗內容:

定義乙個包含學生資訊(學號,姓名,成績)的的 順序表和煉表

,使其具有如下功能:

(1) 

根據指定學生個數,逐個輸入學生資訊;

(2) 

逐個顯示學生表中所有學生的相關資訊;

(3) 

根據姓名進行查詢,返回此學生的學號和成績;

(4) 

根據指定的位置可返回相應的學生資訊(學號,姓名,成績);

(5) 

給定乙個學生資訊,插入到表中指定的位置;

(6) 

刪除指定位置的學生記錄;

(7) 

統計表中學生個數。

參考資訊:

definition of structure student

typedef struct student;

definition of sequential list:

typedef  struct sqlist;

definition of linked list

typedef struct lnodelnode,*linklist;  

實驗要求:

(1) 

程式要新增適當的注釋,程式的書寫要採用

縮排格式 。

(2) 

程式要具在一定的 健壯性

,即當輸入資料非法時,程式也能適當地做出反應,如

插入刪除時指定的位置不對

等等。(3) 

程式要做到 介面友好

,在程式執行時使用者可以根據相應的提示資訊進行操作。

(4) 

根據實驗報告模板詳細書寫實驗報告,在實驗報告中給出鍊錶

根據姓名進行查詢的演算法和插入演算法的流程圖 。

順序表:

#include#include#include#includetypedef struct

node;

typedef struct

list;

void welcome()

int i;

void initlist(int n,list &l)

printf("輸入結束(*^__^*)\n");

}void listdelete(int n,int pos,list &l)

void getelem(int n,int pos,list l)

}int main()

if((op>1&&op<8)&&n==0)

if(op==1)

puts("");

initlist(n,l);

printf("\n請選擇操作 : ");

continue;

} if(op==2)

if(op==3)

if(op==4)

}if(flag)

printf("o(* ̄︶ ̄*)o 這就出來啦,繼續吧\n\n");

else

printf("對不起,查無此人\n\n");

printf("請選擇操作:");

continue;

} if(op==5)

if(op==6)

if(op==7)

}system("pause");

return 0;

};

鍊錶:

(之前多次給 p t 分配空間,不需要)

原來不只是刪掉那麼簡單!改了三個小時!

#include#include#include#include#define false 0

#define true 1

#define bool int

typedef struct lnode

lnode,*linklist;

void welcome()

int i;

void lnodeinit(linklist &p)

void initlist(int n,lnode &l,linklist &p)

}bool listdelete(int n,int pos,lnode &l,linklist &p)

if(!(p->next)||(j>pos-1))

return false;

t=p->next;

p->next=t->next;

free (t);

return true;

}bool listinsert(int pos,lnode &l,linklist &p)

if(p==null||(j>pos-1))

return false;

t->next=p->next;

p->next=t;

return true;

}void getelem(int pos,lnode l)

printf("學號\t\t姓名\t\t成績\n");

printf("%s\t\t%s\t\t%d\n",t->num,t->name,t->grade);

}bool listesearch(char nam[22],int n,lnode l,linklist p)

if(p!=null)

return false;

}int main()

if((op>1&&op<8)&&n==0)

if(op==1)

flag=true;

printf("**輸入學生數目及資訊**\n");

printf("請輸入學生人數 (0 ~ 100) : ");

scanf("%d",&n);

initlist(n,l,p);

printf("輸入結束(*^__^*)\n");

printf("\n請選擇操作 : ");

continue;

} if(op==2)

printf("\no(^▽^)o 請選擇操作:");

continue;

} if(op==3)

if(op==4)

if(op==5)

if(op==6)

if(op==7)

}return 0;

}

課程設計 學生資訊管理系統

煙台大學計算機與控制工程學院 檔名稱 lulu.cpp 完成日期 2015年12月31日 版本號 v1.o 問題描述 學生資訊管理系統 include include include include include xinxi.h using namespace std int main head1...

課程設計 學生資訊管理系統設計

煙台大學計算機與控制工程學院 題目 學生資訊管理系統設計 ifndef head h included define head h included using namespace std typedef struct student elemtype class list 定義結構體,第乙個結構體...

課程設計 大學生資訊管理系統

下面是解答 完成80 了,程式都能執行,還有一點功能沒有加進去,自己加吧,另外寫的比較匆忙,肯定有不完善的地方,希望完善哦!include include include include include typedef struct students student void menu void s...