九九热最新网址,777奇米四色米奇影院在线播放,国产精品18久久久久久久久久,中文有码视频,亚洲一区在线免费观看,国产91精品在线,婷婷丁香六月天

歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁 裝配圖網(wǎng) > 資源分類 > DOC文檔下載  

學生管理系統(tǒng) C語言課程設(shè)計

  • 資源ID:157749636       資源大小:138KB        全文頁數(shù):25頁
  • 資源格式: DOC        下載積分:10積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要10積分
郵箱/手機:
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機號,方便查詢和重復(fù)下載(系統(tǒng)自動生成)
支付方式: 支付寶    微信支付   
驗證碼:   換一換

 
賬號:
密碼:
驗證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會被瀏覽器默認打開,此種情況可以點擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預(yù)覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標題沒有明確說明有答案則都視為沒有答案,請知曉。

學生管理系統(tǒng) C語言課程設(shè)計

課程設(shè)計說明書 NO.25學生成績管理系統(tǒng) 1.程設(shè)計的目的通過本程序可以訓練學生程序設(shè)計的基本技能,讓學生掌握C程序各種函數(shù)的應(yīng)用。同時也大大增加了學生的學習興趣,提高了學生的編程能力。進一步掌握和利用C語言進行程設(shè)計的能力;進一步理解和運用結(jié)構(gòu)化程設(shè)計的思想和方法;初步掌握開發(fā)一個小型實用系統(tǒng)的基本方法;學會調(diào)試一個較長程序的基本方法;掌握書寫課程設(shè)計開發(fā)文檔的能力.2設(shè)計方案論證2.1設(shè)計思路(1)輸入學生初始信息模塊:其中包括學生的姓名、學號和性別以及學生的語文、數(shù)學、英語和計算機等相關(guān)信息;可用函數(shù)cin(stu *p1)來實現(xiàn)此操作。當正確輸入存在的學生學號,系統(tǒng)進行判斷時,提示存在此學生。 (2)查詢模塊:可用stu *lookdata(stu *p1)  來實現(xiàn)。找到就輸出此學生全部信息包括學生的語文、數(shù)學、英語和計算機等的成績。當正確輸入查找信息時,系統(tǒng)卻不能夠得到所要查找的學生信息以及學生的語文、數(shù)學、英語和計算機的成績。(3)插入模塊:可用insert(  )函數(shù)來實現(xiàn)。其中通過學號的大小來比較的,并且以此來排序。當我們輸入插入信息時,系統(tǒng)卻提示插入不進數(shù)據(jù)。(4) 學生的信息以及成績:通過學生的姓名來查看學生的語文、數(shù)學、英語和計算機等相關(guān)成績,同時也可以分別通過caverage() 、maverage() 、eaverage() 和comaverage()  來輸出語文、數(shù)學、英語和計算機等成績的平均分數(shù)、最高和最低分數(shù)。(5)退出系統(tǒng):學生成績管理系統(tǒng)可用一個函數(shù)exit()來實現(xiàn),首先將信息保存到文件中,釋放動態(tài)創(chuàng)建的內(nèi)存空間,再退出此程序。退退出系統(tǒng)信信息及成績插插入模塊查查詢模塊初初始信息模塊3程序源代碼 #include <stdio.h>#include <stdlib.h>#include <string.h>#include <dos.h>#include<ctype.h>#include<conio.h>#include<stddef.h>#include<time.h>#define PRINT1 textcolor(12); cprintf("r 請按任意鍵返回主菜單nr");textcolor(10); getch();clrscr(); break;int shoudsave=0;struct student /* 學生信息結(jié)構(gòu)體定義*/char num10,name20,sex4;int score1,score2,score3,totle,ave;typedef struct nodestruct student data;struct node *next;Node,*L;void print1() cprintf("r=");void print2() cprintf("nr 1.輸入學生信息 在這里你可以按照提示輸入學生的學號,姓名,性別及各科成績.n"); cprintf("nr 2.注銷學生信息 在這里你可以按照學號或姓名將某一名學生的信息從本系統(tǒng)中刪除.n"); cprintf("nr 3.查詢學生信息 在這里你可以按照學號或姓名查詢某一名學生的信息.n"); cprintf("nr 4.修改學生信息 在這里你可以按照提示修改某一名學生的學號,姓名,性別及各科成績."); cprintf("nr 5.學生信息排序 在這里你可以看到所有學生的成績成績.n"); cprintf("nr 6.學生信息統(tǒng)計 在這里本系統(tǒng)將為你顯示所有科目的最高分及最低分所得學生.n"); cprintf("nr 7.顯示學生信息 在這里你可以看到系統(tǒng)中所有學生的信息.n"); cprintf("nr 8.保存學生信息 在這里你可以將學生你信息保存到內(nèi)存中.n"); cprintf("nr 9.幫助信息 在這里你可以獲得幫助信息.n"); cprintf("nr 0.退出系統(tǒng) 在這里選擇是否保存后,你可以安全的退出本系統(tǒng).nnr ");void menu() cprintf("nrxc9xcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcbxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxbb"); cprintf("rxba 學生信息導入 xba 學生信息處理 xba"); cprintf("rxba_xba_xba"); cprintf("rxba 1->輸入學生信息 xba 6->學生信息統(tǒng)計 xba"); cprintf("rxba 2->注銷學生信息 xba 7->顯示學生信息 xba"); cprintf("rxba 3->查詢學生信息 xba 8->保存學生信息 xba"); cprintf("rxba 4->修改學生信息 xba 9->幫助信息 xba"); cprintf("rxba 5->學生信息排序 xba 0->退出系統(tǒng) xba"); cprintf("rxc8xcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcaxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxcdxbc");void wrong() cprintf("nr輸入錯誤!請驗證后重新輸入.n");void notfind()cprintf("nr該學生信息不存在!請驗證后重新輸入.n");void printc() /* 此函數(shù)用于輸出中文格式 */cprintf("r 學號 姓名 性別 英語成績 數(shù)學成績 C語言成績 總分 平均分n ");void printe(Node *p) /* 此函數(shù)用于輸出英文格式 */cprintf(" %-8s%-10s%5s%12d%13d%13d%8d%9dnr",p->data.num,p->data.name,p->data.sex,p->data.score3,p->data.score2,p->data.score1,p->data.totle,p->data.ave);Node* Locate(L l,char findinfo,char nameornum) /* 該函數(shù)用于定位連表中符合要求的接點,并返回該指針 */Node *r;if(strcmp(nameornum,"num")=0) /* 按學號查詢 */r=l->next;while(r!=NULL)if(strcmp(r->data.num,findinfo)=0)return r;r=r->next;else if(strcmp(nameornum,"name")=0) /* 按姓名查詢 */r=l->next;while(r!=NULL)if(strcmp(r->data.name,findinfo)=0)return r;r=r->next;return 0;void input(L l) /* 增加學生 */ Node *p,*r,*s; char num10; r=l; s=l->next;while(r->next!=NULL) r=r->next; /* 將指針置于最末尾 */while(1) cprintf("r如果輸入完畢,請按任意鍵返回主菜單n"); cprintf("r如果你還想輸入,請按y(yes)繼續(xù)nr"); scanf("%s",num); if(strcmp(num,"y")=0) cprintf("請你輸入學號:"); scanf("%s",num); else break;while(s) if(strcmp(s->data.num,num)=0) printf("t學號為'%s'的學生已經(jīng)存在,若要修改請你選擇'4 修改'!n",num);print1();printc(); printe(s); print1();printf("n"); getch();return; s=s->next; p=(Node *)malloc(sizeof(Node);strcpy(p->data.num,num);cprintf("r請你輸入姓名:");scanf("%s",p->data.name);getchar();cprintf("r請你輸入性別(M OR F):");scanf("%s",p->data.sex);getchar();cprintf("r請你輸入c語言成績(0-100):");scanf("%d",&p->data.score1);getchar();cprintf("r請你輸入數(shù)學成績(0-100):");scanf("%d",&p->data.score2);getchar();cprintf("r請你輸入英語成績(0-100):");scanf("%d",&p->data.score3);getchar();p->data.totle=p->data.score3+p->data.score1+p->data.score2;p->data.ave=p->data.totle / 3; /* 信息輸入已經(jīng)完成 */p->next=NULL;r->next=p;r=p;shoudsave=1;void query(L l) /* 查詢學生信息 */int select;char findinfo20;Node *p;if(!l->next)cprintf("n 沒有信息可以查詢!n");return;cprintf("n1=>按學號查找nr2=>按姓名查找nr");scanf("%d",&select);if(select=1) /* 學號 */cprintf("r請你輸入要查找的學號:");scanf("%s",findinfo);p=Locate(l,findinfo,"num");if(p)cprintf(" 查找結(jié)果nr");print1();printc();printe(p);print1();elsenotfind();else if(select=2) /* 姓名 */cprintf("r請你輸入要查找的姓名:");scanf("%s",findinfo);p=Locate(l,findinfo,"name");if(p)cprintf(" 查找結(jié)果nr");print1();printc();printe(p);print1();elsenotfind();elsewrong();void Delete(L l) /* 刪除學生信息 */int select;Node *p,*r;char findinfo20;if(!l->next)cprintf("n 沒有信息可以刪除!n");return;cprintf("n1=>按學號刪除nr2=>按姓名刪除nr");scanf("%d",&select);if(select=1)cprintf("r請你輸入要刪除的學號:");scanf("%s",findinfo);p=Locate(l,findinfo,"num");if(p)r=l;while(r->next!=p)r=r->next;r->next=p->next;free(p);cprintf("nr該學生已經(jīng)成功刪除!n");shoudsave=1;elsenotfind();else if(select=2)cprintf("r請你輸入要刪除的姓名:");scanf("%s",findinfo);p=Locate(l,findinfo,"name");if(p)r=l;while(r->next!=p)r=r->next;r->next=p->next;free(p);cprintf("nr該學生已經(jīng)成功刪除!n");shoudsave=1;elsenotfind();else wrong();void modify(L l) /*修改學生信息*/Node *p;char findinfo20;if(!l->next)cprintf("nr沒有信息可以修改!n");return;cprintf("r請你輸入要修改的學生學號:");scanf("%s",findinfo);p=Locate(l,findinfo,"num");if(p)cprintf("r請你輸入新學號(原來是%s):",p->data.num);scanf("%s",p->data.num);cprintf("r請你輸入新姓名(原來是%s):",p->data.name);scanf("%s",p->data.name);getchar();cprintf("r請你輸入新性別(原來是%s):",p->data.sex);scanf("%s",p->data.sex);cprintf("r請你輸入新的c語言成績(原來是%d分):",p->data.score1);scanf("%d",&p->data.score1);getchar();cprintf("r請你輸入新的數(shù)學成績(原來是%d分):",p->data.score2);scanf("%d",&p->data.score2);getchar();cprintf("r請你輸入新的英語成績(原來是%d分):",p->data.score3);scanf("%d",&p->data.score3);p->data.totle=p->data.score3+p->data.score1+p->data.score2;p->data.ave=p->data.totle/3;cprintf("nr信息修改成功!n");shoudsave=1;elsenotfind();void display(L l) /*顯示全部學生信息*/int count=0;Node *p;p=l->next;if(!p)cprintf("nr 沒有信息可以顯示!n");return;cprintf(" 顯示結(jié)果 ");print1();printc();while(p) if(count%5=0) getch();printe(p);p=p->next;count+;print1();cprintf("n");void Statistic(L l) /*統(tǒng)計學生信息*/ Node *pm_max,*pe_max,*pc_max,*pt_max,*pa_max; /* 用于指向分數(shù)最高的接點 */Node *pm_min,*pe_min,*pc_min,*pt_min,*pa_min;Node *r=l->next;if(!r)cprintf("nr 沒有信息可以統(tǒng)計!n");return ;pm_max=pe_max=pc_max=pt_max=pa_max=pm_min=pe_min=pc_min=pt_min=pa_min=r;while(r!=NULL) if(r->data.score1>=pc_max->data.score1)pc_max=r;if(r->data.score1<=pc_min->data.score1)pc_min=r;if(r->data.score2>=pm_max->data.score2)pm_max=r;if(r->data.score2<=pm_min->data.score2)pm_min=r;if(r->data.score3>=pe_max->data.score3)pe_max=r;if(r->data.score3<=pe_min->data.score3)pe_min=r;if(r->data.totle>=pt_max->data.totle)pt_max=r;if(r->data.totle<=pt_min->data.totle)pt_min=r;if(r->data.ave>=pa_max->data.ave)pa_max=r;if(r->data.ave<=pa_min->data.ave)pa_min=r;r=r->next;cprintf("=統(tǒng)計結(jié)果=n");cprintf("r總分最高者: %-16s %d分n",pt_max->data.name,pt_max->data.totle);cprintf("r平均分最高者: %-16s %d分n",pa_max->data.name,pa_max->data.ave);cprintf("r英語最高者: %-16s %d分n",pe_max->data.name,pe_max->data.score3);cprintf("r數(shù)學最高者: %-16s %d分n",pm_max->data.name,pm_max->data.score2);cprintf("rc語言最高者: %-16s %d分nr",pc_max->data.name,pc_max->data.score1);cprintf("r總分最低者: %-16s %d分n",pt_min->data.name,pt_min->data.totle);cprintf("r平均分最低者: %-16s %d分n",pa_min->data.name,pa_min->data.ave);cprintf("r英語最低者: %-16s %d分n",pe_min->data.name,pe_min->data.score3);cprintf("r數(shù)學最低者: %-16s %d分n",pm_min->data.name,pm_min->data.score2);cprintf("rc語言最低者: %-16s %d分nr",pc_min->data.name,pc_min->data.score1);print1(); void Sort(L l)L ll;Node *p,*rr,*s; ll=(L)malloc(sizeof(Node); /* 用于做新的連表 */ll->next=NULL; if(l->next=NULL)cprintf("nr 沒有信息可以排序!n");return ; p=l->next; while(p)s=(Node*)malloc(sizeof(Node); /* 新建接點用于保存信息 */s->data=p->data;s->next=NULL;rr=ll;while(rr->next!=NULL && rr->next->data.totle>=p->data.totle) rr=rr->next;if(rr->next=NULL)rr->next=s;else s->next=rr->next;rr->next=s; p=p->next; free(l);l->next=ll->next;cprintf("nr 排序已經(jīng)完成!n");void Save(L l) /* */FILE* fp; Node *p;int flag=1,count=0; fp=fopen("c:student","wb"); if(fp=NULL)cprintf("nr 重新打開文件時發(fā)生錯誤!n");exit(1);p=l->next;while(p)if(fwrite(p,sizeof(Node),1,fp)=1)p=p->next;count+;elseflag=0;break;if(flag)cprintf("nr 文件保存成功.(有%d條信息已經(jīng)保存.)nr",count);shoudsave=0;fclose(fp);void main() /* */L l; /* 鏈表 */FILE *fp; /* 文件指針 */int count=0 ,i,menu_select; /*菜單選擇 */char ch ,creat;Node *p,*r;time_t it;clrscr(); textmode(C80);window(1,1,80,25);textbackground(1); clrscr();textcolor(10);cprintf("r 學生成績管理系統(tǒng) ");cprintf("r -天津工業(yè)大學電科063班 ") ;cprintf("r 設(shè)計人員:趙利軍,閔祖濤,張延,張參貴,付廣蓮,劉月 ");l=(Node*)malloc(sizeof(Node);l->next=NULL;r=l;fp=fopen("c:student","rb");if(fp=NULL)cprintf("nr 該文件還未存在,是否需要創(chuàng)建?(y/n,Y/N)nr");scanf("%c",&creat);if(creat='y'|creat='Y')fp=fopen("c:student","wb");elseexit(0);gotoxy(9,11); textcolor(12);cprintf("nr 文件已經(jīng)打開,系統(tǒng)正在導入信息");for(i=0;i<6;i+) cprintf("."); sleep(1);textcolor(10);gotoxy(9,11); cprintf("n ");while(!feof(fp)p=(Node*)malloc(sizeof(Node);if(fread(p,sizeof(Node),1,fp) /* 將文件的內(nèi)容放入接點中 */p->next=NULL;r->next=p;r=p; /* 將該接點掛入連中 */count+;fclose(fp); /* 關(guān)閉文件 */gotoxy(1,3);cprintf("nr信息導入完畢,系統(tǒng)共導入%d條信息 ",count);sleep(1);while(1) menu();textcolor(12);cprintf("r現(xiàn)在時間: "); it=time(NULL);cprintf(ctime(&it);cprintf("r左邊數(shù)字對應(yīng)功能選擇,請按0-9選擇操作:nr");textcolor(10) ;scanf("%d",&menu_select);if(menu_select=0)if(shoudsave=1) getchar(); textcolor(128+12);cprintf("nr 信息已經(jīng)改動,是否將改動保存到文件中(y/n Y/N)?nr");scanf("%c",&ch);if(ch='y'|ch='Y')Save(l);cprintf("nr 你已經(jīng)成功退出學生成績信息系統(tǒng),歡迎下次繼續(xù)使用!n");break;switch(menu_select)case 1: clrscr(); input(l); clrscr(); break; /* 輸入學生 */ case 2: clrscr(); Delete(l); PRINT1 /* 刪除學生 */ case 3: clrscr(); query(l); PRINT1 /* 查詢學生 */ case 4: clrscr(); modify(l); PRINT1 /* 修改學生 */ case 5: clrscr(); Sort(l); PRINT1 case 6: clrscr(); Statistic(l); PRINT1 case 7: clrscr(); display(l); PRINT1 case 8: clrscr(); Save(l); PRINT1 /* 保存學生 */ case 9: clrscr(); cprintf(" =幫助信息=n"); print2(); PRINT1 ; default: wrong(); getchar(); break; 4設(shè)計結(jié)果與分析1. 設(shè)計結(jié)果說明,配合截圖 運行結(jié)果如圖所示。輸入學生信息。2.設(shè)計體會通過這次課程設(shè)計讓我更加了解Windows Xp系統(tǒng)進一步熟悉Turbo C2.0程序編譯環(huán)境。能夠進行小程序的設(shè)計和較長程序的調(diào)試,C語言強大的編譯系統(tǒng)可以讓我們完成各種程序的編譯。它包含了多種函數(shù),可以在主函數(shù)下進行多種函數(shù)的嵌套和調(diào)用。能夠運用C語言進行程序設(shè)計,為我們的生活帶來很多的方便和娛樂。  5參考文獻1 譚浩強,C程序設(shè)計m(第三版),清華大學出版社2 常玉龍等,Turbo C 2.0實用大全m,北京航空航天大學出版社3 陳朔鷹 陳英,C語言趣味程序百例精解m,北京理工大學出版社4 浦濱,C游戲編程從入門到精通m,北京希望電子出版社5張曜 郭立山 吳天,C函數(shù)實用手冊m, 冶金工業(yè)出版社沈 陽 大 學

注意事項

本文(學生管理系統(tǒng) C語言課程設(shè)計)為本站會員(仙***)主動上傳,裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng)(點擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因為網(wǎng)速或其他原因下載失敗請重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!