資源簡介
實現一個學生管理系統,即定義一個包含學生信息(學號,姓名,成績)的的順序表,可以不考慮重名的情況,系統至少包含以下功能: (1) 根據指定學生個數,逐個輸入學生信息; (2) 逐個顯示學生表中所有學生的相關信息; (3) 給定一個學生信息,插入到表中指定的位置; (4) 刪除指定位置的學生記錄; (5) 統計表中學生個數; (6) 利用直接插入排序或者折半插入排序按照姓名進行排序; (7) 利用快速排序按照學號進行排序; (8) 根據姓名進行折半查找,要求使用遞歸算法實現,成功返回此學生的學號和成績; (9) 根據學號進行折半查找,要求使用非遞歸算法實現,成功返回此學生的姓名和成績。
代碼片段和文件信息
#include?
#include?
#define?ERROR?0
#define?OK?1
#define?SIZE?100
typedef?int?Status;
typedef?struct?{
????char?no[8];???//學號
????char?name[20];?//姓名
????int?score;?????//成績
}Student;
typedef?struct{
????Student?*elem; //定義指向Student的指針
????int?length;//當前長度
????int?listsize;
}SqList;
/*輸入學生信息*/
Status?InitList_Sq(SqList?&Lint?n){
int?i;
????L.elem=new?Student[SIZE];
L.length=1; //留下L.elem[0]作為哨兵
for(i=1;i {
cout<<“學號:“;
cin>>L.elem[i].no;
cout<<“姓名:“;
cin>>L.elem[i].name;
cout<<“成績:“;
cin>>L.elem[i].score;
cout< L.length++;
}
return?OK;
}
/*打印學生信息*/
Status?Display_Sq(SqList?L){
cout<<“位置“<<“??學號??“<<“姓名??“<<“成績“< for(int?j=1;j cout<<“?“< }
return?OK;
}
/*插入學生信息到表*/
Status?Insert_Sq(SqList?&Lint?n){
if(L.length==SIZE){ //考慮表中空間已滿的情況
cout<<“操作失敗,系統空
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????7585??2009-05-19?20:55??Student.cpp
-----------?---------??----------?-----??----
?????????????????7585????????????????????1
- 上一篇:汽車理論二自由度模型仿真
- 下一篇:multisim 仿真mc1496調幅電路
評論
共有 條評論