實驗目的:
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...