本程式若執行失敗請關閉重試,若再次失敗可以自行先建立乙個資料夾 「d:\\000\\studentinfo.txt」
邊學鍊錶,結構體,指標邊做的程式,加起來學做了48小時,所以肯定存在很多不足,這是第二版,請多包含。
#define _crt_secure_no_warnings
#include#include#include//2020 12 14--8:16完工
#include//指標,結構,鍊錶,檔案操作,封裝
#include#includevoid menu(struct node* link , struct student asd);//選單欄
struct student;
struct node;
struct node* creatlink();//建立鍊錶(表頭)
struct node* creatnode(struct student data);//建立節點
void insetnodebyhead(struct node* headnode, struct student data);//增加
void debeatenode(struct node* headnode, char name[20]);//刪除
void searchnode(struct node* headnode, char name[20]);//查詢
void changenode(struct node* headnode, char name[20]);//修改
void printlink(struct node* headnode);//列印鍊錶
void inset(struct node* link , struct student asd);//具體增加函式
void debeate(struct node* link , struct student asd);//具體刪除函式
void search(struct node* link , struct student asd);//具體查詢函式
void change(struct node* link , struct student asd);//具體修改函式
void look(struct node* link , struct student asd);//具體瀏覽函式
void readinfofromfile(struct node* headnode, const char* readfile);//讀出檔案
void writeinfofromfile(struct node* headnode, const char* writefile);//寫入檔案
struct student
; char ***[5] = ;
int age = 0;
char tel[20] = ;
};void menu(struct node* link,struct student asd)
}struct node
;struct node* creatlink()//建立鍊錶(表頭)
struct node* creatnode(struct student data)//建立節點
void insetnodebyhead(struct node* headnode, struct student data)//增加
void debeatenode(struct node* headnode,char name[20])//刪除
else
}pfrontmove->next = pmove->next;
free(pmove); }}
void changenode(struct node* headnode, char name[20])//修改
else
}printf("\t\t請輸入學生的 姓名 性別 年齡 **號碼(請勿使用中文)\n\t\t");
scanf_s("%s %s %d %s", pmove->data.name, sizeof(pmove->data.name), pmove->data.***, sizeof(pmove->data.***), &pmove->data.age, pmove->data.tel, sizeof(pmove->data.tel)); }}
void searchnode(struct node* headnode, char name[20])//查詢
else
}system("cls");
printf("\t姓名\t\t性別\t\t年齡\t\t**號碼\n");
setbuf(stdin, null);
printf("\t%s\t\t%s\t\t%d\t\t%s\n", pmove->data.name,pmove->data.***,pmove->data.age,pmove->data.tel);
setbuf(stdin, null);
}}void printlink(struct node* headnode)//列印鍊錶
printf("\t%s\t\t%s\t\t%d\t\t%s\n", pmove->data.name, pmove->data.***, pmove->data.age, pmove->data.tel);
pmove = pmove->next; }
}void inset(struct node* link , struct student asd)
else
} }}
void debeate(struct node* link, struct student asd)
void search(struct node* link, struct student asd)
else }
void change(struct node* link, struct student asd)
void look(struct node* link, struct student asd)
else }
void readinfofromfile(struct node* headnode, const char* readfile)
while (fscanf_s(fp, "%s %s %d %s", asd.name, sizeof(asd.name), asd.***, sizeof(asd.***), &asd.age, asd.tel, sizeof(asd.tel)) != eof)
fclose(fp);
}void writeinfofromfile(struct node* headnode, const char* writefile)
fclose(fp);
}int main()
C語言版簡易的學生成績管理系統
主要功能有增加資訊,改動資訊,查詢資訊,刪除資訊,各種資料的從低到高和從高到低排序,最大值最小值等 include include struct student struct student s 30 int n int t void into void change void search voi...
學籍管理系統(C語言版)
設計乙個學籍管理系統,基本功能包括 1.輸入學生基本資訊 2.查詢學生資訊 1.按學號2.按姓名 3.刪除學生資訊 1.按學號2.按姓名 4.學生資訊排序 1.按學號2.按姓名 5.修改學生基本資訊 6.輸出學生資訊 7.儲存學生資訊 0.退出程式 注 由於知識有限,該系統暫時規定只輸入3個學生資料...
學生資訊管理系統(C語言版本)
這是我個人寫的乙個學生管理系統,這是我僅僅用來練手的 要知道鍊錶可是你在面試過程中最大機率會考到的,我是陸續從單向鍊錶入門,然後採用雙向鍊錶寫的 如有bug,請指正,讓我們 共同進步!1 include2 include3 include 4struct student5 14 typedef st...