




已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
C語言班級信息管理系統(tǒng)#include #include #include #include #define NULL 0 #define LEN sizeof(struct student) #define FILE_DATA_PATH c:student.txt struct student long int num; char name20; int age; char sex4; char birthday10; char address30; long int tele_num; char E_mail20; struct student *next; ; int TOTAL_NUM = 0; struct student *head = NULL; void welcome(); void mainmenu(); void record(); void insert(struct student *stu); void display(struct student *stu); void displayAll(); void query(); void query_by_num(); void query_by_name(); void readData(); void writeData(); void freeAll(); void del(); void change(); void devise(struct student *p); int main() char userName9; char userPWD7; int i; welcome(); for(i = 0; i 3; i+) printf(n管理員初始用戶名和密碼均為adminn); printf(請輸入您的用戶名:); scanf(%s, userName); printf(n請輸入您的密碼:); scanf(%s, userPWD); if (strcmp(userName,admin)=0) & (strcmp(userPWD,admin)=0) /用戶名和密碼正確,顯示主菜單 mainmenu(); break; else if (i num); printf(請輸入學生的姓名:); scanf(%s,p0-name); printf(請輸入學生的年齡:); scanf(%d,&p0-age); printf(請輸入學生的性別:); scanf(%s,p0-sex); printf(請輸入學生的出生年月:); scanf(%s,p0-birthday); printf(請輸入學生的地址:); scanf(%s,p0-address); printf(請輸入學生的電話:); scanf(%ld,&p0-tele_num); printf(請輸入學生的E-mail:); scanf(%s,p0-E_mail); insert(p0); printf(該學生的信息為:n); printf(-); printf(學號t姓名t年齡t性別t出生年月tt地址t電話tE-mailn); display(p0); void insert(struct student *stu) struct student *p0, *p1, *p2; p1 = head; p0 = stu; if(head = NULL) head = p0; p0-next = NULL; else while(p0-num p1-num)&(p1-next != NULL) p2 = p1; p1 = p1-next; if(p0-num num) if(head = p1) head = p0; else p2-next = p0; p0-next = p1; else p1-next = p0; p0-next = NULL; TOTAL_NUM+; void display(struct student *p) printf(%ldt%st%dt%st%st%st%ldt%sn, p-num, p-name, p-age, p-sex, p-birthday, p-address, p-tele_num, p-E_mail); /瀏覽學生信息 void displayAll() struct student *p; printf(學生總數(shù):%dn, TOTAL_NUM); p = head; if(head != NULL) printf(n學號t姓名t年齡t性別t出生年月t地址t電話tE-mailn); printf(-); do display(p); p = p-next; while(p != NULL); printf(n); /查詢學生信息 void query() int choice; choice = -1; do printf(n); printf(+-+n); printf(| 按學號查詢 請按 1 |n); printf(| 按姓名查詢 請按 2 |n); printf(| 取消 請按 0 |n); printf(+-+n); printf(請輸入您的選擇:); scanf(%d, &choice); switch(choice) case 0: return; case 1: query_by_num(); break; case 2: query_by_name(); break; default: printf(n無效選項!); break; while(choice != 0); /按學號查詢學生信息 void query_by_num() int num; struct student *p1; printf(請輸入學生的學號:); scanf(%ld, &num); if(head=NULL) printf(無學生記錄!n); return; p1=head; while(num!=p1-num & p1-next!=NULL) p1=p1-next; if(num = p1-num) printf(n學號t姓名t年齡t性別t出生年月t地址t電話tE-mailn); printf(-); display(p1); else printf(沒有該學生記錄,請核對!); /按姓名查詢學生信息 void query_by_name() char name20; struct student *p1; printf(請輸入學生的姓名:); scanf(%s, name); if(head=NULL) printf(無學生記錄!n); return; p1=head; while(strcmp(name, p1-name) & p1-next!=NULL) p1=p1-next; if(!strcmp(name, p1-name) printf(n學號t姓名t年齡t性別t出生年月t地址t電話tE-mailn); printf(-); display(p1); else printf(沒有該學生記錄,請核對!); /寫入文件 void writeData() FILE* fp;/文件指針 struct student *p; fp = fopen(FILE_DATA_PATH, w); if (!fp) printf(文件打開錯誤!); return; fprintf(fp,%dn, TOTAL_NUM); for(p = head; p!= NULL; p= p-next) fprintf(fp,%ldt%st%dt%st%st%st%ldt%sn, p-num, p-name, p-age, p-sex, p-birthday, p-address, p-tele_num, p-E_mail); fclose(fp); void freeAll() struct student *p1, *p2; p1=p2=head; while(p1) p2=p1-next; free(p1); p1=p2; /讀取文件 void readData() FILE* fp;/文件指針 struct student *p1, *p2; fp = fopen(FILE_DATA_PATH, r); if (!fp) printf(文件打開錯誤!); return 0; fscanf(fp,%dn, &TOTAL_NUM); head = p1 = p2 = (struct student *)malloc(LEN); fscanf(fp,%ldt%st%dt%st%st%st%ldt%sn, &p1-num, p1-name, &p1-age, p1-sex, p1-birthday, p1-address, &p1-tele_num, p1-E_mail); while(!feof(fp) p1 = (struct student *)malloc(LEN); fscanf(fp,%ldt%st%dt%st%st%st%ldt%sn, &p1-num, p1-name, &p1-age, p1-sex, p1-birthday, p1-address, &p1-tele_num, p1-E_mail); p2-next = p1; p2 = p1; p2-next = NULL; fclose(fp); /刪除學生信息 void del() struct student *p1, *p2; long int num; if(head = NULL) printf(無學生記錄!n); return; printf(請輸入您要刪除的學生的學號:); scanf(%ld, &num); p1 = head; while(num != p1-num & p1-next != NULL) p2 = p1; p1 = p1-next; if(num = p1-num) if(p1 = head) head = p1-next; else p2-next = p1-next; free(p1); TOTAL_NUM-; else printf(沒有該學生記錄,請核對!n); /修改學生信息 void change() struct student *p1, *p2; long int num; if(head = NULL) printf(無學生記錄!n); return; printf(請輸入您要修改的學生的學號:); scanf(%ld, &num); p1 = head; while(num != p1-num & p1-next != NULL) p2 = p1; p1 = p1-next; if(num = p1-num) devise(p1); else printf(沒有該學生記錄,請核對!n); void devise(struct student *p) int choice; choice = -1; do printf(請選擇您要修改的學生的信息內容:n); printf(+-+n); printf(| 姓名 請按 1 |n); printf(| 年齡 請按 2 |n); printf(| 性別 請按 3 |n); printf(| 出生年月 請按 4 |n); printf(| 地址 請按 5 |n); printf(| 電話 請按 6 |n); printf(| E-mail 請按 7 |n); printf(| 取消 請按 0 |n); printf(+-+n); printf(請輸入您的選擇:); scanf(%d, &choice); switch(choice) case 0: return; case 1: printf(請輸入新姓名:); scanf(%s, p-name); break; case 2: printf(請輸入新年齡:); scanf(%d, &p-age); break; case 3: printf(請輸入新性別:); scanf(%s, p-sex); break; case 4: prin
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 康復醫(yī)療服務體系2025年構建與運營模式創(chuàng)新案例分析報告
- 2025年電商平臺內容營銷與種草經(jīng)濟在寵物美容院行業(yè)的應用案例報告
- 2025屆河北承德市隆化縣七下英語期末預測試題含答案
- 面向2025年工業(yè)互聯(lián)網(wǎng)平臺的網(wǎng)絡隔離技術在網(wǎng)絡安全技術應用應用研究中的應用報告001
- 2025年工業(yè)互聯(lián)網(wǎng)平臺邊緣計算硬件架構在智能安防中的應用報告
- 2025年醫(yī)院信息化建設電子病歷系統(tǒng)優(yōu)化與醫(yī)療信息化人才培養(yǎng)體系研究報告
- 2025年綠色消費理念傳播對消費者綠色家電消費的影響報告
- 2025年天然氣水合物(可燃冰)開采技術深度剖析與未來展望報告
- 工業(yè)互聯(lián)網(wǎng)平臺RFID技術在家政清潔服務行業(yè)的應用實踐報告
- 2025年醫(yī)藥物流行業(yè)合規(guī)運營與信息化系統(tǒng)藥品銷售渠道整合報告
- 2022年中國醫(yī)學科學院放射醫(yī)學研究所高層次人才引進筆試備考題庫及答案解析
- 工程地質學實習報告
- 大班幼兒自主建構游戲:搭雞窩 課件
- 信息檢索智慧樹知到答案章節(jié)測試2023年齊魯工業(yè)大學
- 鋁鎂錳金屬屋面專項施工組織設計
- 攪拌器的型式
- 傳感器原理 磁電式傳感器
- XX印務有限公司采購控制程序
- 2.溝槽開挖(檢驗批)質量驗收記錄表
- GB/T 8433-1998紡織品色牢度試驗耐氯化水色牢度(游泳池水)
- GB/T 12719-2021礦區(qū)水文地質工程地質勘查規(guī)范
評論
0/150
提交評論