




已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
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(請輸入學(xué)生的姓名:); scanf(%s,p0-name); printf(請輸入學(xué)生的年齡:); scanf(%d,&p0-age); printf(請輸入學(xué)生的性別:); scanf(%s,p0-sex); printf(請輸入學(xué)生的出生年月:); scanf(%s,p0-birthday); printf(請輸入學(xué)生的地址:); scanf(%s,p0-address); printf(請輸入學(xué)生的電話:); scanf(%ld,&p0-tele_num); printf(請輸入學(xué)生的E-mail:); scanf(%s,p0-E_mail); insert(p0); printf(該學(xué)生的信息為:n); printf(-); printf(學(xué)號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); /瀏覽學(xué)生信息 void displayAll() struct student *p; printf(學(xué)生總數(shù):%dn, TOTAL_NUM); p = head; if(head != NULL) printf(n學(xué)號t姓名t年齡t性別t出生年月t地址t電話tE-mailn); printf(-); do display(p); p = p-next; while(p != NULL); printf(n); /查詢學(xué)生信息 void query() int choice; choice = -1; do printf(n); printf(+-+n); printf(| 按學(xué)號查詢 請按 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); /按學(xué)號查詢學(xué)生信息 void query_by_num() int num; struct student *p1; printf(請輸入學(xué)生的學(xué)號:); scanf(%ld, &num); if(head=NULL) printf(無學(xué)生記錄!n); return; p1=head; while(num!=p1-num & p1-next!=NULL) p1=p1-next; if(num = p1-num) printf(n學(xué)號t姓名t年齡t性別t出生年月t地址t電話tE-mailn); printf(-); display(p1); else printf(沒有該學(xué)生記錄,請核對!); /按姓名查詢學(xué)生信息 void query_by_name() char name20; struct student *p1; printf(請輸入學(xué)生的姓名:); scanf(%s, name); if(head=NULL) printf(無學(xué)生記錄!n); return; p1=head; while(strcmp(name, p1-name) & p1-next!=NULL) p1=p1-next; if(!strcmp(name, p1-name) printf(n學(xué)號t姓名t年齡t性別t出生年月t地址t電話tE-mailn); printf(-); display(p1); else printf(沒有該學(xué)生記錄,請核對!); /寫入文件 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); /刪除學(xué)生信息 void del() struct student *p1, *p2; long int num; if(head = NULL) printf(無學(xué)生記錄!n); return; printf(請輸入您要刪除的學(xué)生的學(xué)號:); 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(沒有該學(xué)生記錄,請核對!n); /修改學(xué)生信息 void change() struct student *p1, *p2; long int num; if(head = NULL) printf(無學(xué)生記錄!n); return; printf(請輸入您要修改的學(xué)生的學(xué)號:); 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(沒有該學(xué)生記錄,請核對!n); void devise(struct student *p) int choice; choice = -1; do printf(請選擇您要修改的學(xué)生的信息內(nèi)容: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)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 鉆井操作考試試題大全及答案
- 中班健康教案:鞋帶蝴蝶結(jié)
- 物業(yè)秩序安全培訓(xùn)
- 文科理論培訓(xùn)講解
- 2025年 車險理賠考試卷庫五附答案
- 腫瘤藥學(xué)服務(wù)案例實踐路徑
- 應(yīng)急預(yù)案教育培訓(xùn)
- 培訓(xùn)班月總結(jié)報告
- 重癥皮膚護(hù)理常規(guī)
- 中醫(yī)護(hù)理健康宣教流程
- 社會組織行政執(zhí)法程序解讀及典型案例分析教材
- 2022年中國醫(yī)學(xué)科學(xué)院放射醫(yī)學(xué)研究所高層次人才引進(jìn)筆試備考題庫及答案解析
- 工程地質(zhì)學(xué)實習(xí)報告
- 大班幼兒自主建構(gòu)游戲:搭雞窩 課件
- 信息檢索智慧樹知到答案章節(jié)測試2023年齊魯工業(yè)大學(xué)
- 鋁鎂錳金屬屋面專項施工組織設(shè)計
- 攪拌器的型式
- 傳感器原理 磁電式傳感器
- XX印務(wù)有限公司采購控制程序
- 2.溝槽開挖(檢驗批)質(zhì)量驗收記錄表
- GB/T 8433-1998紡織品色牢度試驗?zāi)吐然味?游泳池水)
評論
0/150
提交評論