c語言課程設(shè)計(jì)-學(xué)籍管理系統(tǒng)(含源代碼)_第1頁
c語言課程設(shè)計(jì)-學(xué)籍管理系統(tǒng)(含源代碼)_第2頁
c語言課程設(shè)計(jì)-學(xué)籍管理系統(tǒng)(含源代碼)_第3頁
c語言課程設(shè)計(jì)-學(xué)籍管理系統(tǒng)(含源代碼)_第4頁
c語言課程設(shè)計(jì)-學(xué)籍管理系統(tǒng)(含源代碼)_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、課程設(shè)計(jì)課程設(shè)計(jì)名稱:C 語言程序設(shè)計(jì)題目:學(xué)籍管理系統(tǒng)學(xué)生姓名:學(xué)生學(xué)號(hào):學(xué)院(系):軟件學(xué)院專業(yè)班級:112021II 指導(dǎo)教師:設(shè)計(jì)時(shí)間:2012 年9 月 日 2012 年 1 I9月_ 14 日專業(yè)資料word實(shí)驗(yàn)題目:學(xué)籍管理系統(tǒng)一、實(shí)驗(yàn)?zāi)康木C合應(yīng)用所學(xué)的C語言程序設(shè)計(jì)知識(shí),自行設(shè)計(jì)并實(shí)現(xiàn)一個(gè)較為完整的小型管理信息系統(tǒng)。通過系統(tǒng)分析、系統(tǒng)設(shè)計(jì)、編程實(shí)現(xiàn),寫實(shí)驗(yàn)報(bào)告等環(huán)節(jié),初步掌 握軟件系統(tǒng)的設(shè)計(jì)方法和步驟,提高靈活運(yùn)用程序語言進(jìn)行軟件開發(fā)的技能,提 高程序設(shè)計(jì)水平和分析問題、解決問題的能力。二、實(shí)驗(yàn)內(nèi)容1 ):熟悉C語言的開發(fā)環(huán)境,按照給定的上機(jī)步驟練習(xí)完成;2):熟悉C程序的編輯

2、,編譯,鏈接和運(yùn)行的過程。3):編譯一個(gè)應(yīng)用系統(tǒng)程序,形成一個(gè)軟件系統(tǒng)。三實(shí)驗(yàn)要求.1.1、分析系統(tǒng)功能(1)用戶進(jìn)入主菜單后,就會(huì)在看到,菜單選項(xiàng)中添加有系統(tǒng)的各項(xiàng)功能, 進(jìn) 入的應(yīng)的選項(xiàng)就可進(jìn)行相應(yīng)的操作.其主要功能有:1、錄入學(xué)生信息 2、刪除學(xué)生信息3、查詢學(xué)生信息 4、學(xué)生信息排序5、改學(xué)生信息 6、保存退出系統(tǒng)學(xué)資學(xué)習(xí)網(wǎng)(2)用戶選擇所需操作的選項(xiàng),進(jìn)入相應(yīng)的操作界面,在這里用戶就可開始進(jìn)行操作。四、使用說明學(xué)生學(xué)籍管理系統(tǒng)是針對學(xué)生信息的管理,主要功能是添加學(xué)生信息、刪除學(xué)生 信息、查詢學(xué)生信息、學(xué)生信息排序、修改學(xué)生信息、保存信息。1,用戶打開程序,進(jìn)入主界面,輸入學(xué)生信息如圖

3、專業(yè)資料word2 ,按回車進(jìn)入主菜單,列出各項(xiàng)功能如圖學(xué)資學(xué)習(xí)網(wǎng)find->2 deinsert X|p 屋 eirt和r J=,是查詢整個(gè)班級的學(xué)生的信息,如圖 1輸入 專業(yè)資料word2 ,是查詢個(gè)別學(xué)生的信息,如查詢第一學(xué)生的信息,如圖輸入,是刪除個(gè)別學(xué)生的信息,如刪除第一個(gè)學(xué)生,如圖 3輸入專業(yè)資料word4 ,是插入某些學(xué)生的信息,如插入第三個(gè),如圖輸入,是修改某個(gè)同學(xué)的信息,如刪除第一個(gè),如圖5輸入專業(yè)資料word三、心得體會(huì)起初還沒做這是我第一次做課程設(shè)計(jì),兩周的課程過起來其實(shí)也是很快的。帶著最初的好奇將會(huì)很有意思。的時(shí)候覺得很快自己就將得編一個(gè)較 大的程序,做課程設(shè)計(jì)并

