高級語言程序設計報告-學生成績管理系統(tǒng)_第1頁
高級語言程序設計報告-學生成績管理系統(tǒng)_第2頁
高級語言程序設計報告-學生成績管理系統(tǒng)_第3頁
高級語言程序設計報告-學生成績管理系統(tǒng)_第4頁
高級語言程序設計報告-學生成績管理系統(tǒng)_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

高級級語言課程設計報告實驗課程:課程設計 年級:16級 實驗成績:課程設計名稱:學生成績管理系統(tǒng)姓名:石宏偉任課教師:楊有安 學號:160101050027 實驗日期:一、目的通過編一些小程序,鞏固和利用所學的知識,加強變成能力。本課題涉及的知識內容:關于時間的函數(shù),for循環(huán)嵌套,if語句,一維數(shù)組,結構數(shù)組,自定義函數(shù)等高級語言內容。二、內容與設計思想1.設計內容學生信息管理系統(tǒng)登記學生信息刪除學生信息瀏覽所有已經(jīng)登記的學生查找(4.1)按學號查找(4.2)按姓名查找(4.3)按成績查找根據(jù)總成績排序儲存到文件從文件導出退出系統(tǒng)主要代碼結構學生成績管理系統(tǒng)學生成績管理系統(tǒng)操作操作查詢成績統(tǒng)計登記刪除顯示查詢按成績查詢按姓名查詢按學號查詢各門平均分 主要代碼段分析??偣卜譃榘藗€板塊,分別作為學生成績錄入,刪減,瀏覽,查找,排序,儲存和導出的作用。用switch函數(shù)將整體分成八個菜單,以方便直接進行操作。本程序中,對于學生信息的記錄用了結構數(shù)組的形式,對于主要數(shù)據(jù)結構的應用如下:

結構數(shù)組:

Typedef

struct

student

/*結構體*/

char

xuehao[20];

/*

學號*/

char

xingming[20];

/*

姓名*/

int

score[M];

/*

分數(shù)*/

int

sum;

/*

總成績*/本程序執(zhí)行的入口是main函數(shù),然后用switch語句實現(xiàn)對各個函數(shù)的調用。被調用的函數(shù)都是沒有形參的,函數(shù)直接實現(xiàn)所需要的功能。最后,再從main函數(shù)中結束整個程序的運行。

其中涉及到被調用的函數(shù)有:

Void

menu

顯示幫助信息;

Void

dengji

登記學生信息

Void

shanchu

刪除學生信息

Void

liulan

瀏覽學生信息

;

Void

chazhao

查找學生信息;

Void

paixu

學生信息排序;

Void

cunchu

存儲學生信息;

Void

daochu

