學(xué)生信息管理系統(tǒng)C課程設(shè)計_第1頁
學(xué)生信息管理系統(tǒng)C課程設(shè)計_第2頁
學(xué)生信息管理系統(tǒng)C課程設(shè)計_第3頁
學(xué)生信息管理系統(tǒng)C課程設(shè)計_第4頁
學(xué)生信息管理系統(tǒng)C課程設(shè)計_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、中 州 大 學(xué)課程設(shè)計 學(xué) 院: 信息工程學(xué)院 班 級: 14級軟件技術(shù)(普招) 題 目: 學(xué)生信息管理系統(tǒng) 學(xué)生姓名: 熊建 學(xué)號: 201427050124 指導(dǎo)教師: 馬 芳 學(xué) 期: 2014-2015學(xué)年第二學(xué)期 2015年 6 月 20 日課程設(shè)計一、 設(shè)計思路1. 程序名稱為:學(xué)生信息管理系統(tǒng)。該程序能實現(xiàn)的功能:程序密碼、錄入學(xué)生信息、讀取學(xué)生信息、刪除學(xué)生信息、修改密碼、查看作者信息。2. 初次打開程序,程序自動生成“默認(rèn)密碼”文件,儲存在用戶電腦D:stusystemkey文件夾中。并在程序目錄下生成一個“old”文件夾,在下次進(jìn)入程序時,系統(tǒng)自動檢測“old”文件及是否存

2、在,以判斷是否是第一次使用。若已存在,則要求用戶輸入密碼,以進(jìn)入程序主菜單,并提示用戶剩余密碼輸入次數(shù),若用戶連續(xù)五次密碼輸入錯誤,則程序自動關(guān)閉。3. 進(jìn)入程序主菜單,用戶輸入通過數(shù)字選擇菜單項。3.1信息錄入系統(tǒng):用戶進(jìn)入“信息錄入系統(tǒng)”即開始輸入第一個學(xué)生的姓名、性別、學(xué)號等信息,一個學(xué)生信息錄入完畢,程序自動為該學(xué)生生成一個以該學(xué)生姓名命名,無擴(kuò)展名的文件,將該學(xué)生的信息儲存在程序根目錄下,調(diào)用Windows系統(tǒng)的拷貝功能,將文件拷貝到用戶電腦D:stusystemstudent文件夾中,并刪除原文件。程序繼續(xù)讓用戶錄入第二個學(xué)生信息。在任意項目輸入過程中輸入“m”(無論大小寫)即返回

3、程序主菜單。3.2信息查詢系統(tǒng):用戶進(jìn)入“信息查詢系統(tǒng)”即開始輸入要查詢的學(xué)生姓名,回車即可顯示該學(xué)生的詳細(xì)信息。輸入“m”(無論大小寫)即返回程序主菜單。3.3 .刪除系統(tǒng)中儲存的學(xué)生信息:進(jìn)入之后用戶可選擇“清空全部學(xué)生信息”、“刪除單個學(xué)生信息”。清空全部學(xué)生信息,則調(diào)用windows系統(tǒng)命令,清空用戶電腦D:stusystemstudent文件夾中的所有文件,在真正清空之前,再次提醒用戶是否確認(rèn)刪除。清空完成后,給用戶一個“清空完成”的反饋,程序回到主菜單。刪除單個學(xué)生信息,則要用戶輸入要刪除的學(xué)生姓名,并提醒用戶是否確認(rèn)刪除,刪除完成繼續(xù)在刪除學(xué)生信息界面,至用戶輸入“m”,程序返回

4、主菜單。3.4 修改密碼:用戶需兩次輸入相同密碼后才能修改成功,系統(tǒng)會新建一個名為“key.mle”的文件儲存在用戶電腦D:stusystemkey文件夾中,以替換程序原密碼。完成后提示用戶密碼修改成功。3.5 關(guān)于:此選項會打開一個文本文檔來介紹程序及作者的相關(guān)信息,并根據(jù)用戶的需要,可選擇是否訪問該程序及作者的相關(guān)網(wǎng)站。3.6 退出程序二、 設(shè)計過程設(shè)計程序中遇到的不常用的代碼:1.判斷文件是否存在,不存在則生成一個文件夾:以“old”文件為例char ifkey="old"/-自定義文件名 if( !CreateDirectory(ifkey, NULL) )/-如果

