《C語(yǔ)言程序設(shè)計(jì) 》課件-第9章_第1頁(yè)
《C語(yǔ)言程序設(shè)計(jì) 》課件-第9章_第2頁(yè)
《C語(yǔ)言程序設(shè)計(jì) 》課件-第9章_第3頁(yè)
《C語(yǔ)言程序設(shè)計(jì) 》課件-第9章_第4頁(yè)
《C語(yǔ)言程序設(shè)計(jì) 》課件-第9章_第5頁(yè)
已閱讀5頁(yè),還剩38頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

項(xiàng)目九課程設(shè)計(jì)——學(xué)生學(xué)籍管理系統(tǒng)任務(wù)一細(xì)化功能任務(wù)二功能設(shè)計(jì)任務(wù)三項(xiàng)目實(shí)現(xiàn)

任務(wù)一細(xì)化功能

學(xué)生學(xué)籍管理系統(tǒng)主要是用來(lái)管理學(xué)生學(xué)籍信息的。根據(jù)本校的應(yīng)用需求,該系統(tǒng)應(yīng)該實(shí)現(xiàn)以下基本功能:

(1)對(duì)學(xué)生信息的建庫(kù)。

(2)修改學(xué)生信息。

(3)刪除學(xué)生信息。

(4)查詢(xún)學(xué)生信息。

(5)輸出學(xué)生信息。

(6)退出系統(tǒng)。

(7)此外,為了系統(tǒng)安全,還應(yīng)有用戶(hù)權(quán)限設(shè)置功能。

(8)另外,在保證程序正確的前提下,考慮了程序的可靠性、交互性及界面的友好性,具體包括以下幾點(diǎn):

①輸入數(shù)據(jù)時(shí)的提示信息。

②輸入數(shù)據(jù)的合法性檢查。

③文件的打開(kāi)、讀寫(xiě)操作失敗后的提示及處理。

(9)模塊化的重要性。

(10)團(tuán)隊(duì)合作精神的重要性。

任務(wù)二功能設(shè)計(jì)

1.對(duì)學(xué)生信息的建庫(kù)先以追加方式打開(kāi)原文件并存入結(jié)構(gòu)體數(shù)組,以便輸入記錄時(shí)檢查是否有重復(fù)學(xué)號(hào)的記錄。循環(huán)提示輸入學(xué)生信息,當(dāng)輸入的學(xué)號(hào)中有字母,姓名中有數(shù)字,性別不是f或m,成績(jī)小于0或大于100時(shí),均提示輸入有錯(cuò),重新輸入,直到正確。然后將輸入的信息存入庫(kù)文件中。退出循環(huán)后,返回主菜單。

2.修改學(xué)生信息

循環(huán)提示輸入要修改的學(xué)生學(xué)號(hào),如果輸入的學(xué)號(hào)存在,先顯示該記錄,再提示修改,然后將修改的信息存入庫(kù)文件中。退出循環(huán)后,返回主菜單。

3.刪除學(xué)生信息

分單個(gè)刪除和全部刪除。單個(gè)刪除時(shí),循環(huán)提示輸入要?jiǎng)h除的學(xué)生學(xué)號(hào),先顯示該記錄,再提示是否刪除成功,然后將刪除后的信息存入庫(kù)文件中。退出循環(huán)后,返回主菜單。全部刪除時(shí),先提示是否真的要全部刪除,若是,則清空庫(kù)文件,然后返回主菜單。反之,返回主菜單。

4.查詢(xún)學(xué)生信息

分按學(xué)號(hào)查詢(xún)和按姓名查詢(xún),兩種查詢(xún)實(shí)現(xiàn)方法是類(lèi)似的:循環(huán)提示輸入要查詢(xún)的學(xué)號(hào)/姓名,若能找到,則顯示該條記錄。對(duì)于按姓名查詢(xún),當(dāng)出現(xiàn)重名時(shí),則顯示多條記錄。若找不到,則顯示找不到。退出循環(huán)后,返回主菜單。

5.輸出學(xué)生信息

在屏幕上顯示所有學(xué)生的記錄。

6.退出系統(tǒng)

先在屏幕上顯示“GOODBYE!”,并延時(shí)一段時(shí)間,然后退出。

