學籍管理系統(tǒng)(含附源代碼)27_第1頁
學籍管理系統(tǒng)(含附源代碼)27_第2頁
學籍管理系統(tǒng)(含附源代碼)27_第3頁
學籍管理系統(tǒng)(含附源代碼)27_第4頁
學籍管理系統(tǒng)(含附源代碼)27_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

西安郵電學院C語言課程設計實驗報告系別:電信系班級:科技0701班學號:05072027序號:27姓名:楊佳潤時間:2023.06.20實驗目的:〔1〕熟悉C語言運行環(huán)境和上機步驟?!?〕學會系統(tǒng)的運用所學的C語言知識。〔3〕掌握C語言的根本方法。〔4〕了解給多文件程序的編譯和運行?!?〕學會對程序的調(diào)試。2.實驗內(nèi)容:運用C語言的知識編譯學籍管理系統(tǒng)。3.程序分析:〔1〕程序由錄入,保存,顯示,添加,查詢,刪除,修改,排序,統(tǒng)計,9個模塊構成。〔2〕錄入模塊輸入學生的信息,通過保存模塊保存到指定文件?!?〕顯示模塊顯示已輸入的學生信息?!?〕添加,刪除,修改模塊可以更新學生信息?!?〕排序模塊可以按成績將學生排序?!?〕統(tǒng)計模塊將男,女生人數(shù)進行統(tǒng)計。4.實驗設計:主函數(shù)主函數(shù)修改模塊修改模塊刪除模塊查詢模塊添加模塊顯示模塊錄入模塊排序模塊成績排序成績查詢學號查詢統(tǒng)計模塊5.模塊說明:〔1〕錄入模塊:輸入學生的信息,學生的序號,姓名,生日,性別,年齡,成績,專業(yè),班級。保存模塊:用數(shù)組將學生的信息保存到指定的文件。添加模塊:添加學生的信息。查詢模塊按成績查詢:輸入學生成績,利用循環(huán)和數(shù)組在學生信息里查找并顯按序號查詢:輸入學生序號,利用虛幻在學生信息里查找并顯示。統(tǒng)計模塊:通過循環(huán),統(tǒng)計男生人數(shù),女生人數(shù)。刪除模塊:可將學生信息刪除。修改模塊:先進行查找,查找到要修改的模塊,再對學生信息進行修改。排序模塊:通過循環(huán),對學生成績進行比擬,排序。6.流程圖:開始輸入提示信息choice=1?開始輸入提示信息choice=1?choice=3?choice=2?choice=6?choice=4?錄入模塊顯示信息添加模塊查詢模塊統(tǒng)計模塊choice=5?統(tǒng)計模塊choice=5?刪除模塊刪除模塊choice=7?修改模塊choice=7?修改模塊choice=8?排序模塊choice=8?排序模塊choice=0?choice=0?退出退出開始錄入模塊:開始i=0i=0i<N?i<N?輸入資料輸入資料退出退出查詢模塊:開始開始輸入信息輸入信息輸入信息輸入信息退出Choice=??退出Choice=??按序號查詢按成績查詢按序號查詢按成績查詢統(tǒng)計模塊:SEX=男?i=0輸入提示信息開始I++K++不成立輸入結果退出SEX=男?i=0輸入提示信息開始I++K++不成立輸入結果退出開始i<n?輸出模塊輸出資料i<n?輸出資料輸出資料輸出資料退出退出7.實驗結果:經(jīng)過屢次的調(diào)試,程序最后終于能正常的運行,到達了預定的目標。編程中遇到了很多的困難,本程序也模仿了書本上的程序。在今后編程過程中,我們應多注意細節(jié)問題,不能小看每一個小的環(huán)節(jié),稍不留意,程序變會出問題。本次實驗使我們學會了怎么去解決大的編程問題,把大的問題變成一個個小的模塊,最后調(diào)用在一起。#include<stdio.h>#include<string.h>#defineN100#definePAGE3#definePRINT1printf("********************************\n")#definePRINT2printf("學號(100)——姓名——出生日期(年-月-日〕——性別——年齡——總成績——專業(yè)——班級\n")#definePRINT3printf("%6d%10s%9d-%3d-%3d%4s%7d%7d%16s%5d\n",stu[i].num,stu[i].name,stu[i].birthday.year,stu[i].birthday.month,stu[i].birthday.date,stu[i].sex,stu[i].age,stu[i].score,stu[i].speciality,stu[i].classno)intsum=0;/*定義出生日期結構體*/structbirthday_type{intyear;intmonth;intdate;};/*學生結構體類型*/structstu_type{intnum;charname[10];structbirthday_typebirthday;charsex[7];intage;intscore;charspeciality[16];intclassno;}stu[N];/*保存信息*/save_message(intsum){FILE*fp;inti;if((fp=fopen("hmily.txt","wb"))==NULL){printf("讀文件錯誤!\n");return;}for(i=0;i<sum;i++)if(fwrite(&stu[i],sizeof(structstu_type),1,fp)!=1)printf("寫文件錯誤!\n");fclose(fp);}/*錄入模塊*/input_message(){inti=0,flag,choice;clrscr();printf("\n\n錄入學生信息\n");printf("**************************\n");do{stu[i].num=++sum;printf("\n學生序號%d:",sum);printf("\n學生姓名:");scanf("%s",stu[i].name);printf("\n出生年份:");scanf("%d",&stu[i].birthday.year);printf("\n出生月份:");scanf("%d",&stu[i].birthday.month);printf("\n出生日期:");scanf("%d",&stu[i].birthday.date);printf("\n性別:");scanf("%s",stu[i].sex);printf("\n年齡:");scanf("%d",&stu[i].age);printf("\n總成績:");scanf("%d",&stu[i].score);printf("\n專業(yè):");scanf("%s",stu[i].speciality);printf("\n班級:");scanf("%d",&stu[i].classno);i++;printf("\n是否繼續(xù)?(Y/N)");choice=getch();if(choice=='Y'||choice=='y'){flag=1;printf("\n繼續(xù)!\n");}elseflag=0;}while(flag==1&&i<N);printf("\n***%d學生信息輸入完畢!***\n",i);printf("\n按任意鍵回主菜單!");bioskey(0);}/*讀取信息*/read_message(){FILE*fp;inti=0;if((fp=fopen("hmily.txt","rb"))==NULL){printf("\n\n***暫時沒有信息,按任意鍵回主菜單!****\n");return;}while(feof(fp)!=1){fread(&stu[i],sizeof(structstu_type),1,fp);if(stu[i].num==0)break;elsei++;return;}fclose(fp);}/*顯示模塊*/output_message(){inti=0,j=0,count,page=1;clrscr();printf("\n\n*****學生信息表*****第%d頁\n\n",page);PRINT2;PRINT1;do{if(stu[i].num!=0){j++;if(j%PAGE!=0){PRINT3;PRINT1;}else{PRINT3;PRINT1;if(stu[i].num!=0){printf("按任意鍵繼續(xù)!");bioskey(0);clrscr();printf("\n\n***學生信息表***第%d頁\n\n",++page);PRINT2;PRINT1;}}}i++;}while(stu[i].num!=0);printf("按任意鍵返回主菜單!");bioskey(0);}/*按姓名查詢*/inquire_name(){inti,choice,j=0;charinquire_name[10];clrscr();printf("\n輸入要查詢的學生姓名:");scanf("%s",inquire_name);for(i=0;i<sum;i++)if(strcmp(stu[i].name,inquire_name)==0&&stu[i].num!=0){printf("\n***學生信息***\n");PRINT1;PRINT2;PRINT3;}elsej++;if(j==sum)printf("\n該學生不存在!");bioskey(0);}/*按序號查詢*/inquire_num(){inti,choice,j=0,inquire_num;clrscr();printf("\n輸入要查詢的序號:");scanf("%d",&inquire_num);for(i=0;i<sum;i++)if(stu[i].num==inquire_num&&stu[i].num!=0){printf("\n****學生信息***\n");PRINT1;PRINT2;PRINT3;}elsej++;if(j==sum)printf("\n該學生不存在!");bioskey(0);}/*查詢模塊*/inquire_message(){intchoice;do{clrscr();printf("\n\n*******查詢學生信息********\n\n");printf("1.按姓名查詢\n\n");printf("2.按序號查詢\n\n");printf("0.返回主菜單\n\n");printf("請選擇:");scanf("%d",&choice);switch(choice){case1:inquire_name();break;case2:inquire_num();break;case0:break;}}while(choice!=0);}/*添加模塊*/add_message(){inti=sum,j,flag=0;charchoice;clrscr();printf("\n\n添加一個學生信息\n");printf("**************************\n");do{stu[i].num=++sum;printf("\n新學生序號:%d",stu[i].num);printf("\n學生姓名:");scanf("%s",stu[i].name);printf("\n出生年份:");scanf("%d",&stu[i].birthday.year);printf("\n出生月份:");scanf("%d",&stu[i].birthday.month);printf("\n出生日期:");scanf("%d",&stu[i].birthday.date);printf("\n性別:");scanf("%s",stu[i].sex);printf("\n年齡:");scanf("%d",&stu[i].age);printf("\n成績:");scanf("%d",&stu[i].score);printf("\n專業(yè):");scanf("%s",stu[i].speciality);printf("\n班級:");scanf("%s",stu[i].classno);printf("\n是否繼續(xù)?〔Y/N)\n");choice=getch();if(choice=='Y'||choice=='y'){printf("\n繼續(xù)!\n");i++;flag=1;}elseflag=0;}while(flag==1);printf("\n按任意鍵返回主菜單!");bioskey(0);}/*刪除模塊*/del_message(){inti,j,choice,del_num;printf("\n請輸入要刪除序號:");scanf("%d",&del_num);for(i=0;i<sum;i++)if(stu[i].num==del_num){PRINT1;PRINT2;PRINT3;printf("確認要刪除(Y/N)?");choice=getch();if(choice=='Y'||choice=='y'){for(j=i;j<sum;j++)stu[j]=stu[j+1];sum--;printf("\n成功刪除!");for(i=0;i<sum;i++)stu[i].num=i+1;printf("\n按任意鍵回主菜單!");}elsereturn;}bioskey(0);}/*修改模塊*/revise_message(){inti=0,choice,revise_num,flag;do{clrscr();printf("\n輸入要修改的學生序號:");scanf("%d",&revise_num);for(i=0;i<sum;i++)if(stu[i].num==revise_num){printf("\n***學生信息***\n");PRINT1;PRINT2;PRINT3;printf("\n您要修改哪一項?\n");printf("\n1.姓名\n");printf("\n2.出生日期\n");printf("\n3.性別\n");printf("\n4.年齡\n");printf("\n5.成績\n");printf("\n6.專業(yè)\n");printf("\n7.班級\n");printf("\n請選擇:");scanf("%d",&choice);switch(choice){case1:printf("\n輸入修改后的姓名:");scanf("%s",stu[i].name);break;case2:printf("\n輸入修改后的出生日期:");printf("\n出生年份:");scanf("%d",&stu[i].birthday.year);printf("\n出生月份:");scanf("%d",&stu[i].birthday.month);printf("\n出生日期:");scanf("%d",&stu[i].birthday.date);break;case3:printf("\n輸入修改后的性別:");scanf("%s",stu[i].sex);break;case4:printf("\n輸入修改后的年齡:");scanf("%d",&stu[i].age);break;case5:printf("\n輸入修改后的成績:");scanf("%d",&stu[i].score);break;case6:printf("\n輸入修改后的專業(yè):");scanf("%s",stu[i].speciality);break;case7:printf("\n輸入修改后的班級:");scanf("%d",&stu[i].classno);break;}PRINT1;PRINT2;PRINT3;break;}if(i==sum){printf("\n該學生不存在!");bioskey(0);}printf("\n要繼續(xù)修改嗎?(Y/N)");choice=getch();if(choice=='Y'||choice=='y'){flag=1;printf("\n繼續(xù)!\n");}elseflag=0;}while(flag==1);printf("\n按任意鍵返回主菜單!");bioskey(0);}/*成績排序*/sort_score(){structstu_typemyscore;inti,j,k;clrscr();printf("\n按成績排序\n");PRINT1;PRINT2;for(i=0;i<sum;i++){for(j=i+1;j<sum;j++)if(stu[i].score<stu[j].score){myscore=stu[i];stu[i]=stu[j];stu[j]=myscore;}}for(i=0;i<sum;i++){PRINT3;PRINT1;}bioskey(0);}/*排序模塊*/sort_message(){intchoice;do{clrscr();printf("\n\n**************學生排序信息************\n\n");printf("1.學生成績排序\n\n");printf("0.返回主菜單\n\n");printf("請選擇:");scanf("%d",&choice);switch(choice){case1:sort_score();break;case0:break;}}while(choice!=0);}/*統(tǒng)計模塊*/count_message(){inti,j=0,k=0;structstu_type*p;p=stu;while(p->num!=0){if(strcmp(p->sex,"male")==0)j++;elsek++;p++;}printf("男生人數(shù)為:%d\n",j);printf("女生人數(shù)為:%d\n",k);bioskey(0);}/*主程序*/main(){intchoice;sum=read_message();bioskey(0);do{clrscr();printf("\n**************************學籍管理系統(tǒng)***********************\n\n");printf("1.錄入學生信息\n\n");printf("

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論