




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、課程設(shè)計(jì)報(bào)告(本科)課程:高級(jí)語言程序設(shè)計(jì)學(xué)號(hào):姓名:班級(jí):2013級(jí)計(jì)算機(jī)科學(xué)與技術(shù)教師:時(shí)間:2013年12月計(jì)算機(jī)科學(xué)與技術(shù)系設(shè)計(jì)名稱:學(xué)生成績(jī)管理系統(tǒng)設(shè)計(jì)內(nèi)容、目的與要求:設(shè)計(jì)內(nèi)容:設(shè)計(jì)并實(shí)現(xiàn)學(xué)生成績(jī)管理系統(tǒng)目的與要求: 設(shè)計(jì)學(xué)生成績(jī)管理系統(tǒng),實(shí)現(xiàn)以下功能:1、采用的數(shù)據(jù)結(jié)構(gòu):結(jié)構(gòu)體數(shù)組 2、實(shí)現(xiàn)的功能:能對(duì)學(xué)生成績(jī)信息(學(xué)號(hào),課程設(shè)計(jì),成績(jī))進(jìn)行查詢(要求可以使用模糊查詢和條件組合查詢)、修改、增加、刪除和存儲(chǔ)等。計(jì)劃與進(jìn)度安排:12月20日至12月22日:研究學(xué)生管理系統(tǒng)的要求,分析應(yīng)實(shí)現(xiàn)的功能,具體分析問題,選擇解題所用的方法;12月23日至12月25日:設(shè)計(jì)出解題的方法(如該使
2、用何種算法,函數(shù)如何定義)和具體步驟;12月26日至12月31日:編寫各部分的程序,然后整合;1月1日至1月2日:調(diào)試程序;1月3日至1月5日:檢查并完善程序,找出不足,認(rèn)真填寫課程設(shè)計(jì)報(bào)告,為驗(yàn)收做準(zhǔn)備。設(shè)計(jì)過程、步驟(可加頁):1、 此設(shè)計(jì)采用結(jié)構(gòu)體數(shù)組,根據(jù)不同的值表達(dá)的不同意思,對(duì)變量進(jìn)行定義。 另外此代碼,添加了結(jié)構(gòu)體變量如下:struct student char name60; char id7; int score; 2、本課程設(shè)計(jì)定義了大量函數(shù),主要為: (1)case 1: add(); fh();(增加學(xué)生成績(jī)) (2)case 2: chazhao(); fh();(查
3、找) (3)case 3: del(); fh();(刪除) (4)case 4: xg(); fh();(修改) (5)case 5:bca(); fh();(保存) 3、詳細(xì)說明各函數(shù)功能的實(shí)現(xiàn): (1)增加功能void add()/增加學(xué)生 int numbertemp=0; int i=0; struct student temp; /臨時(shí)保存信息 printf(請(qǐng)輸入要增加學(xué)生成績(jī)個(gè)數(shù):); scanf(%d,&numbertemp); for(i=0;i提示:文件不存在,是否要?jiǎng)?chuàng)建?yn) scanf(%c,&yesorno); if(yesorno=y|yesorno=y) /這
4、里僅為了建立文件 fp=fopen(c:/student.dat,wb); fclose(fp); else exit(0); else number=dq(st); /要是文件只能夠已經(jīng)有數(shù)據(jù) 將數(shù)據(jù)初始化到 數(shù)組中 結(jié)果與分析(可以加頁): 一、 運(yùn)行結(jié)果1 、總頁面2、增加功能3、 查找功能姓名查找(內(nèi)含模糊查找)學(xué)號(hào)查找 條件組合查找 3、刪除功能4、 修改功能5、 保存功能 二、程序分析 該程序設(shè)計(jì)基本實(shí)現(xiàn)了,對(duì)學(xué)生成績(jī)的增加,刪除,修改,查找和存儲(chǔ)的基本功能,另外在查找程序中,還包含了模糊查找和條件組合查找 但是對(duì)于條件組合查找,在兩個(gè)條件存在的前提下,卻能查出多個(gè)結(jié)果,查詢顯示結(jié)
5、果卻由“且”變成“或”。設(shè)計(jì)體會(huì)與建議: 設(shè)計(jì)體會(huì):起初在拿到課程設(shè)計(jì)之時(shí),對(duì)本課題只是大致瀏覽過一遍,等到真正開始編寫,才發(fā)現(xiàn)各方各面的問題,主函數(shù)的定義,其它函數(shù)的聲明,一切的一切都是如此困難。也正是通過本次作業(yè),能夠正視自己在c語言上的不足點(diǎn)。猶記得起初對(duì)程序段極其陌生,不清楚該使用什么程序段,一直徘徊在不同函數(shù)之間。記得那時(shí)看到c語言頭就暈。曾經(jīng)為了一個(gè)模糊查詢語句,跑去圖書館查閱。不得不承認(rèn)那段時(shí)間的自己也確實(shí)萌生了失望,絕望,或者放棄的思想。但是考慮再三,還是咬牙堅(jiān)持,泡圖書館,電子閱覽室。功夫不負(fù)有心人,最后經(jīng)過多次查找資料,多次修改,最終完成本次作業(yè)。建議:此次實(shí)驗(yàn)讓我明白了,
6、在實(shí)踐一個(gè)于己而言,陌生的作業(yè)之前,先要熟悉課本基本知識(shí),起碼了解所要實(shí)現(xiàn)的功能,或者所需的函數(shù)定義。多查閱資料,看看別人怎么做的。不要老想一個(gè)人死撐,可以問問同學(xué)老師。附錄:#include #include #include struct student char name60; char id7; int score;int dq(struct student st);void xianshi();void bc(struct student st);void add(); /定義增加函數(shù)void chazhao();/定義查找函數(shù)void xhcz();/按學(xué)號(hào)查找void xmcz(
7、);/按姓名查找void del();/定義刪除函數(shù)void xmsc();/姓名刪除void xhsc();/學(xué)號(hào)刪除void zhcz();/條件組合查找void xg();/定義修改函數(shù)void xhxg(); /學(xué)號(hào)修改void xmxg();/姓名修改void bca();void fh();struct student st300; /這個(gè)數(shù)組用來保存所有的學(xué)生信息 和文件里面的一致int number=0; /記錄總的學(xué)生人數(shù) 也就是數(shù)組/文件里面的學(xué)生人數(shù)int k=0;/表示輸入的信息是否存在void main() int choose=0; file *fp=null; c
8、har yesorno; if(fp=fopen(c:/student.dat,rb)=null) printf(n=提示:文件不存在,是否要?jiǎng)?chuàng)建一個(gè)?(y/n)n); scanf(%c,&yesorno); if(yesorno=y|yesorno=y) /這里僅為了建立文件 fp=fopen(c:/student.dat,wb); fclose(fp); else exit(0); else number=dq(st); /要是文件只能夠已經(jīng)有數(shù)據(jù) 將數(shù)據(jù)初始化到數(shù)組中 system(cls); xianshi(); printf(tt=請(qǐng)選擇:); scanf(%d,&choose);
9、system(cls); switch(choose) case 0: exit(0); /退出 break; case 1: add(); fh();/增加學(xué)生成績(jī) break; case 2: chazhao(); fh();/ 查找 break; case 3: del(); fh();/刪除 break; case 4: xg(); fh();/修改 break; case 5:bca(); fh();/保存 break; default: break; fflush(stdin); getchar(); system(cls); void bca() printf(t=程序在運(yùn)行時(shí)已
10、自動(dòng)保存.n);void fh() printf(n);void xg() /修改學(xué)生信息 int way=0; printf(請(qǐng)選擇修改查找方式n); printf(1 按姓名查找修改n); printf(2 按學(xué)號(hào)查找修改n); scanf(%d,&way); switch(way) case 1: xmxg(); break; case 2: xhxg(); break; default: printf(輸入有誤,結(jié)束!n); break; /按姓名修改void xmxg() file *fp=null; char name60; int i=0; int changeindex=0;
11、int index=0; printf(請(qǐng)輸入要修改的學(xué)生姓名:); scanf(%s,name); for (i=0;i修改成功n); else if(k=0) printf(=無此人nnn); /信息修改后重新更新文件里面的數(shù)據(jù) 以保持?jǐn)?shù)據(jù)一致性 fp=fopen(c:/student.dat,wb); for (i=0;inumber;i+) fwrite(&sti,sizeof(struct student),1,fp); fclose(fp); k=0;void xhxg()/按學(xué)號(hào)修改 file *fp=null; char id60; int i=0; int changeind
12、ex=0; int index=0; printf(請(qǐng)輸入要修改的學(xué)生學(xué)號(hào):); scanf(%s,id); for (i=0;i修改成功n); else if(k=0) printf(=無此人nnn); /信息修改后重新更新文件里面的數(shù)據(jù) 以保持?jǐn)?shù)據(jù)一致性 fp=fopen(c:/student.dat,wb); for (i=0;inumber;i+) fwrite(&sti,sizeof(struct student),1,fp); fclose(fp); k=0; void del()/刪除 int n=0; printf(1 按姓名刪除n); printf(2 按學(xué)號(hào)刪除n); sc
13、anf(%d,&n); switch(n) case 1: xmsc(); break; case 2: xhsc(); break; void xmsc()/按姓名刪除 file *fp=null; char name60; int i=0; int j=0; printf(請(qǐng)輸入要?jiǎng)h除的學(xué)生姓名:); scanf(%s,name); for(i=0;inumber;i+) if (strcmp(name,)=0) /如果查找到就刪除 for (j=i;j無此人!nnn); /將剩余數(shù)據(jù)寫入文件 重新一寫的方式打開文件 把以前的數(shù)據(jù)擦除了 fp=fopen(c:/studen
14、t.dat,wb); for (i=0;inumber;i+) fwrite(&sti,sizeof(struct student),1,fp); fclose(fp); k=0; void xhsc()/按學(xué)號(hào)刪除 file *fp=null; char id60; int i=0; int j=0; printf(請(qǐng)輸入要?jiǎng)h除的學(xué)生學(xué)號(hào):); scanf(%s,id); for(i=0;inumber;i+) if (strcmp(id,sti.id)=0) /如果查找到就刪除 for (j=i;j無此人!nnn); /將剩余數(shù)據(jù)寫入文件 重新一寫的方式打開文件 把以前的數(shù)據(jù)擦除了 fp=
15、fopen(c:/student.dat,wb); for (i=0;inumber;i+) fwrite(&sti,sizeof(struct student),1,fp); fclose(fp); k=0;void chazhao()/查找學(xué)生 int n=0; printf(1 按姓名查找n); printf(2 按學(xué)號(hào)查找n); printf(3 組合查找n); scanf(%d,&n); switch(n) case 1: xmcz(); break; case 2: xhcz(); break;case 3: zhcz(); break; default: printf(輸入有誤,
16、結(jié)束!n); break; void xhcz()/按學(xué)號(hào)查找 char id7; int i=0; printf(請(qǐng)輸入要查找學(xué)生學(xué)號(hào):); scanf(%s,id); system(cls); for (i=0;i對(duì)不起沒有查找出這個(gè)人!nnn); k=0;void xmcz()/按姓名查找 char name7; int i=0; printf(請(qǐng)輸入要查找學(xué)生姓名:); scanf(%s,name); system(cls); for (i=0;i=0) printf(t姓名t學(xué)號(hào)t高數(shù)t英語tc語言t計(jì)算機(jī)導(dǎo)論n);printf(t%st%st%dt%dt%dt%dn,sti.nam
17、e,sti.id,sti.score,sti.score,sti.score,sti.score); k=1; if(k=0) printf(=對(duì)不起沒有查找出這個(gè)人!nnn); k=0;void zhcz()/組合查找 char name7;char id7; int i=0,j=0; printf(請(qǐng)輸入要查找學(xué)生姓名:); scanf(%s,name);printf(請(qǐng)輸入要查找學(xué)生學(xué)號(hào):); scanf(%s,id); system(cls); for (i=0;i對(duì)不起沒有查找出這個(gè)人!nnn); k=0;void add()/增加學(xué)生 int numbertemp=0; int i
18、=0; struct student temp; /臨時(shí)保存信息 printf(請(qǐng)輸入要增加學(xué)生成績(jī)個(gè)數(shù):); scanf(%d,&numbertemp); for(i=0;inumbertemp;i+) printf(輸入第%d個(gè)同學(xué)信息n,i+1); printf(姓名:); scanf(%s,); printf(學(xué)號(hào):); scanf(%s,temp.id);printf(高數(shù)成績(jī):); scanf(%d,&temp.score);printf(英語成績(jī):); scanf(%d,&temp.score);printf(c語言成績(jī):); scanf(%d,&temp.score);printf(計(jì)算機(jī)導(dǎo)論成
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 玉米品種采購(gòu)合同協(xié)議
- 電塔電池租賃合同協(xié)議
- 生態(tài)板買賣交易合同協(xié)議
- 玩具加工代理合同協(xié)議
- 電機(jī)銷售安裝合同協(xié)議
- 玉石供貨協(xié)議合同協(xié)議
- 電子汽車計(jì)量衡合同協(xié)議
- 牲豬屠宰工作合同協(xié)議
- 申通快遞協(xié)議物流合同
- 電器設(shè)備采購(gòu)合同協(xié)議
- (四調(diào))武漢市2025屆高中畢業(yè)生四月調(diào)研考試 歷史試卷(含答案)
- 燃?xì)饨?jīng)營(yíng)企業(yè)重大隱患判定標(biāo)準(zhǔn)培訓(xùn)課件
- 2023年度國(guó)家糧食和物資儲(chǔ)備局直屬事業(yè)單位公開招聘46人筆試參考題庫附帶答案詳解
- 智能輔具在康復(fù)中的應(yīng)用-全面剖析
- 2025年高考地理二輪復(fù)習(xí):選擇題答題技巧(含練習(xí)題及答案)
- 深基坑開挖及支護(hù)施工方案
- 2025屆江蘇省南通市、宿遷、連云港、泰州、揚(yáng)州、徐州、淮安蘇北七市高三第二次調(diào)研英語試卷
- 2025年內(nèi)蒙古自治區(qū)中考一模語文試題(原卷版+解析版)
- 安全教育車間級(jí)
- 對(duì)照品管理規(guī)范
- 光伏電站安全管理制度
評(píng)論
0/150
提交評(píng)論