版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 山東經(jīng)貿(mào)職業(yè)學(xué)院《通信原理實(shí)驗(yàn)》2023-2024學(xué)年第一學(xué)期期末試卷
- 撥臂銑平面夾具課程設(shè)計(jì)
- 山東交通學(xué)院《油氣田環(huán)境保護(hù)概論》2023-2024學(xué)年第一學(xué)期期末試卷
- 山東建筑大學(xué)《肉制品加工技術(shù)實(shí)驗(yàn)》2023-2024學(xué)年第一學(xué)期期末試卷
- 山東化工職業(yè)學(xué)院《日語(yǔ)口譯》2023-2024學(xué)年第一學(xué)期期末試卷
- 山東華宇工學(xué)院《機(jī)器學(xué)習(xí)原理及應(yīng)用》2023-2024學(xué)年第一學(xué)期期末試卷
- 山東管理學(xué)院《書(shū)籍設(shè)計(jì)與印刷》2023-2024學(xué)年第一學(xué)期期末試卷
- 山東工業(yè)職業(yè)學(xué)院《圖案設(shè)計(jì)》2023-2024學(xué)年第一學(xué)期期末試卷
- 山東工業(yè)職業(yè)學(xué)院《工程合同管理》2023-2024學(xué)年第一學(xué)期期末試卷
- 人造草坪在幼兒園安全設(shè)計(jì)指南考核試卷
- 收款憑證(自制Word打印版)
- 設(shè)備操作三好四會(huì)四項(xiàng)要求五項(xiàng)原則培訓(xùn)教材
- CCTV《開(kāi)門(mén)大吉》選手報(bào)名表VM
- 乒乓球比賽用表
- 某公司項(xiàng)目部質(zhì)量管理體系及制度
- 關(guān)于開(kāi)展全員營(yíng)銷(xiāo)活動(dòng)的實(shí)施方案
- 碩士開(kāi)題報(bào)告和文獻(xiàn)綜述模板-北京理工大學(xué)研究生院
- 磚基礎(chǔ)工程量計(jì)算PPT課件
- 蝸輪蝸桿的設(shè)計(jì)及其參數(shù)計(jì)算
- 5-10萬(wàn)山平塘設(shè)計(jì)報(bào)告
- 單片機(jī)程序源代碼
評(píng)論
0/150
提交評(píng)論