任務(wù)三項(xiàng)目實(shí)現(xiàn)

本項(xiàng)目——學(xué)生學(xué)籍管理系統(tǒng)的實(shí)現(xiàn)代碼如下:

#defineM1000

#defineN3

#defineDELAY20

#include"string.h"

#include"math.h"

#include"ctype.h"

#include"stdlib.h"

#include"conio.h"

#include"stdio.h"

typedefstructstudent

{charnum[10];

charname[10];

charsex;

floatscore[N];

}STU;

FILE*fp;

STUstu[M];

mywindow()

{

inti;

putch(0xc9);

for(i=3;i<=78;i++)

putch(0xcd);

putch(0xbb);

for(i=2;i<=24;i++)

{gotoxy(78,i);

putch(186);

}

gotoxy(78,24);

putch(188);

gotoxy(2,2);

for(i=2;i<=24;i++)

{gotoxy(1,i);

putch(186);

}

gotoxy(1,24);

putch(200);

for(i=3;i<=78;i++)

putch(205);

}

welcome()

{

unsignedlongi;

textmode(C80);

window(1,1,80,25);

textbackground(BLUE);

textcolor(YELLOW);

clrscr();

mywindow();

gotoxy(20,10);

for(i=0;i<pow(2,DELAY);i++);

printf("welcome");

for(i=0;i<pow(2,DELAY);i++);

printf("to");

for(i=0;i<pow(2,DELAY);i++);

printf("student");

for(i=0;i<pow(2,DELAY);i++);

printf("system!\n");

gotoxy(20,11);

printf("class:computerscience00-7\n");

gotoxy(20,12);

printf("coach:Yuyong\n");

gotoxy(20,13);

printf("author:group3.\n");

gotoxy(20,15);

printf("pressanykeytocontinue...\n");

getch();

}

intpassword()

{

charpassword[10];

intflag,i=1;

do

{printf("password?\n");

scanf("%s",password);

if(strcmp(password,"wangquan"))

{flag=0;

i++;

}

else

{flag=1;

break;

}

}while(i<=3);

returnflag;

}

本項(xiàng)目選擇的數(shù)據(jù)結(jié)構(gòu)是結(jié)構(gòu)體數(shù)組和文件,其中,結(jié)構(gòu)體數(shù)組是作為輔助空間用的。對(duì)文件的操作有打開(kāi)、讀寫(xiě)、關(guān)閉等。此外,在制作界面時(shí),用到了光標(biāo)定位函數(shù)gotoxy(),畫(huà)窗口時(shí)用到了線的ASCII碼等。

在編寫(xiě)菜單選擇子模塊時(shí),用到了函數(shù)的遞歸調(diào)用。

用到的部分函數(shù)功能簡(jiǎn)介如下:

(1)textbackground(color)。該函數(shù)用于設(shè)置背景正文顏色。Color的取值范圍在0~7之間,或者用conio.h中定義的符號(hào)常量來(lái)表示。

(2)textcolor(color)。該函數(shù)可以選擇前景字符顏色。Color的取值范圍在0~15之間,亦可采用符號(hào)常量。用法基本與textbackground()相同。

(3)window(left,top,right,bottom)。在屏幕上定義一個(gè)窗口,左上角坐標(biāo)為(left,top),右下角坐標(biāo)為(right,bottom)。正文窗口的最小尺寸是一行一列。如果坐標(biāo)超出(1,1,80,25)的界限,則對(duì)窗口的調(diào)用不起作用。

(4)

fopen(filename,mode)。用于創(chuàng)建一個(gè)未存在的文件和打開(kāi)一個(gè)已存在的文件,filename為文件存放的路徑,mode是指定打開(kāi)文件的方式。

(5)

fclose(FILE*fp)。用于關(guān)閉由fopen()打開(kāi)的文件(流)。

(6)?fwrite(constvoid*buf,size_tintsize,size_tcount,F(xiàn)ILE*fp)。用于把buf指向的緩沖區(qū)中的count個(gè)對(duì)象寫(xiě)到fp指向的文件中,每個(gè)對(duì)象長(zhǎng)size字節(jié)。文件位置指示值向前推進(jìn),推進(jìn)值等于實(shí)際寫(xiě)出的字節(jié)數(shù)。

(7)

fread(

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論