前段時間學習鍊錶,編乙個學生管理系統,歡迎指正

2021-08-19 18:14:56 字數 1880 閱讀 2779

//編譯預處理

#include

#include

#include

#include

//自定義資料型別

typedef struct

std;

typedef struct lnode

lnode,*linklist;

//函式宣告

int init(linklist *l);

int insert(linklist l,int i,std x);

int dele(linklist l,int i,std *x);

int nameloca(linklist l,char *name);

int disp(linklist l);

int menu();

//主函式

void main()

while(yn=='y'||yn=='y');

printf("按任意鍵繼續!\n");

getch();

break;

//插入資料

case 2:printf("請輸入學生的學號、姓名、分數,用空格隔開\n");

scanf("%d  %s  %lf",&x.num,x.name ,&x.score  );

printf("請輸入想要插入的位置:\n");

scanf("%d",&n);

insert(l,n,x);

printf("按任意鍵繼續!\n");

getch();

break;

//根據學生姓名刪除資訊

case 3:printf("請輸入要刪除學生的姓名:\n");

char st[20];

scanf("%s",st);

n=nameloca(l,st);

if(dele(l,n,&x))

printf("按任意鍵繼續!\n");

getch();

break;

//顯示學生資料

case 4:

disp(l);

printf("按任意鍵繼續!\n");

getch();

break;

//退出

case 0:exit(0); }

} }//

int init(linklist *l)

// int insert(linklist l,int i,std x)

//p記住第i-1個節點,pos記住p指向節點的位置

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

//正常情況下pos==i-1

s=new lnode;//生成新節點

s->data =x;

s->next =p->next ;

p->next =s;

return 1; }

// int dele(linklist l,int i,std *x)

if(p->next ==null||pos>i-1)

q=p->next ;

p->next =q->next ;

*x=q->data ;

free(q);

return 1; }

// int nameloca(linklist l,char *name)

else return n;

if(p==null)

return 0; }

// int disp(linklist l)

while(p)

return 1; }

// int menu()

}

前段時間看到乙個「熊來了」的HTML5跑酷遊戲

前段時間看到乙個 熊來了 的html5跑酷遊戲,它是乙個典型的正面2d跑酷遊戲,這裡借用它來介紹一下用gamebuilder cantk開發正面跑酷遊戲的基本方法。var nut this.find ui nut var win this var totalscore 0 var nut,stone...

乙個通用的雙向鍊錶管理程式

在寫乙個小工具的時候,需要用到對ini檔案的管理。為了讓這個小工具在linux也適用,所以在寫程式的時候沒有使用mfc提供的類庫,也沒有使用windows提供的ini操作函式,直接拿標準c寫了乙個。在操作ini的過程中,我拿兩種雙向鍊錶來描述乙個ini檔案,也就意味著,要針對每種鍊錶都寫一套插入 刪...

用順序表實現乙個簡單的學生資訊管理系統

用順序表實現乙個簡單的學生資訊管理系統,包括如下功能 1 建立學生表 2 輸出學生表 3 增加學生資訊 4 刪除學生資訊 指定學號或者序號,如第幾個學生 5 按照給定的學號查詢學生資訊 6 插入學生資訊 學生資訊結點型別如下 typedef struct student 功能實現 include u...