4、不是自新鮮感就這樣開始了第一天的編程,結(jié)果是大失所望。心,己想象中的那樣有意思,而是很枯燥,很乏味的。也沒想象中的那樣簡單,并不我們現(xiàn)在要做沒那么簡單。每次編的那些小程序,C是像我們平時(shí)上語百課時(shí),專業(yè)資料word的就是將我們平時(shí)學(xué)的,做的那些小程序都合理的湊到一塊兒來。而把這些小程 序都加到一塊兒來,并不是隨意的將它們放到一個(gè)程序中就完事的, 而是必須得 合理,且得顧及到各個(gè)方面。正是由于編程的紛繁復(fù)雜,且結(jié)構(gòu)的嚴(yán)謹(jǐn),此此編程的過程中到處是困難和問題。 它考驗(yàn)的不僅是我們的平時(shí)用功程度,以及我們對所學(xué)知識(shí)的熟練掌握程度、應(yīng) 用的靈活程度,它還考驗(yàn)我們的毅力。在剛開始的幾天時(shí),由于前一陣忙于各

5、科的考試,C語言已經(jīng)好久沒碰了,所學(xué)的知識(shí)都有點(diǎn)遺忘了,在編寫時(shí)處處碰壁,一直會(huì)停頓翻書,編得自己都開始心煩意亂了,實(shí)在是編不下去了,于是索性就 停了三天去看書,先把書給吃透。并在后期的程序調(diào)試中也碰到不少的問題, 好 多問題自己反復(fù)檢查了幾遍都沒查出, 但在老師的幫助下還是一下就查出了。 并 不是這些問題多難,而是不夠心細(xì)。因此做課程設(shè)計(jì)、編程時(shí),它還考驗(yàn)并鍛煉 我們的心細(xì)程度。經(jīng)過這次的課程設(shè)計(jì)的實(shí)踐,我受益頗多,不僅是對我掌握知識(shí)、靈活運(yùn)用知識(shí) 的一次考驗(yàn)和鍛煉,也是對我生活態(tài)度的一次鍛煉,讓我學(xué)會(huì)心細(xì)和擁有毅力, 更具信心和恒心,碰到困難不再退縮,而是堅(jiān)強(qiáng)面對。四,程序編碼/*程序需要

6、的頭文件*/*做一個(gè)學(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ù)組的大小,可以任意改動(dòng)*/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/*聲明一個(gè)表格的數(shù)組*/*定義坐標(biāo)*/*聲明一個(gè)初始化界面的函數(shù)*/*清除界面的函數(shù)*/*聲明一個(gè)函數(shù)畫表格*/*創(chuàng)建一個(gè)學(xué)生的結(jié)構(gòu)體*/*學(xué)生的學(xué)號(hào)*/*學(xué)生的姓名*/*學(xué)生的性別*/學(xué)生的分?jǐn)?shù)*/*學(xué)生的地址*/*初始

8、化函數(shù)*/*圖形界面的驅(qū)動(dòng)聲明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;/*聲明坐標(biāo)的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ū)動(dòng)器*/ /*畫表格的函數(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*/*/驗(yàn)證文件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);/*驗(yàn)證是否寫入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)建一個(gè)圖形界面clrscr();for(c=1;c<100;c+)*/專業(yè)資料wordtextbackground(O); textcolor(l);gotoxy(29,7);printf(ead->1);gotoxy(29,9);printf(當(dāng)輸入為1時(shí),顯示整個(gè)班*/的學(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);出每個(gè)學(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)閉文件*/*留在當(dāng)前界面*/*清屏*/*當(dāng)輸入為2時(shí),查找某個(gè)學(xué)信息*/*移動(dòng)指針到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)/*當(dāng)輸入為3,刪除某個(gè)學(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);個(gè)表格*/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、();/*當(dāng)輸入為4時(shí),增加一個(gè)學(xué)生信息*/if(j=4)h=h+1;printf(you專業(yè)資料wordwant insertnth student,pleseenter n=);scanf(%d,&n);/*增加一個(gè)學(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);/*輸入一個(gè)新學(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+)輸出整個(gè) 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)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論