功能如下
1. 新增學生
2. 刪除學生
3. 修改學生資訊
4. 獲得學生資訊
5. 獲得所有學生資訊
b樹建立優勢
查詢非常快
2.任何乙個學生只需要查詢幾步(譬如2的32次方的學生,每次只需要32次遍歷)
b樹缺點
1.嚴重浪費空間,有點符合動態規劃的:以空間換時間
#include
#include
#include
typedef
struct stustu;
typedef
struct nodebitree;
bitree* init()
void binary(int x,int b)
while(x!=0)
i=31;
while(j<=i)
}void creat(bitree *root,int id)else
}else
if(b[i]==1)else}}
bt->id=id;
bt->info=(stu*)malloc(sizeof(stu));
printf("\n\t\t\tplease input the name:");
scanf("%s",bt->info->name);
}bitree* getnode(bitree *root,int id)
for (int i = 0; i < 32; ++i)
if(b[i]==0)
}else
if(b[i]==1)}}
return bt;
}int main()
else
if(a[studentid]==1)
break;
case
2: printf("\n\t\t\tplease input the studentid you want del:");
scanf("%d",&studentid);
binary(studentid,b);
stu=getnode(root,studentid);
if(stu==null)
pre=stu->pre;
if(b[31]==0)else
free(stu);
a[studentid]=0;
printf("\n\t\t\tdel success");
break;
case
3: printf("\n\t\t\tplease input the studentid you want modify:");
scanf("%d",&studentid);
stu=getnode(root,studentid);
if(stu==null)
printf("\n\t\t\tid: %d,name: %s",stu->id,stu->info->name);
printf("\n\t\t\tplease input the new name:");
scanf("%s",stu->info->name);
printf("\n\t\t\tmodify success!");
break;
case
4: printf("\n\t\t\tplease input the studentid you want search:");
scanf("%d",&studentid);
stu=getnode(root,studentid);
if(stu==null)
printf("\n\t\t\tid: %d,name: %s",stu->id,stu->info->name);
break;
case
5: for(int i=0;i<1000;i++)
}break;}}
return
0;}
MySql操作命令建立學生管理系統
1.建立學生管理系統資料庫xscj create detabase 資料庫名 2.開啟資料庫 use 資料庫名 建立資料庫之後,該資料庫不會自動成為當前資料庫需要用use來指定 3.建立表名 4.在表xs中增加 獎學金等級 列 並刪除表中的 姓名 列 alter table 表名 add 列名 dr...
使用類建立鍊錶建立學生管理系統
在學生管理系統中經常需要使用陣列來進行物件的儲存,對於一些直觀的問題,陣列確實能夠大致的解決,但是陣列卻不能夠很好判斷越界問題以及對於資料成員數量的計算,而鍊錶能很好地解決這些問題。ps 因為學生管理系統可能還需派生出其他的人員,所以使用繼承 class date char getname cons...
學生管理系統
include stdio.h include include include struct student void print void void display struct student head struct student creat q next null display head ...