




已閱讀5頁(yè),還剩33頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
#include #include#includeint N1,N2;struct couse * head1;struct student * head2;struct couse/課程信息結(jié)構(gòu)體 int num1;/課程編號(hào)char name120;/課程名稱char type20;/課程性質(zhì)int hour;/總學(xué)時(shí)int teach;/上課學(xué)時(shí)int exp;/實(shí)驗(yàn)上機(jī)學(xué)時(shí)int credit;/學(xué)分int semester;/開課學(xué)期 int nelepeo;/課程已選人數(shù)int Melepeo; /課程上限 struct couse * next;struct student/學(xué)生信息結(jié)構(gòu)體 int num2;/學(xué)號(hào) char name220;/姓名int nelenum50;/已選課程編號(hào)char nelename1020;/已選名稱 int nelen; /已選課程數(shù)量int score; /總學(xué)分int gainscore; /已獲得的學(xué)分 struct student * next;void manger();void student();void managementc();void managements();void manage();void main();void intoc() /存儲(chǔ)課程信息FILE * fp;struct couse * p;char filepath30;printf(ttt*n); printf(ntttt歡迎使用此系統(tǒng)!n); printf(ttt*n);printf(輸入路徑:);getchar();gets(filepath);if(fp=fopen(filepath,w)=NULL)printf(無(wú)法儲(chǔ)存!);exit(0);p=head1;while(p!=NULL)fprintf(fp,%d%s%s%d%d%d%d%d%d%dn,p-num1,p-name1,p-type,p-hour,p-teach,p-exp,p-credit,p-semester,p-nelepeo,p-Melepeo);p=p-next;fclose(fp);printf(已儲(chǔ)存入%s文件!n,filepath);void keyboardc()/錄入課程子函數(shù)(從鍵盤錄入)struct couse *p1,*p2;N1=0;p1=p2=(struct couse*) malloc(sizeof(struct couse);printf(ttt*n);printf(ntttt歡迎使用此系統(tǒng)!n);printf(ttt*n); printf(編號(hào)名稱性質(zhì)總學(xué)時(shí)上課學(xué)時(shí)實(shí)驗(yàn)上機(jī)學(xué)時(shí)學(xué)分開課學(xué)期已選人數(shù)課程上限n);scanf(%d %s %s %d %d %d %d %d %d %d,&p1-num1,p1-name1,&p1-type,&p1-hour,&p1-teach,&p1-exp,&p1-credit,&p1-semester,&p1-nelepeo,&p1-Melepeo); head1=NULL;while(p1-num1!=0) N1=N1+1; if(N1=1)head1=p1; else p2-next=p1;/對(duì)這段語(yǔ)句有疑問 p2=p1; p1=(struct couse * )malloc(sizeof(struct couse); scanf(%d %s %s %d %d %d %d %d %d %d,&p1-num1,p1-name1,p1-type,&p1-hour,&p1-teach,&p1-exp,&p1-credit,&p1-semester,&p1-nelepeo,&p1-Melepeo); p2-next=NULL;void filec()/錄入鍵盤子函數(shù)(從文件錄入) FILE * fp; char filepath20; struct couse *p1,*p2; N1=0;printf(ttt*n); printf(ntttt歡迎使用此系統(tǒng)!n); printf(ttt*n); printf(輸入要讀入的文件路徑:); getchar(); gets(filepath); if(fp=fopen(filepath,rb)=NULL) printf(找不到%s文件!n,filepath); exit(0); p1=p2=(struct couse*)malloc(sizeof(struct couse); fscanf(fp,%d%s%s%d%d%d%d%d%d%d,&p1-num1,p1-name1,p1-type,&p1-hour,&p1-teach,&p1-exp,&p1-credit,&p1-semester,&p1-nelepeo,&p1-Melepeo); head1=NULL; while(!feof(fp) N1=N1+1; if(N1=1)head1=p1; else p2-next=p1; p2=p1; p1=(struct couse * )malloc(sizeof(struct couse); fscanf(fp,%d%s%s%d%d%d%d%d%d%d,&p1-num1,p1-name1,p1-type,&p1-hour,&p1-teach,&p1-exp,&p1-credit,&p1-semester,&p1-nelepeo,&p1-Melepeo); p2-next=NULL;void inputc()/錄入課程主函數(shù) int i;printf(ttt*n); printf(ntttt歡迎使用此系統(tǒng)!n); printf(ttt*n); printf(ttt錄入課程信息n); printf(nttt1.從鍵盤錄入n); printf(ttt2.從文件錄入n); printf(ttt3.返回上一菜單n); printf(請(qǐng)選擇(13):); scanf(%d,&i); switch(i) case(1):system(cls);keyboardc();system(cls);inputc();break; case(2):system(cls);filec();system(cls);inputc();break; case(3):system(cls);managementc();break; void insertc(int num2)/課程管理子函數(shù)(修改課程)struct couse *p1,*p2; if(head1=NULL) printf(nttt沒有課程,無(wú)法修改!n); goto end; p1=head1; while(num2!=p1-num1 & p1-next!=NULL) p2=p1; p1=p1-next; if(num2=p1-num1) printf(ttt請(qǐng)重新輸入數(shù)據(jù)進(jìn)行修改n);printf(課程編號(hào)課程名稱課程性質(zhì)總學(xué)時(shí)上課學(xué)時(shí)實(shí)驗(yàn)上機(jī)學(xué)時(shí)學(xué)分開課學(xué)期課程已選人數(shù)課程上限n);scanf(%d %s %s %d %d %d %d %d %d %d %d,&p1-num1,p1-name1,p1-type,&p1-hour,&p1-teach,&p1-exp,&p1-credit,&p1-semester,&p1-nelepeo,&p1-Melepeo);printf(ttt已修改該課程n); else printf(ttt無(wú)該編號(hào)的課程!n); end:;void delc(int num1)/課程管理子函數(shù)(刪除課程) struct couse *p1,*p2; if(head1=NULL) printf(nttt沒有課程,無(wú)法刪除!n); goto end; p1=head1; while(num1!=p1-num1 & p1-next!=NULL) p2=p1; p1=p1-next; if(num1=p1-num1) if(p1=head1) head1=p1-next; else p2-next=p1-next; printf(已刪除該編號(hào)課程!n); N1=N1-1; else printf(無(wú)該編號(hào)的課程!n); end:;void managementc()/課程管理主函數(shù) int i,num1,num2=1;printf(ttt*n); printf(ntttt歡迎使用此系統(tǒng)!n); printf(ttt*n); printf(ttt課程管理n);printf(ttt1.添加課程n); printf(ttt2.修改課程n); printf(ttt3.刪除課程n);printf(ttt4.存儲(chǔ)課程信息n); printf(ttt5.返回上一菜單n); printf(請(qǐng)選擇(15):); scanf(%d,&i); switch(i) case(1):system(cls);inputc();system(cls);break; case(2): system(cls);printf(ttt*n); printf(ntttt歡迎使用此系統(tǒng)!n); printf(ttt*n);printf(請(qǐng)輸入要修改的課程編號(hào):n);scanf(%d,&num2);insertc(num2);managementc();system(cls); break; case(3): system(cls);printf(ttt*n); printf(ntttt歡迎使用此系統(tǒng)!n); printf(ttt*n); printf(請(qǐng)輸入要?jiǎng)h除課程的編號(hào):n); scanf(%d,&num1); delc(num1);managementc();system(cls); break; case(4):system(cls);intoc();managementc();break; case(5):system(cls);manage();break; void intos() /存儲(chǔ)學(xué)生信息FILE * fp;struct student * p;char filepath30;printf(ttt*n); printf(ntttt歡迎使用此系統(tǒng)!n); printf(ttt*n);printf(請(qǐng)輸入路徑:);getchar();gets(filepath);if(fp=fopen(filepath,wb)=NULL)printf(n 無(wú)法儲(chǔ)存!);exit(0);p=head2;while(p!=NULL)fwrite(p,sizeof(struct student),1,fp);p=p-next;fclose(fp);printf(已儲(chǔ)存入 %s文件!n,filepath); void keyboards()/錄入學(xué)生信息子函數(shù)(從鍵盤錄入) int i; struct student *p1,*p2; N2=0; p1=p2=(struct student *)malloc(sizeof(struct student);printf(ttt*n); printf(ntttt歡迎使用此系統(tǒng)!n); printf(ttt*n); printf(學(xué)生學(xué)號(hào)t學(xué)生姓名t總學(xué)分n); scanf(%d %s %d,&p1-num2,p1-name2,&p1-score);p1-nelen=0;p1-gainscore=0; for(i=0;inelenumi=0; head2=NULL; while(p1-num2!=0) N2=N2+1; if(N2=1)head2=p1; else p2-next=p1; p2=p1; p1=(struct student * )malloc(sizeof(struct student); scanf(%d %s %d,&p1-num2,p1-name2,&p1-score);p1-nelen=0;p1-gainscore=0; for(i=0;inelenumi=0; p2-next=NULL;void files()/錄入學(xué)生信息子函數(shù)(從文件錄入) int i=0; FILE * fp; char filepath20; struct student *p1,*p2; N2=0;printf(ttt*n); printf(ntttt歡迎使用此系統(tǒng)!n); printf(ttt*n); printf(輸入要讀入的文件路徑:); getchar(); gets(filepath); if(fp=fopen(filepath,rb)=NULL) printf(找不到%s文件!n,filepath); exit(0); p1=p2=(struct student*)malloc(sizeof(struct student); fread(p1,sizeof(struct student),1,fp); head2=NULL; while(!feof(fp) i=0; N2=N2+1; if(N2=1)head2=p1; else p2-next=p1; p2=p1; p1=(struct student * )malloc(sizeof(struct student); fread(p1,sizeof(struct student),1,fp); p2-next=NULL;void inputs()/錄入學(xué)生信息主函數(shù) int i;printf(ttt*n); printf(ntttt歡迎使用此系統(tǒng)!n); printf(ttt*n); printf(ttt錄入學(xué)生信息n); printf(nttt1.從鍵盤錄入n); printf(ttt2.從文件錄入n); printf(ttt3.返回上一菜單n); printf(請(qǐng)選擇(13):n); scanf(%d,&i); switch(i) case(1):system(cls);keyboards();system(cls);inputs();break; case(2):system(cls);files();inputs();break; case(3):system(cls);managements();break; void inserts(int num3)/學(xué)生信息管理子函數(shù)(修改學(xué)生信息)int i;struct student *p1,*p2; if(head2=NULL) printf(nttt沒有該學(xué)生信息,無(wú)法修改!n); goto end; p1=head2; while(num3!=p1-num2 & p1-next!=NULL) p2=p1; p1=p1-next; if(num3=p1-num2) printf(ttt重新修改數(shù)據(jù)); printf(ttt學(xué)生學(xué)號(hào)t學(xué)生姓名); scanf(%d %s %d,&p1-num2,p1-name2,&p1-score); p1-nelen=0;p1-gainscore=0; for(i=0;inelenumi=0; printf(ttt修改完畢); else printf(ttt無(wú)該學(xué)號(hào)的學(xué)生!n); end:;void dels(int num2)/學(xué)生信息管理子函數(shù)(刪除學(xué)生信息) struct student *p1,*p2; if(head2=NULL) printf(nttt沒有該學(xué)生信息,無(wú)法刪除!n); goto end; p1=head2; while(num2!=p1-num2 & p1-next!=NULL) p2=p1; p1=p1-next; if(num2=p1-num2) if(p1=head2) head2=p1-next; else p2-next=p1-next; printf(ttt已刪除該學(xué)生信息!n); N2=N2-1; else printf(ttt無(wú)該學(xué)號(hào)的學(xué)生!n); end:;void managements()/學(xué)生信息管理主函數(shù) int i,num2,num3;printf(ttt*n); printf(ntttt歡迎使用此系統(tǒng)!n); printf(ttt*n); printf(ttt學(xué)生信息管理n); printf(ttt1.添加學(xué)生信息n);printf(ttt2.修改學(xué)生信息n); printf(ttt3.刪除學(xué)生信息n);printf(ttt4.存儲(chǔ)學(xué)生信息n); printf(ttt5.返回上一菜單n); printf(請(qǐng)選擇(15):n); scanf(%d,&i); switch(i) case(1):system(cls);inputs();system(cls);break; case(2): system(cls);printf(ttt*n); printf(ntttt歡迎使用此系統(tǒng)!n); printf(ttt*n);printf(請(qǐng)輸入要修改學(xué)生的學(xué)號(hào):n); scanf(%d,&num3); inserts(num3);managements(); break; case(3): system(cls);printf(ttt*n); printf(ntttt歡迎使用此系統(tǒng)!n); printf(ttt*n);printf(請(qǐng)輸入要?jiǎng)h除學(xué)生的學(xué)號(hào):n); scanf(%d,&num2); dels(num2);managements(); break; case(4):system(cls);intos();managements();break; case(5):system(cls);manage();break; void manage() /信息管理函數(shù)int i;printf(ttt*n);printf(ntttt歡迎使用此系統(tǒng)!n);printf(ttt*n);printf(ttt信息管理);printf(nttt1.課程信息管理);printf(nttt2.學(xué)生信息管理);printf(nttt3.返回上一菜單);printf(n請(qǐng)輸入1-3:);scanf(%d,&i);switch(i)case 1:system(cls);managementc();break;case 2:system(cls);managements();break;case 3:system(cls);manger();break;void listc() /瀏覽課程信息struct couse * p;p=head1;printf(ttt*n); printf(ntttt歡迎使用此系統(tǒng)!n); printf(ttt*n);printf(課程編號(hào) 課程名稱 課程性質(zhì) 總學(xué)時(shí) 授課學(xué)時(shí) 上機(jī)學(xué)時(shí) 學(xué)分 開課學(xué)期 n);while(p!=NULL)printf(num:%6dname:%13s%13s%10d%7d%7d%12d%5d%5dn,p-num1,p-name1,p-type,p-hour,p-teach,p-exp,p-credit,p-semester);p=p-next;void search1() /按學(xué)號(hào)查找學(xué)生信息int a,b;struct student *p;printf(ttt*n);printf(ntttt歡迎使用此系統(tǒng)!n);printf(ttt*n);printf(ttt請(qǐng)輸入學(xué)生學(xué)號(hào));scanf(%d,&a);p=head2;printf(學(xué)號(hào) 學(xué)生姓名 所選課程編號(hào) 所選課程學(xué)分n);while(p!=NULL)if(p-num2=a)printf(%6d%13s ,p-num2,p-name2);for(b=0;p-nelenumb!=0&bnelenumb);printf(%10dn,p-nelen);p=p-next;void search2() /按課程學(xué)分查詢int b;struct couse *p;printf(ttt*n);printf(ntttt歡迎使用此系統(tǒng)!n);printf(ttt*n);printf(ttt請(qǐng)輸入課程學(xué)分:);scanf(%d,&b);p=head1;printf(課程號(hào) 課程名 課程性質(zhì) 課程學(xué)分 選課人數(shù)n);while(p!=NULL)if(b=(p-credit)printf(%6d%13s%12s%12d%12d,p-num1,p-name1,p-type,p-credit,p-nelepeo);p=p-next;void search3() /按課程性質(zhì)查詢char typ20;struct couse *p;printf(ttt*n);printf(ntttt歡迎使用此系統(tǒng)!n);printf(ttt*n);printf(請(qǐng)輸入要查找的課程性質(zhì):);printf(選修/必修n);scanf(%s,typ);p=head1;printf(課程編號(hào)t課程名t課程性質(zhì)t學(xué)分t選課人數(shù)n);while(p!=NULL)if(strcmp(typ,(p-type)=0)printf(%6d%13s%12s%12d%12d,p-num1,p-name1,p-type,p-credit,p-nelepeo);p=p-next;void search4() /選課人數(shù)統(tǒng)計(jì) struct couse * p;p=head1;printf(ttt*n);printf(ntttt歡迎使用此系統(tǒng)!n);printf(ttt*n);printf(課程編號(hào)t課程名t課程性質(zhì)t選課人數(shù)n);while(p!=NULL)printf(%6d%13s%12s%12d ,p-num1,p-name1,p-type,p-nelepeo);p=p-next;void searchguanliyuan() /管理員信息查找函數(shù)int i;printf(ttt*n);printf(ntttt歡迎使用此系統(tǒng)!n);printf(ttt*n);printf(ttt學(xué)生信息查找);printf(nttt1.按學(xué)號(hào)查找);printf(nttt2.學(xué)分查詢);printf(nttt3.按課程性質(zhì)查詢);printf(nttt4.統(tǒng)計(jì)各門課程選修人數(shù));printf(nttt5.返回上一級(jí)菜單);printf(n請(qǐng)輸入1-5:);scanf(%d,&i);switch(i)case 1:system(cls);search1();searchguanliyuan();break;case 2:system(cls);search2();searchguanliyuan();break;case 3:system(cls);search3();searchguanliyuan();break;case 4:system(cls);search4();searchguanliyuan();break;case 5:system(cls);manger();break;void shuru1() /管理員輸入函數(shù)char key20;char a20=l,z,j,t,u;int m;int n=1234;printf(ttt*n);printf(ntttt歡迎使用此系統(tǒng)!n);printf(ttt*n); printf(n);start1:;printf(tttt請(qǐng)輸入賬號(hào):);scanf(%d,&m); start2:;printf(tttt請(qǐng)輸入密碼:);scanf(%s,key);if(m!=n)printf(tttt您輸入的用戶名不存在,請(qǐng)重新輸入n);goto start1;if(strcmp(key,a)!=0)printf(tttt你輸入的密碼不正確,請(qǐng)重新輸入n);goto start2;system(cls);manger();void manger() /管理員主函數(shù)int i;printf(ttt*n);printf(ntttt歡迎使用此系統(tǒng)!n);printf(ttt*n);printf(ttt1.信息維護(hù)n);printf(ttt2.信息瀏覽n);printf(ttt3.信息查詢n);printf(ttt4.各科選修人數(shù)n); printf(ttt5.返回上一級(jí)菜單);printf(n請(qǐng)輸入1-5:n);scanf(%d,&i);switch(i)case 1:system(cls);manage();break;case 2:system(cls);listc();manger();break;case 3:system(cls);searchguanliyuan();break; case 4:system(cls);search4();manger();break;case 5:system(cls);main();break;void elect() /學(xué)生選課struct student * s;struct couse * p;int a,i,b,j; printf(ttt*n);printf(ntttt歡迎使用此系統(tǒng)!n);printf(ttt*n); start:;printf(請(qǐng)輸入您的學(xué)號(hào):n);scanf(%d,&a);s=head2;while(s-num2)!=a&s-next!=NULL) s=s-next;if(s-num2!=a)printf(您的信息不存在,請(qǐng)重新輸入:n);goto start;if(s-nelen)=20)printf(您的學(xué)分已滿);goto end; start2:;printf(請(qǐng)輸入您要選修的課程編號(hào):);scanf(%d,&b);p=head1;while(p-num1)!=b&p-next!=NULL) p=p-next;if(p-num1!=b)printf(您輸入的課程不存在,請(qǐng)重新輸入:n);goto start2;if(p-nelepeo)=(p-Melepeo)printf(此課程人數(shù)已滿,請(qǐng)選擇其他課程n);goto start2;for(i=0;(s-nelenumi)!=0;i+);s-nelenumi=b;(p-nelepeo)+;(s-gainscore)=(s-gainscore)+(p-credit);(s-nelen)+;for(j=0;jnelenameij)=(p-name1j);printf(選課成功n);end:;void searchstu() /學(xué)生信息查找函數(shù)int i;printf(ttt*n);printf(ntttt歡迎使用此系統(tǒng)!n);printf(ttt*n);printf(ttt學(xué)生信息查找);printf(nttt1.按學(xué)號(hào)查找);printf(nttt2.學(xué)分查詢);printf(nttt3.按課程性質(zhì)查詢);printf(nttt4.統(tǒng)計(jì)各門課程選修人數(shù));printf(nttt5.返回上一級(jí)菜單);printf(n請(qǐng)輸入1-5:);scanf(%d,&i);switch(i)case 1:system(cls);search1();searchstu();break;case 2:system(cls);search2();searchstu();break;case 3:syst
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 法治同行青春無(wú)悔:高中法治教育主題班會(huì)
- 建筑設(shè)計(jì)入職匯報(bào)
- 2025年中國(guó)無(wú)金屬自承式光纜接頭盒市場(chǎng)調(diào)查研究報(bào)告
- 2025年中國(guó)心腦舒通片市場(chǎng)調(diào)查研究報(bào)告
- 2025年中國(guó)壓膠服裝市場(chǎng)調(diào)查研究報(bào)告
- 福建中介買賣房合同協(xié)議
- 礦洞施工協(xié)議書范本
- 工廠租房協(xié)議書合同協(xié)議
- 土地轉(zhuǎn)租第三方協(xié)議合同
- 小吃技術(shù)培訓(xùn)協(xié)議合同
- GB 45184-2024眼視光產(chǎn)品元件安全技術(shù)規(guī)范
- 政務(wù)大廳窗口工作人員政務(wù)服務(wù)培訓(xùn)心得體會(huì)
- 安全生產(chǎn)法律法規(guī)匯編(2025版)
- 巨量信息流廣告(初級(jí))營(yíng)銷師認(rèn)證考試題及答案
- 《黃磷尾氣發(fā)電鍋爐大氣污染物排放標(biāo)準(zhǔn)》
- 學(xué)校食堂食品安全培訓(xùn)課件
- 醫(yī)療信息化與成本-洞察分析
- 《建設(shè)工程施工合同(示范文本)》(GF-2017-0201)
- 2023年非車險(xiǎn)核保考試真題模擬匯編(共396題)
- 陜西省西安市鐵一中2024-2025學(xué)年七年級(jí)上學(xué)期英語(yǔ)期中考試英語(yǔ)卷
- 園林花卉 課件 第五章 室內(nèi)花卉
評(píng)論
0/150
提交評(píng)論