




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、C語言編寫的班級信息管理系統(tǒng)有 班級信息錄入,班級信息查詢,班級信息修改,班級信息全部顯示。錄入的信息有:班級 級別 專業(yè) 班主任 總?cè)藬?shù) 男生人數(shù) 女生人數(shù)。 代碼:#include <stdio.h> #include <malloc.h> #include <string.h> #include <io.h> #define NULL 0 #define LEN sizeof(struct student) #define FILE_DATA_PATH "c:student.txt" struct student lon
2、g 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);
3、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管理員初始用戶名和密碼均為ad
4、minn"); printf("請輸入您的用戶名:"); scanf("%s", userName); printf("n請輸入您的密碼:"); scanf("%s", userPWD); if (strcmp(userName,"admin")=0) && (strcmp(userPWD,"admin")=0) /用戶名和密碼正確,顯示主菜單 mainmenu(); break; else if (i < 2) /用戶名或密碼錯誤,提示用戶重
5、新輸入 printf("用戶名或密碼錯誤,請重新輸入!"); else /連續(xù)3次輸錯用戶名或密碼,退出系統(tǒng)。 printf("您已連續(xù)3次將用戶名或密碼輸錯,系統(tǒng)將退出!"); return 0; /顯示歡迎信息 void welcome() printf("+-+n"); printf("| |n"); printf("| 歡迎使用學(xué)生信息管理系統(tǒng) |n"); printf("| |n"); printf("+-+n"); /系統(tǒng)主菜單 void ma
6、inmenu() int choice; choice = -1; readData(); printf("n溫馨提示:為保證您的操作得到保存,請按正常順序退出系統(tǒng)_n"); do printf("nnn"); printf("ttt-n"); printf("ttt+ 學(xué)生信息管理系統(tǒng) |n"); printf("ttt-n"); printf("ttt+ 1-錄入學(xué)生信息 |n"); printf("ttt+ 2-瀏覽學(xué)生信息 |n"); printf
7、("ttt+ 3-查詢學(xué)生信息 |n"); printf("ttt+ 4-刪除學(xué)生信息 |n"); printf("ttt+ 5-修改學(xué)生信息 |n"); printf("ttt+ 0-退出系統(tǒng) |n"); printf("ttt+*·*·*·*·*·*·*·*·*·*·|n"); printf("ttt-n"); printf("請輸入您的選擇:"); s
8、canf("%d", &choice); switch(choice) case 0: writeData(); freeAll(); exit(0); case 1: record(); break; case 2: displayAll(); break; case 3: query(); break; case 4: del(); break; case 5: change(); break; default: printf("n無效選項!"); break; while(choice != 0); /錄入學(xué)生信息 void record(
9、) struct student *p0; p0 = (struct student *)malloc(LEN); printf("請輸入學(xué)生的學(xué)號:"); scanf("%ld",&p0->num); printf("請輸入學(xué)生的姓名:"); scanf("%s",p0->name); printf("請輸入學(xué)生的年齡:"); scanf("%d",&p0->age); printf("請輸入學(xué)生的性別:"); scan
10、f("%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&quo
11、t;,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->
12、num > p1->num)&&(p1->next != NULL) p2 = p1; p1 = p1->next; if(p0->num <= p1->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
13、%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("-&q
14、uot;); 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("+-
15、+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; print
16、f("請輸入學(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); el
17、se 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;
18、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("文件打開錯誤!"); retu
19、rn; 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=h
20、ead; 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(
21、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->n
22、ame, &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é)
23、號:"); 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
24、 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); e
25、lse 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");
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 家居行業(yè)2025年線上線下融合模式創(chuàng)新與售后服務(wù)報告
- 企業(yè)重組擔(dān)保服務(wù)企業(yè)制定與實施新質(zhì)生產(chǎn)力項目商業(yè)計劃書
- 3D建模實踐企業(yè)制定與實施新質(zhì)生產(chǎn)力項目商業(yè)計劃書
- 高速RAID控制器行業(yè)跨境出海項目商業(yè)計劃書
- 小微企業(yè)信用擔(dān)?;鹦袠I(yè)跨境出海項目商業(yè)計劃書
- 國工控股集團有限公司介紹企業(yè)發(fā)展分析報告
- 高端定制雪茄剪工具行業(yè)跨境出海項目商業(yè)計劃書
- 【課件】Unit+6+A+day+in+the+life+-Grammar+Focus+課件人教版(2024)七上
- 【課件】Unit+5+Section+B+1a~1d++課件人教版英語七年級下冊
- 計劃書范本-家政服務(wù)公司創(chuàng)業(yè)計劃書【新版】
- 版式設(shè)計課件3,網(wǎng)格系統(tǒng)全攻略
- 船舶防臺風(fēng)安全安全知識
- 汽機發(fā)電量計算
- GB∕T 1457-2022 夾層結(jié)構(gòu)滾筒剝離強度試驗方法
- 康復(fù)治療技術(shù)(康復(fù)養(yǎng)老服務(wù))專業(yè)群建設(shè)方案
- 靜音房聲學(xué)設(shè)計方案
- 第五章結(jié)型場效應(yīng)晶體管
- 麗聲北極星自然拼讀繪本第一級Uncle Vic‘s Wagon 課件
- 2019幼兒園家委會PPT
- T∕CAAA 002-2018 燕麥 干草質(zhì)量分級
- 單人徒手心肺復(fù)蘇術(shù)PPT課件
評論
0/150
提交評論