C語言學生管理系統專案

2021-07-05 15:03:35 字數 4472 閱讀 2256

這是學習c語言以來的第乙個專案,花了我2周時間,前期基本上是在網上參考別人寫的**,然後自己嘗試著建立鍊錶,但是畢竟是第乙個寫的專案,還是挺累的,寫完這個專案,從此有了信心寫下面和以後所有的專案,自己還是能夠幹軟體這行的。寫的時候很辛苦,希望有人看的時候,能發現我的一些小東西吧。

專案資源位址

* c語言學生資訊管理系統(動態鍊錶版)

* 功能:增添新鍵資料、修改刪除資料、查詢統計資料

* 平台:linux

*/#include "ssss.h"

int menu_guanliyuan()

if(a==4)

return 0;

setbuf(stdin,null);}}

struct student ;

char filename[30];//全域性變數,用來儲存要開啟的檔案名字

/*生成鍊錶*/

struct student *creat(int n)

else

} return(head);

}/*資料存檔(wb只寫)*/

void writedata_wb(struct student *head)

p=p->next;

} fclose(fp);

}/*資料存檔(ab追加)*/

void writedata_ab(struct student *head)

p=p->next;

} fclose(fp);

}/*讀取資料*/

/*讀取資料檔案儲存到鍊錶中 ,返回指向此煉表頭指標*/

struct student *readdata(void)

while(!feof(fp))

if(fread(p1,len,1,fp)!=1)

if(head==null)

head=p2=p1;

else

} fclose(fp);

return (head);

}/*全量查詢*/

void print_inquire_all(void) while(pt!=null);

printf("\n\n");

}/*學號查詢*/

int print_inquire_num()

pt = pt->next;

}while(pt!=null);

printf("資料庫中沒有儲存您要查詢的資料!\n");

printf("\n\n");

return 0;

}/*姓名查詢*/

int print_inquire_name()

pt = pt->next;

}while(pt!=null);

printf("資料庫中沒有儲存您要查詢的資料!\n");

printf("\n\n");

return 0;

}/*模糊查詢*/

int print_inquire_fuzzy(void)

pt = pt->next;

}while(pt!=null);

if(!m)

printf("資料庫中沒有儲存您要查詢的資料!\n");

printf("\n\n");

return 0;

}/*成績統計*/

int print_inquire_stats(void)

if(p1->cscore < cmin)

if(p1->escore > emax)

if(p1->escore < emin)

if((p1->cscore + p1->escore) > smax)

if((p1->cscore + p1->escore) < smin)

p1 = p1->next;

} printf("\n");

printf("◎資料庫中c語言最高分為:%4.1f \n", cmax);

printf("◎資料庫中c語言最低分為:%4.1f \n\n", cmin);

printf("◎資料庫中英語最高分為:%4.1f \n", emax);

printf("◎資料庫中英語最低分為:%4.1f \n\n", emin);

printf("◎資料庫中總成績最高分為:%4.1f \n", smax);

printf("◎資料庫中總成績最低分為:%4.1f \n\n", smin);

printf("\n");

printf("【ps:更多統計功能更在開發中,敬請期待o(∩_∩)o】\n\n");

return 0;

}/*修改資料之刪除記錄*/

int delete()

else if(strcmp(pt2->num,str_num)==0)

pt2 = pt2->next;

pt1 = pt1->next;

} if(pt2!=null)

printf("資料庫中沒有儲存您要刪除的資料!\n");

printf("\n\n");

return 0;

}/*修改資料之修改記錄*/

int amend()

else if(strcmp(pt2->num,str_num)==0)

pt2 = pt2->next;

pt1 = pt1->next;

} if(pt2!=null)

printf("資料庫中沒有儲存您要刪除的資料!\n");

return 0;

}/*修改資料之學號排序*/

int neaten()

} if(first==null)

else

if(min==head)

else

} if(first!=null)

head = first;

writedata_wb(head);

return 0;

}/*修改資料之總成績排序*/

float neatenzong()

} if(first==null)

else

if(min==head)

else

} if(first!=null)

head = first;

writedata_wb(head);

return 0;

}/*修改資料之英語成績排序*/

float neatenescore()

} if(first==null)

else

if(min==head)

else

} if(first!=null)

head = first;

writedata_wb(head);

return 0;

}/*輸入寫入資料的數量*/

int creat_num(void)

return n;

}/*選擇將要開啟的檔案*/

int file_name()

/*主選單*/

void menu(void)

switch(a)

getchar();

}/*二級選單之新增資料*/

void menu_add(void)

switch(a)

}/*二級選單之新增資料*/

void menu_add5(void)

switch(a)

}/*二級選單之查詢資料*/

void menu_inquire(void)

switch(a) }}

/*二級選單之修改資料*/

void menu_amend(void)

switch(a) }}

void menu2(void)

switch(a)

getchar();

}

/*二級選單之查詢資料*/

void menu_inquire2(void)

switch(a) }}

void menu3(void)

switch(a)

getchar();

}/*輸入輸出提示欄*/

void menu_print_in(void)

void menu_print_out(void)

/*主函式*/

int main(void)

C語言學生管理系統

include include define arfile usr.ar struct arstruct void removeuser if fp fopen arfile,r null memset ar,0x00,sizeof ar printf 請輸入員工姓名 memset name,0x0...

go語言學生管理系統

學習go語言的第4天,用函式 之後用結構體 寫個學生管理系統,功能不嚴謹,只是學習過程中隨便練手的 package main import fmt os 函式版的學生資訊管理 寫乙個系統能夠檢視 增加 刪除學生 type student struct var allstudent map int64...

C語言學生成績管理系統

這次實驗遇到非常多的問題,首先,由於不清楚標頭檔案的性質和原理,出現了許多重定義的問題,在除錯程式的時候總在輸入出錯處理上耽擱了很多時間,例如回車傳到某個字元型變數,引起了很多次死迴圈,還有浮點型資料似乎不能直接傳給乙個結構體裡的變數,需要用乙個中間變數來傳遞。每乙個的輸入都得非常小心。這樣的程式是...