導出學生信息;三、使用環(huán)境本次上機實踐所使用的平臺和相關軟件。平臺:Windows7相關軟件:MicrosoftVisualC++6.0四、調試過程1.測試結果分析經(jīng)檢驗,運行結果正確五、總結通過此次為期三周的課程設計實訓課,我更加了解了關于C語編程以及程序書寫的更多的知識,在當初的C語課時留下了許多問題,比如結構體,以及連接,通過此次課程,我鞏固了在C語課中遺留的問題,并且使當初遺忘了的知識點更加明了。這次課程設計,我成功的創(chuàng)建了一個信息管理的系統(tǒng),在編寫這個系統(tǒng)過程中,我遇見了頗多的問題,比如,無法顯示出結果或者直接是無法運行,在經(jīng)過嚴密的程序檢查后,一般發(fā)現(xiàn)我的問題主要是細節(jié)上的問題,如在個別語句后面忘記加‘;’,在此次設計過程中雖然遇見了一些問題,但總體還是成功的,在編寫程序的過程中,細節(jié)明顯更加重要,細節(jié)決定成敗,通過此次課程也讓我的C語言知識更加的清晰明了。六、附錄1.源代碼#include<stdio.h>#include<string.h>#include<stdlib.h>#include<conio.h>#defineM3#defineN100voidmenu();#include"head.h"voidmain(){ menu();} #include"head.h"typedefstructstudent{ charxuehao[20]; charxingming[20]; intscore[M]; intsum;}STUDENT; STUDENTstudent[N]; intrenshu=0;voidfhzjm(){ charbiaozhi[20]; printf("\n"); printf("還需要操作么?如果需要操作請輸入:yes,否則請輸入:no\n"); scanf("%s",biaozhi); if(strcmp(biaozhi,"yes")==0){menu();} else if(strcmp(biaozhi,"no")==0)exit(0); else{printf("請輸入正確的字符,謝謝!\n");fhzjm();}}voidDengJi(){ intrs; inti,j,k=1; system("CLS"); printf("請輸入需要輸入幾個學生信息:"); scanf("%d",&rs); for(i=renshu;i<renshu+rs;i++,k++) { printf("請輸入第%d個學生的學號:",k); scanf("%s",student[i].xuehao); printf("請輸入學生的姓名:"); scanf("%s",student[i].xingming); printf("請輸入學生%d門課的成績",M); for(j=0;j<M;j++) { printf("請輸入第%d門課的成績:",j+1); scanf("%d",&student[i].score[j]); student[i].sum+=student[i].score[j]; } } renshu=renshu+rs; fhzjm();}voidShanChu(){ charshanchuinfo[10]; system("CLS"); printf("刪除全部學生信息請輸入\"all\",刪除指定學號的學生信息請輸入\"one\"\n"); scanf("%s",shanchuinfo);if(strcmp(shanchuinfo,"all")==0) { renshu=0; printf("刪除成功\n\n"); } elseif(strcmp(shanchuinfo,"one")==0) { structstudent*p=NULL; charchoice[20]; inti,j,k=0; printf("請輸入你要刪除的人的學號:"); scanf("%s",choice); for(i=0;i<renshu;i++) { if(strcmp(choice,student[i].xuehao)==0) { k=1;j=i;break; } } if(k) { if(renshu==1) { p=&student[0]; free(p); renshu=0; } else { for(i=j;i<renshu;i++) { student[i]=student[i+1]; }renshu=renshu-1; } printf("刪除成功\n\n"); } } else { printf("輸入數(shù)據(jù)錯誤!\n"); ShanChu(); } fhzjm();}voidLiuLan(){ inti,j; system("CLS"); if(renshu==0) { printf("系統(tǒng)里面沒有任何學生的信息!\n"); } else { for(i=0;i<renshu;i++) { printf("第%d個學生的學號為:%s\n",i+1,student[i].xuehao); printf("第%d個學生的姓名為:%s\n",i+1,student[i].xingming); for(j=0;j<M;j++) { printf("第%d個學生的第%d門課的成績:%d\n",i+1,j+1,student[i].score[j]); } printf("第%d個學生的總成績?yōu)椋?d\n",i+1,student[i].sum); } } fhzjm();}voidChaZhao(){ charchoice[10],xinxi[20]; inti,j,k=0; system("CLS"); if(renshu==0) { printf("系統(tǒng)里面沒有任何學生的信息!\n"); fhzjm(); } printf("三種查找方式:學號,姓名,成績,請輸入查找方式:"); scanf("%s",choice); if(strcmp(choice,"學號")==0) { printf("請輸入需要查找學生的學號:"); scanf("%s",xinxi); for(i=0;i<renshu;i++) { if(strcmp(xinxi,student[i].xuehao)==0) { j=i;k=1; break; } } if(k==0) printf("輸入信息有誤:\n"); else { printf("您所查找的學生的信息為:\n"); printf("----學號----姓名----英語成績----高數(shù)成績----計算機成績\t\n"); printf("------%s------%s-------%d---------%d-------------%d\t\n",student[j].xuehao,student[j].xingming, student[j].score[0],student[j].score[1],student[j].score[2]); }} else if(strcmp(choice,"姓名")==0) { printf("請輸入需要查找學生的姓名:\n"); scanf("%s",xinxi); for(i=0;i<renshu;i++) { if(strcmp(xinxi,student[i].xingming)==0) { j=i;k=1;break; } } if(k==0) printf("輸入信息有誤:\n"); else { printf("您所查找的學生的信息為:\n"); printf("----學號-----姓名-----英語成績-----高數(shù)成績-------計算機成績---\n"); printf("----%s-----%s-----------%d-----------%d---------------%d---\n",student[j].xuehao,student[j].xingming, student[j].score[0],student[j].score[1],student[j].score[2]); } } else if(strcmp(choice,"成績")==0) { printf("請輸入需要查找學生的成績:\n"); scanf("%s",xinxi); for(i=0;i<renshu;i++) { if(strcmp(xinxi,student[i].xingming)==0) { j=i;k=1;break; } } if(k==0) printf("輸入信息有誤:\n"); else { printf("您所查找的學生的信息為:\n"); printf("-----學號-----姓名-----英語成績-----高數(shù)成績-------計算機成績-----\n"); printf("-----%s-----%s-----------%d-----------%d---------------%d-----\n",student[j].xuehao,student[j].xingming, student[j].score[0],student[j].score[1],student[j].score[2]); } } fhzjm();}voidPaiXu(){ structstudent*p1[N],**p2,*temp; inti,j; system("CLS"); p2=p1; for(i=0;i<renshu;i++) { p1[i]=student+i; } for(i=0;i<renshu;i++) { for(j=i+1;j<renshu;j++) { if((*(p2+i))->sum<(*(p2+j))->sum) { temp=*(p2+i);*(p2+i)=*(p2+j);*(p2+j)=temp; } } } printf("按照總成績排序之后的信息為:\n"); printf("-----學號-----姓名------總成績-----\n"); for(i=0;i<renshu;i++) { printf("-----%s-----%s--------%d\n",(*(p2+i))->xuehao,(*(p2+i))->xingming,(*(p2+i))->sum); } fhzjm();}voidCunChu(){ inti; FILE*rs; if((rs=fopen("card.dat","wb"))==NULL) { printf("notopen"); exit(0); } for(i=0;i<renshu;i++) { fwrite(&student[i],sizeof(student[i]),1,rs); } if(ferror(rs)) { fclose(rs); perror("寫文件失?。n"); return;} printf("存儲文件成功!\n"); fclose(rs); fhzjm();}voidDaoChu(){ structstudentt; inti=0; FILE*fp=fopen("card.dat","rb"); renshu=0; if(NULL==fp) { perror("讀取文件打開失敗!\n"); return;} memset(student,0x0,sizeof(student)); while(1) { fread(&t,sizeof(t),1,fp); if(ferror(fp)) { fclose(fp); perror("讀文件過程失??!\n"); return; } if(feof(fp)) { break; } student[i]=t; i++; } fclose(fp); renshu=i; printf("導出文件成功!\n"); fhzjm();}#include"head.h"voidmenu(){ intn; system("CLS"); printf("學生信息管理系統(tǒng)\n"); printf("-------------------MENU-----------------\n"); printf("1.登記學生信息\n"); printf("2.刪除學生信息\n"); printf("3.瀏覽所有已經(jīng)登記的學生\n"); printf("4.查找\n"); printf("4.1.按學號查找\n"); printf("4.2按姓名查找\n"); printf("4.3按成績查找\n"); printf("5.根據(jù)總成績排序\n"); printf("6.存儲到文件\n"); printf("7.從文件導出\n"); printf("8.退出系統(tǒng)\n");a:printf("請選擇:"); scanf("%d",&n); switch(n) { case1: DengJi(); break; case2: ShanChu(); break; case3: LiuLan(); break; case4: ChaZhao(); break; case5: PaiXu(); break; case6: CunChu(); break; case7: DaoChu(); break; case8: exit(0); break; default: { printf("請輸入1-8之間的數(shù)字\n"); gotoa; } }}基于C8051F單片機直流電動機反饋控制系統(tǒng)的設計與研究基于單片機的嵌入式Web服務器的研究MOTOROLA單片機MC68HC(8)05PV8/A內嵌EEPROM的工藝和制程方法及對良率的影響研究基于模糊控制的電阻釬焊單片機溫度控制系統(tǒng)的研制基于MCS-51系列單片機的通用控制模塊的研究基于單片機實現(xiàn)的供暖系統(tǒng)最佳啟停自校正(STR)調節(jié)器單片機控制的二級倒立擺系統(tǒng)的研究基于增強型51系列單片機的TCP/IP協(xié)議棧的實現(xiàn)基于單片機的蓄電池自動監(jiān)測系統(tǒng)基于32位嵌入式單片機系統(tǒng)的圖像采集與處理技術的研究基于單片機的作物營養(yǎng)診斷專家系統(tǒng)的研究基于單片機的交流伺服電機運動控制系統(tǒng)研究與開發(fā)基于單片機的泵管內壁硬度測試儀的研制基于單片機的自動找平控制系統(tǒng)研究基于C8051F040單片機的嵌入式系統(tǒng)開發(fā)基于單片機的液壓動力系統(tǒng)狀態(tài)監(jiān)測儀開發(fā)模糊Smith智能控制方法的研究及其單片機實現(xiàn)一種基于單片機的軸快流CO〈,2〉激光器的手持控制面板的研制基于雙單片機沖床數(shù)控系統(tǒng)的研究基于CYGNAL單片機的在線間歇式濁度儀的研制基于單片機的噴油泵試驗臺控制器的研制基于單片機的軟起動器的研究和設計基于單片機控制的高速快走絲電火花線切割機床短循環(huán)走絲方式研究基于單片機的機電產(chǎn)品控制系統(tǒng)開發(fā)基于PIC單片機的智能手機充電器基于單片機的實時內核設計及其應用研究基于單片機的遠程抄表系統(tǒng)的設計與研究基于單片機的煙氣二氧化硫濃度檢測儀的研制基于微型光譜儀的單片機系統(tǒng)單片機系統(tǒng)軟件構件開發(fā)的技術研究基于單片機的液體點滴速度自動檢測儀的研制基于單片機系統(tǒng)的多功能溫度測量儀的研制基于PIC單片機的電能采集終端的設計和應用基于單片機的光纖光柵解調儀的研制氣壓式線性摩擦焊機單片機控制系統(tǒng)的研制基于單片機的數(shù)字磁通門傳感器基于單片機的旋轉變壓器-數(shù)字轉換器的研究基于單片機的光纖Bragg光柵解調系統(tǒng)的研究單片機控制的便攜式多功能乳腺治療儀的研制基于C8051F020單片機的多生理信號檢測儀基于單片機的電機運動控制系統(tǒng)設計Pico專用單片機核的可測性設計研究基于MCS-51單片機的熱量計基于雙單片機的智能遙測微型氣象站MCS-51單片機構建機器人的實踐研究基于單片機的輪軌力檢測基于單片機的GPS定位儀的研究與實現(xiàn)基于單片機的電液伺服控制系統(tǒng)用于單片機系統(tǒng)的MMC卡文件系統(tǒng)研制基于單片機的時控和計數(shù)系統(tǒng)性能優(yōu)化的研究基于單片機和CPLD的粗光柵位移測量系統(tǒng)研究單片機控制的后備式方波UPS提升高職學生單片機應用能力的探究基于單片機控制的自動低頻減載裝置研究基于單片機控制的水下焊接電源的研究基于單片機的多通道數(shù)據(jù)采集系統(tǒng)基于uPSD3234單片機的氚表面污染測量儀的研制基于單片機的紅外測油儀的研究96系列單片機仿真器研究與設計基于單片機的單晶金剛石刀具刃磨設備的數(shù)控改造基于單片機的溫度智能控制系統(tǒng)的設計與實現(xiàn)基于MSP430單片機的電梯門機控制器的研制基于單片機的氣體測漏儀的研究基于三菱M16C/6N系列單片機的CAN/USB協(xié)議轉換器基于單片機和DSP的變壓器油色譜在線監(jiān)測技術研究基于單片機的膛壁溫度報警系統(tǒng)設計基于AVR單片機的低壓無功補償控制器的設計基于單片機船舶電力推進電機監(jiān)測系統(tǒng)基于單片機網(wǎng)絡的振動信號的采集系統(tǒng)基于單片機的大容量數(shù)據(jù)存儲技術的應用研究基于單片機的疊圖機研究與教學方法實踐基于單片機嵌入式Web服務器技術的研究及實現(xiàn)基于AT89S52單片機的通用數(shù)據(jù)采集系統(tǒng)基于單片機的多道脈沖幅度分析儀研究機器人旋轉電弧傳感角焊縫跟蹤單片機控制系統(tǒng)基于單片機的控制系統(tǒng)在PLC虛擬教學實驗中的應用研究基于單片機系統(tǒng)的網(wǎng)絡通信研究與應用基于PIC16F877單片機的莫爾斯碼自動譯碼系統(tǒng)設計與研究基于單片機的模糊控制器在工業(yè)電阻爐上的應用研究基于雙單片機沖床數(shù)控系統(tǒng)的研究與開發(fā)基于Cygnal單片機的μC/OS-Ⅱ的研究基于單片機的一體化智能差示掃描量熱儀系統(tǒng)研究基于TCP/IP協(xié)議的單片機與Internet互聯(lián)的研究與實現(xiàn)變頻調速液壓電梯單片機控制器的研究基于單片機γ-免疫計數(shù)器自動換樣功能的研究與實現(xiàn)基于單片機的倒立擺控制系統(tǒng)設計與實現(xiàn)單片機嵌入式以太網(wǎng)防盜報警系統(tǒng)基于51單片機的嵌入式Internet系統(tǒng)的設計與實現(xiàn)單片機監(jiān)測系統(tǒng)在擠壓機上的應用MSP430單片機在智能水表系統(tǒng)上的研究與應用基于單片機的嵌入式系統(tǒng)中TCP/IP協(xié)議棧的實現(xiàn)與應用單片機在高樓恒壓供水系統(tǒng)中的應用基于ATmega16單片機的流量控制器的開發(fā)\t

溫馨提示

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

評論

0/150

提交評論