5、文件存在2.判斷輸入的內(nèi)容與預(yù)設(shè)的內(nèi)容是否相符:char key50;cin>>key;if(!strcmp(oldkey,key)/-如果相同3.打開指定文件,并將其內(nèi)容賦給一個形參,以打開key.mle將其內(nèi)容賦給形參oldkey為例:ifstream inFile;inFile.open("D:stusystemkeykey.mle");/-打開原密碼char oldkey50;inFile >>oldkey;/-賦給oldkey4.在電腦中新建文件夾system("mkdir D:stusystemkey");system

6、("mkdir D:stusystemstudent");5.在電腦指定目錄生成文件,并編輯內(nèi)容:ofstream outfile("D:stusystemkeykey.mle");/-定義文件名及文件位置outfile<<"米靈爾"<<endl;/-設(shè)置文件內(nèi)容為“米靈爾”outfile.close();6.以學(xué)生姓名給文件命名,并填寫學(xué)生信息:char name50;cin>>name;ofstream outfile(stuname.c_str();outfile<<"姓

7、名:"<<name<<"outfile.close();7.將文件拷貝到指定位置:system("copy *. D:stusystemstudent");/-將學(xué)生信息文件拷貝到D盤8.刪除文件:system("del D:stusystemstudent");/-刪除該目錄下的所有文件9.自定義指定刪除某個文件,利用批處理文件操作:cin>>delname;ofstream outfile("D:stusystemstudent1.bat");/新建批處理文件到指定位置out

8、file<<"del D:stusystemstudent"<<delname;/-編輯批處理文件內(nèi)容outfile.close();/-生成批處理文件調(diào)用程序運(yùn)行char *p="D:stusystemstudent1.bat"system(p);/-運(yùn)行批處理文件運(yùn)行結(jié)果:三、總結(jié) 編寫一個程序最主要的,是始終要明確自己的思路。任何一個程序在編寫的時候都會出現(xiàn)很多種問題,通常在幾百行的代碼里找問題很讓人頭疼,但是只要始終明確自己的思路,就不怕程序出現(xiàn)問題,程序的運(yùn)行與否很大部分受邏輯限制,出現(xiàn)問題了,根據(jù)自己的思路來研究程序中

9、的邏輯,很快就能找到問題所在。 編寫一個復(fù)雜點的程序可能會遇到靠自己編寫的代碼不能實現(xiàn)的功能,這時候好好地利用下網(wǎng)絡(luò),可以從中學(xué)到很多東西。附程序代碼附:#include<iostream>#include<climits>#include<string>#include<fstream>#include<stdlib.h>#include<windows.h>using namespace std;class stusystempublic:void get();void make(char name50,char se

10、x50,char num20,string filename);char name50;char sex50;char num20;ofstream outfile;string stuname;void read(string stuname);void menu();void readxinxi();void keypanduan();char key50;void welcome();void about();void changekey();void maketxt();void del();void stusystem :get()system("cls");co

11、ut<<" =n"cout<<" | |n"cout<<" | 歡迎進(jìn)入米靈爾學(xué)生信息錄入系統(tǒng) |n"cout<<" | |n"cout<<" =nn"cout<<" -輸入“m”,可返回菜單-nnn"cout<<"n請輸入學(xué)生姓名:"cin>>name;char back150="m"char back250="M"if

12、(!strcmp(back1,name)|!strcmp(back2,name)system("cls");stusystem a;a.menu();cout<<"n請輸入學(xué)生性別:"cin>>sex;if(!strcmp(back1,sex)|!strcmp(back2,sex)system("cls");stusystem a;a.menu();cout<<"n請輸入學(xué)生學(xué)號:"cin>>num;if(!strcmp(back1,num)|!strcmp(back

13、2,name)system("cls");stusystem a;a.menu();stusystem a;a.make(name,sex,num,name);/-以下是生成文件的程序-void stusystem :make(char name50,char sex50,char num20,string stuname)ofstream outfile(stuname.c_str();outfile<<"姓名:"<<name<<" n性別:"<<sex<<"n學(xué)

14、號:"<<num;outfile.close();system("copy *. D:stusystemstudent");/將學(xué)生信息文件拷貝到D盤 system("del *.");stusystem b;b.get();/-以上是生成文件的程序-void stusystem :readxinxi()cout<<" -輸入“m”,可返回菜單-nnn"cout<<"請輸入學(xué)生姓名:"cin>>name;system("cls");cou

15、t<<" =n"cout<<" | |n"cout<<" | 歡迎進(jìn)入米靈爾學(xué)生信息查詢系統(tǒng) |n"cout<<" | |n"cout<<" =nn"char back150="m"char back250="M"if(!strcmp(back1,name)|!strcmp(back2,name)stusystem a;a.menu();cout<<endl<<endl;s

16、tusystem a;a.read(name);void stusystem :read(string stuname)/-以下是讀取文件的程序-ifstream in(stuname.c_str();string line;while(getline(in,line)cout<<line<<endl;stusystem a;a.readxinxi();/-以上是讀取文件的程序-void stusystem :about()cout<<" =n"cout<<" | |n"cout<<"

17、 | 關(guān)于 About |n"cout<<" | |n"cout<<" =nnn"cout<<" 此程序完全由米靈爾_熊建編寫,如與某同學(xué)的程序有相似之處純屬緣分!nn"cout<<" 編寫時間:2015年6月22日,星期二nn 程序版本號:15.3.1n"/15年第3次功能改動,第1次修改cout<<"n是否簡單了解一下米靈爾?Y/Nn"char yes;cin>>yes;if(yes='y'|y

18、es='Y')stusystem a;a.maketxt();char *p="米靈爾.txt"system(p);char *b="mle.html"system(b);elseif(yes!='n'&&yes!='N')cout<<"輸入有誤,請重新輸入nn"stusystem a;a.about();system("del 米靈爾.txt");system("cls");yes=0;cout<<&quo

19、t;n是否訪問米靈爾網(wǎng)站?Y/Nn"cin>>yes;if(yes='y'|yes='Y')ShellExecute(NULL,"open","",NULL,NULL,SW_SHOW); elseif(yes!='n'&&yes!='N')cout<<"n輸入有誤,請重新輸入nn"stusystem a;a.about();system("del 米靈爾.txt");system("cls&q

20、uot;);system("del 米靈爾.txt");system("cls");stusystem a;a.menu();void stusystem :maketxt()ofstream outfile("米靈爾.txt");/-自定義目錄生成文件,名為“key”outfile<<" 米靈爾是一個仍處于“幼年期”的團(tuán)隊。n 團(tuán)隊是2013年由兩個高中生創(chuàng)立,一直持續(xù)到今天。團(tuán)隊沒有多么n發(fā)達(dá),強(qiáng)大,但有著不斷學(xué)習(xí)進(jìn)取的心態(tài)。我們不怕別人的嘲諷,與蔑視,n只為讓加入我們的人掌握更多的本領(lǐng);認(rèn)識我們的人,從我們

21、這里學(xué)到n有用的東西。 我們沒有定向發(fā)展,是因為我們還在成長。我們會像當(dāng)今的中國一樣:n 走著“米靈爾特色,團(tuán)隊主義”道路。我們也處于初級發(fā)展階段。n 要問米靈爾到底是做什么的?答:學(xué)習(xí),服務(wù)。nn米靈爾網(wǎng)址:n郵箱:postmastern"<<endl;/-文件內(nèi)容 outfile.close(); void stusystem :del()system("cls");cout<<" =n"cout<<" | |n"cout<<" | 刪除學(xué)生信息 |n"

22、cout<<" | |n"cout<<" =nnn"cout<<" 請選擇:nt1.清空全部學(xué)生信息nt2.刪除單個學(xué)生信息ntm.返回菜單"<<endl;char a10;cin>>a;char a110="1"char a210="2"if(!strcmp(a1,a)|!strcmp(a2,a)if(!strcmp(a1,a)cout<<" 確定清空系統(tǒng)中儲存的所有學(xué)生信息?n 此操作不可恢復(fù)! 是否繼續(xù)? 是

23、Y/否Nn"char del;cin>>del;if(del='y'|del='Y')cout<<"正在清理"system("del D:stusystemstudent");system("del *.");cout<<"學(xué)生信息文件已全部清空"<<endl;_sleep(2000);stusystem a;a.menu();elsesystem("cls");stusystem a;a.del();el

24、sechar delname50;cout<<"請輸入要刪除的學(xué)生姓名:"<<endl<<endl;cin>>delname;cout<<"n確定刪除"<<delname<<"學(xué)生的信息? 是Y/否Nn"<<endl;char del;del=0;cin>>del;if(del='y'|del='Y')ofstream outfile("D:stusystemstudent1.bat&q

25、uot;);/利用批處理文件刪除outfile<<"del D:stusystemstudent"<<delname;outfile.close();/-生成批處理文件char *p="D:stusystemstudent1.bat"system(p);system("del D:stusystemstudent1.bat");system("cls");cout<<"n學(xué)生:"<<delname<<"的信息已刪除完成&quo

26、t;_sleep(2000);system("cls");stusystem a;a.del();elsesystem("cls");stusystem a;a.del();elsestusystem a;a.menu();void stusystem :menu()system("del *.");/刪除本地學(xué)生信息文件system("cls");cout<<" =n"cout<<" | |n"cout<<" | 米靈爾學(xué)生信息

27、管理系統(tǒng)菜單 |n"cout<<" | |n"cout<<" =nn"char choose10;char c110="1"char c210="2"char c310="3"char c410="4"char c510="5"char c010="0"char cM10="M"char cm10="m"cout<<"n 系統(tǒng)菜單:nn 1.

28、進(jìn)入信息錄入系統(tǒng)nn 2.進(jìn)入信息查詢系統(tǒng)nn 3.刪除系統(tǒng)中儲存的學(xué)生信息nn"cout<<" 4.修改密碼nn 5.關(guān)于nn 0.退出系統(tǒng)nn"cout<<" 操作過程中輸入m進(jìn)入菜單nn"cout<<"選擇:" cin>>choose;cout<<endl;if(!strcmp(c1,choose)|!strcmp(c2,choose)|!strcmp(c3,choose)|!strcmp(c4,choose)|!strcmp(c5,choose)|!strc

29、mp(c0,choose)|!strcmp(cM,choose)|!strcmp(cm,choose)if(!strcmp(c1,choose)system("cls");cout<<" =n"cout<<" | |n"cout<<" | 歡迎進(jìn)入米靈爾學(xué)生信息錄入系統(tǒng) |n"cout<<" | |n"cout<<" =nnn"stusystem a;a.get();if(!strcmp(c2,choose)syst

30、em("copy D:stusystemstudent*." );/把文件拷貝回來system("cls");cout<<" =n"cout<<" | |n"cout<<" | 歡迎進(jìn)入米靈爾學(xué)生信息查詢系統(tǒng) |n"cout<<" | |n"cout<<" =nn"stusystem a;a.readxinxi();if(!strcmp(c3,choose)stusystem a;a.del();

31、if(!strcmp(c4,choose)stusystem a;a.changekey();if(!strcmp(c5,choose)system("cls");stusystem a;a.about();if(!strcmp(c0,choose)cout<<"系統(tǒng)正在關(guān)閉,再見!"_sleep(1000);exit(3);if(!strcmp(cM,choose)|!strcmp(cm,choose)stusystem a;a.menu();elsecout<<"n輸入有誤,請重新輸入nn"_sleep(1

32、000);stusystem a;a.menu();void stusystem :keypanduan() char ifkey="old"/-判斷是否第一次使用(第一次生成文件)- if( !CreateDirectory(ifkey, NULL) )/-判斷是否第一次使用- cout<<"請輸入系統(tǒng)使用密碼 (如忘記密碼請與管理員聯(lián)系:postmaster):n" cin>>key; ifstream inFile;/-打開原密碼 inFile.open("D:stusystemkeykey.mle");

33、/-打開原密碼 char oldkey50; char off10="0" inFile >>oldkey;/-將原密碼賦給“oldkey” int i=4,n=5; for(i=5;i!=0;i-) n-;/n=4 if(!strcmp(oldkey,key)|n=0|!strcmp(off,key) if(n=0) cout<<"=n" cout<<"| 密碼輸入錯誤,系統(tǒng)即將關(guān)閉! |n" cout<<"=nn" _sleep(3000); exit(3); i

34、f(!strcmp(oldkey,key) stusystem a; a.welcome(); if(!strcmp(off,key) cout<<"系統(tǒng)正在關(guān)閉,再見!" _sleep(1000); exit(3); else cout<<"n密碼輸入錯誤,您還有"<<n<<"次機(jī)會,"<<n<<"次之后管理系統(tǒng)將關(guān)閉,n您可以請重新輸入!,或退出程序。n" cin>>key; cout<<endl; else cout<<"初次使用,正在生成系統(tǒng)密碼:nn" _sleep(800); cout<<"初始密碼為“米靈爾”,下次進(jìn)入系統(tǒng)請先輸入密碼nn" system("mkdir D:stusystemkey"); system("mkdir D:stusystemstudent");/-生成文件夾

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論