版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、課程設(shè)計課程設(shè)計名稱:C 語言程序設(shè)計題目:學(xué)籍管理系統(tǒng)學(xué)生姓名:學(xué)生學(xué)號:學(xué)院(系):軟件學(xué)院專業(yè)班級:112021II 指導(dǎo)教師:設(shè)計時間:2012 年9 月 日 2012 年 1 I9月_ 14 日專業(yè)資料word實驗題目:學(xué)籍管理系統(tǒng)一、實驗?zāi)康木C合應(yīng)用所學(xué)的C語言程序設(shè)計知識,自行設(shè)計并實現(xiàn)一個較為完整的小型管理信息系統(tǒng)。通過系統(tǒng)分析、系統(tǒng)設(shè)計、編程實現(xiàn),寫實驗報告等環(huán)節(jié),初步掌 握軟件系統(tǒng)的設(shè)計方法和步驟,提高靈活運用程序語言進行軟件開發(fā)的技能,提 高程序設(shè)計水平和分析問題、解決問題的能力。二、實驗內(nèi)容1 ):熟悉C語言的開發(fā)環(huán)境,按照給定的上機步驟練習(xí)完成;2):熟悉C程序的編輯
2、,編譯,鏈接和運行的過程。3):編譯一個應(yīng)用系統(tǒng)程序,形成一個軟件系統(tǒng)。三實驗要求.1.1、分析系統(tǒng)功能(1)用戶進入主菜單后,就會在看到,菜單選項中添加有系統(tǒng)的各項功能, 進 入的應(yīng)的選項就可進行相應(yīng)的操作.其主要功能有:1、錄入學(xué)生信息 2、刪除學(xué)生信息3、查詢學(xué)生信息 4、學(xué)生信息排序5、改學(xué)生信息 6、保存退出系統(tǒng)學(xué)資學(xué)習(xí)網(wǎng)(2)用戶選擇所需操作的選項,進入相應(yīng)的操作界面,在這里用戶就可開始進行操作。四、使用說明學(xué)生學(xué)籍管理系統(tǒng)是針對學(xué)生信息的管理,主要功能是添加學(xué)生信息、刪除學(xué)生 信息、查詢學(xué)生信息、學(xué)生信息排序、修改學(xué)生信息、保存信息。1,用戶打開程序,進入主界面,輸入學(xué)生信息如圖
3、專業(yè)資料word2 ,按回車進入主菜單,列出各項功能如圖學(xué)資學(xué)習(xí)網(wǎng)find->2 deinsert X|p 屋 eirt和r J=,是查詢整個班級的學(xué)生的信息,如圖 1輸入 專業(yè)資料word2 ,是查詢個別學(xué)生的信息,如查詢第一學(xué)生的信息,如圖輸入,是刪除個別學(xué)生的信息,如刪除第一個學(xué)生,如圖 3輸入專業(yè)資料word4 ,是插入某些學(xué)生的信息,如插入第三個,如圖輸入,是修改某個同學(xué)的信息,如刪除第一個,如圖5輸入專業(yè)資料word三、心得體會起初還沒做這是我第一次做課程設(shè)計,兩周的課程過起來其實也是很快的。帶著最初的好奇將會很有意思。的時候覺得很快自己就將得編一個較 大的程序,做課程設(shè)計并
4、不是自新鮮感就這樣開始了第一天的編程,結(jié)果是大失所望。心,己想象中的那樣有意思,而是很枯燥,很乏味的。也沒想象中的那樣簡單,并不我們現(xiàn)在要做沒那么簡單。每次編的那些小程序,C是像我們平時上語百課時,專業(yè)資料word的就是將我們平時學(xué)的,做的那些小程序都合理的湊到一塊兒來。而把這些小程 序都加到一塊兒來,并不是隨意的將它們放到一個程序中就完事的, 而是必須得 合理,且得顧及到各個方面。正是由于編程的紛繁復(fù)雜,且結(jié)構(gòu)的嚴謹,此此編程的過程中到處是困難和問題。 它考驗的不僅是我們的平時用功程度,以及我們對所學(xué)知識的熟練掌握程度、應(yīng) 用的靈活程度,它還考驗我們的毅力。在剛開始的幾天時,由于前一陣忙于各
5、科的考試,C語言已經(jīng)好久沒碰了,所學(xué)的知識都有點遺忘了,在編寫時處處碰壁,一直會停頓翻書,編得自己都開始心煩意亂了,實在是編不下去了,于是索性就 停了三天去看書,先把書給吃透。并在后期的程序調(diào)試中也碰到不少的問題, 好 多問題自己反復(fù)檢查了幾遍都沒查出, 但在老師的幫助下還是一下就查出了。 并 不是這些問題多難,而是不夠心細。因此做課程設(shè)計、編程時,它還考驗并鍛煉 我們的心細程度。經(jīng)過這次的課程設(shè)計的實踐,我受益頗多,不僅是對我掌握知識、靈活運用知識 的一次考驗和鍛煉,也是對我生活態(tài)度的一次鍛煉,讓我學(xué)會心細和擁有毅力, 更具信心和恒心,碰到困難不再退縮,而是堅強面對。四,程序編碼/*程序需要
6、的頭文件*/*做一個學(xué)生的學(xué)籍管理系統(tǒng),有輸入,查詢,刪除,增加,修改等功能 */#include <stdio.h>#include<stdlib.h>#include<string.h>專業(yè)資料word#include <graphics.h>#include <bios.h>#define SIZE 4/*聲明數(shù)組的大小,可以任意改動*/int board5050;int cur_x, cur_y;void init();void clear();void draw_board();struct studentchar stuN
7、o8;char name10;char sex2;char score4;/*char address10;void init()int gdriver, gmode, i, j;gdriver = DETECT;*/registerbgidriver(EGAVGA_driver);initgraph(&gdriver, &gmode, );專業(yè)資料word/*聲明一個表格的數(shù)組*/*定義坐標*/*聲明一個初始化界面的函數(shù)*/*清除界面的函數(shù)*/*聲明一個函數(shù)畫表格*/*創(chuàng)建一個學(xué)生的結(jié)構(gòu)體*/*學(xué)生的學(xué)號*/*學(xué)生的姓名*/*學(xué)生的性別*/學(xué)生的分數(shù)*/*學(xué)生的地址*/*初始
8、化函數(shù)*/*圖形界面的驅(qū)動聲明for (i = 0; i < 10; i +)學(xué)資學(xué)習(xí)網(wǎng)for (j = 0; j < 10; j+)間距*/boardij = 0;cur_x = 1;cur_y = 1;/*聲明坐標的void destroy。closegraph();*/ void draw_board(int n)int i, j;*/ for (i = 20; i <=5*160+80; i += 90)循環(huán)/* line(i, 20, i, (n+1)*60+20);專業(yè)資料word關(guān)閉圖形驅(qū)動器*/ /*畫表格的函數(shù)/* 劃橫線的for (i = 20; i &l
9、t;= (n+1)*60+30; i += 60)的循環(huán)*/line(20, i, 5*110+10, i);void main()struct student stuSIZE,stu_temp;/*劃縱線/*聲明結(jié)構(gòu)體變*/學(xué)資學(xué)習(xí)網(wǎng)量 /* FILE *fp;聲明文件型的指針 */int i,j,n,m,h;/*c為循環(huán)次數(shù)*/ int c=1;h=0;/* 打開寫入文fp=fopen(c:list.txt,wb+);*/件/*調(diào)用函數(shù)init();draw_board(SIZE);/* if(fp=NULL)是否為空專業(yè)資料 word*/*/驗證文件printf(cannot open
10、this filen);exit(0);printf(input all %d students's data.n,SIZE);畫輸入學(xué)生信息的表*/gotoxy(17,4);printf(stuNo);gotoxy(29,4);printf(ame);gotoxy(41,4);printf(sex);gotoxy(52,4);printf(score);gotoxy(63,4);printf(address);for(i=0;i<SIZE+h;i+)/*/*輸入學(xué)生的信息*/gotoxy(7,4*(i+2);printf(%d,i);gotoxy(17,4*(i+2);專業(yè)資料
11、wordscanf(%s,&stui.stuNo);gotoxy(29,4*(i+2);scanf(%s,&);gotoxy(41,4*(i+2);scanf(%s,&stui.sex);gotoxy(52,4*(i+2);scanf(%s,&stui.score);gotoxy(63,4*(i+2);scanf(%s,&stui.address);/*驗證是否寫入for(i=0;i<SIZE+h;i+)文件*/if(fwrite(&stui,sizeof(struct student),1,fp)!=1) printf(
12、ile write error!);exit(0);rewind(fp);/*創(chuàng)建一個圖形界面clrscr();for(c=1;c<100;c+)*/專業(yè)資料wordtextbackground(O); textcolor(l);gotoxy(29,7);printf(ead->1);gotoxy(29,9);printf(當輸入為1時,顯示整個班*/的學(xué)生信息/*用for循環(huán)ind->2);gotoxy(29,11);printf(delete->3);gotoxy(29,13);printf(insert->4);gotoxy(29,15);printf(mo
13、dify->5);gotoxy(29,17);printf(plese enter j=); scanf(%d,&j);clrscr();if(j=1)/*級 專業(yè)資料worddraw_board(SIZE);gotoxy(17,4);printf(stuNo);gotoxy(29,4);printf(ame);gotoxy(41,4);printf(sex);gotoxy(52,4);printf(score);gotoxy(63,4);printf(address);for(i=0;i<SIZE+h;i+)從文件中輸 fread(&stu_temp,sizeof
14、(struct student),1,fp);出每個學(xué)生的信息*/gotoxy(7,4*(i+2);printf(%d,i);gotoxy(17,4*(i+2);printf(%s,stui.stuNo);gotoxy(29,4*(i+2);printf(%s,);gotoxy(41,4*(i+2);專業(yè)資料wordprintf(%s,stui.sex);gotoxy(52,4*(i+2);printf(%s,stui.score);gotoxy(63,4*(i+2);printf(%s,stui.address);fclose(fp);getch();clrscr();if
15、(j=2)生的rewind(fp);最前*/printf(lookup the nth(n<4)/*輸入要查找的學(xué)生scanf(%d,&i);clrscr();專業(yè)資料worddraw_board(1);gotoxy(17,4); printf(stuNo);/*關(guān)閉文件*/*留在當前界面*/*清屏*/*當輸入為2時,查找某個學(xué)信息*/*移動指針到student,plese enter n= :n);位置*/*畫表格*/gotoxy(29,4);printf( ame);gotoxy(41,4);printf(sex);gotoxy(52,4);printf(score);got
16、oxy(63,4);printf(address);打開fseek(fp,(i-1)*sizeof(struct student),。);文件查 /* 找,讀出信 */ 息 fread(&stu_temp,sizeof(structstudent),1,fp);gotoxy(7,8);printf(%d,i);gotoxy(17,8);printf(%s,stui.stuNo);gotoxy(29,8);printf(%s,);gotoxy(41,8);printf(%s,stui.sex);專業(yè)資料wordgotoxy(52,8);printf(%s,stui.sc
17、ore);gotoxy(63,8);printf(%s,stui.address);fclose(fp);getch();clrscr();if(j=3)/*當輸入為3,刪除某個學(xué)生的信息*/h=h-1;/*表格少畫一格*/printf(youwant delete nth student,plese enter n=);/*調(diào)用函數(shù)畫表格*/scanf(%d,&n);draw_board(SIZE+h);gotoxy(17,4);printf(stuNo);gotoxy(29,4);printf(ame);gotoxy(41,4);專業(yè)資料wordprintf(sex);gotoxy
18、(52,4);printf(score);gotoxy(63,4);printf(address);for(m=n;m<SIZE+h;m+)/* 刪除指定學(xué)生的信息*/strcpy(stum.stuNo,stum+1.stuNo);strcpy(,stum+1.name);strcpy(stum.sex,stum+1.sex);strcpy(stum.score,stum+1.score);strcpy(stum.address,stum+1.address);for(i=0;i<SIZE+h;i+)/* 用 for 循環(huán)輸出整 fread(&stu_te
19、mp,sizeof(struct student),1,fp);個表格*/gotoxy(7,4*(i+2);printf(%d,i);gotoxy(17,4*(i+2);printf(%s,stui.stuNo);gotoxy(29,4*(i+2);專業(yè)資料wordprintf(%s,);gotoxy(41,4*(i+2);printf(%s,stui.sex);gotoxy(52,4*(i+2);printf(%s,stui.score);gotoxy(63,4*(i+2); printf(%s,stui.address);fclose(fp);getch();clrscr
20、();/*當輸入為4時,增加一個學(xué)生信息*/if(j=4)h=h+1;printf(you專業(yè)資料wordwant insertnth student,pleseenter n=);scanf(%d,&n);/*增加一個學(xué)息*/for(m=n;m<SIZE+h;m+)生的信strcpy(stum+1.stuNo,stum.stuNo);strcpy(stum+1.name,);strcpy(stum+1.sex,stum.sex);strcpy(stum+1.score,stum.score);strcpy(stum+1.address,stum.address
21、);/*調(diào)用函數(shù)畫draw_board(1);表格*/gotoxy(7,4*2);printf(%d,n); gotoxy(17,4); printf(stuNo); gotoxy(29,4); printf( ame);gotoxy(41,4); printf(sex);gotoxy(52,4); printf(score);gotoxy(63,4);專業(yè)資料wordprintf(address);/*輸入一個新學(xué)信息gotoxy(17,8);生的scanf(%s,&stun.stuNo);*/gotoxy(29,8);scanf(%s,&);gotoxy(
22、41,8);scanf(%s,&stun.sex);gotoxy(52,8);scanf(%s,&stun.score);gotoxy(63,8);scanf(%s,&stun.address);gotoxy(7,8);printf(%d,i);gotoxy(17,8);printf(%s,stun.stuNo);gotoxy(29,8);printf(%s,);gotoxy(41,8);printf(%s,stun.sex);gotoxy(52,8);printf(%s,stun.score);專業(yè)資料wordgotoxy(63,8);printf(
23、%s,stun.address);clrscr();draw_board(SIZE+h);gotoxy(17,4);printf(stuNo);gotoxy(29,4);printf(ame);gotoxy(41,4);printf(sex);gotoxy(52,4);printf(score);gotoxy(63,4);printf(address);/*用for循環(huán)for(i=0;i<SIZE+h;i+)輸出整個 fread(&stu_temp,sizeof(struct student),1,fp);表格*/gotoxy(7,4*(i+2);printf(%d,i);got
24、oxy(17,4*(i+2);printf(%s,stui.stuNo);專業(yè)資料wordgotoxy(29,4*(i+2); printf(%s,); gotoxy(41,4*(i+2); printf(%s,stui.sex); gotoxy(52,4*(i+2); printf(%s,stui.score); gotoxy(63,4*(i+2);printf(%s,stui.address);fclose(fp); getch(); clrscr();if(j=5)學(xué)生printf(you want to modify nth student information,plese enter n=);scanf(%d,&n);置專業(yè)資料 word*/draw_board(1);draw_board(1);gotoxy(7,4*2);printf(%d,n);gotoxy(17,4);printf(stuNo);gotoxy(29,4);printf(ame);gotoxy(41,4);printf(sex);gotoxy(52,4);printf(score);gotoxy(63,4); printf
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度智能化停車場車位租賃管理服務(wù)合同模板4篇
- 2025年度智能家居廚房系統(tǒng)安裝工程合同規(guī)范版4篇
- 2024版牛奶飲料購銷合同
- 2025年度專業(yè)代理記賬服務(wù)合作協(xié)議書4篇
- 2025年度文化宣傳活動傳單派發(fā)合作協(xié)議范本4篇
- 2024年道路擴建工程爆破作業(yè)協(xié)議樣本一
- 2025年度水利樞紐沖孔灌注樁施工勞務(wù)分包合同規(guī)范4篇
- 2025年度新型瓷磚產(chǎn)品研發(fā)運輸合作協(xié)議4篇
- 2024石材開采與石材加工廠合作合同3篇
- 2025年度智能果園承包合作協(xié)議范本4篇
- 定額〔2025〕1號文-關(guān)于發(fā)布2018版電力建設(shè)工程概預(yù)算定額2024年度價格水平調(diào)整的通知
- 單位往個人轉(zhuǎn)賬的合同(2篇)
- 《運營管理》案例庫
- 醫(yī)院安全保衛(wèi)部署方案和管理制度
- 我的自我針灸記錄摘錄
- 中醫(yī)學(xué)-五臟-心-課件
- 《駱駝祥子》閱讀記錄卡
- 教育學(xué)原理完整版課件全套ppt教程(最新)
- 醫(yī)療安全不良事件報告培訓(xùn)PPT培訓(xùn)課件
- 膽管癌的護理查房
- 小學(xué)四年級奧數(shù)教程30講(經(jīng)典講解)
評論
0/150
提交評論