版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 前 言</b></p><p> 隨著計(jì)算機(jī)技術(shù)的發(fā)展,可視編程技術(shù)占有了越來(lái)越重要的作用。Visual C++6.0 是一種功能強(qiáng)大行之有效的可視化編程工具。因此此軟件是在Visual C++6.0環(huán)境下編寫(xiě)的。對(duì)于我們,隨著學(xué)習(xí)的深入,已經(jīng)大體掌握了Visual C++6.0環(huán)境下的程序開(kāi)發(fā)。為了將我們的編程能力提升到一個(gè)更高的水平,深化面向?qū)ο蟮木幊趟?/p>
2、維和解決問(wèn)題的能力,值此課程設(shè)計(jì)周期間,進(jìn)行基于Visual C++6.0環(huán)境的軟件開(kāi)發(fā),先以字符統(tǒng)計(jì)軟件作為開(kāi)始,對(duì)Visual C++6.0環(huán)境和面向?qū)ο蟪绦蛟O(shè)計(jì)進(jìn)行回憶和熟悉,使得在此基礎(chǔ)上的下一個(gè)員工培訓(xùn)系統(tǒng)軟件的開(kāi)發(fā)進(jìn)行的更加順利。</p><p> 本文檔詳細(xì)敘述了基于Visual C++6.0環(huán)境下的學(xué)生信息查詢軟件的設(shè)計(jì)過(guò)程以及程序源代碼。</p><p> 本文檔從概
3、要設(shè)計(jì),詳細(xì)設(shè)計(jì),參考源程序代碼以及顯示程序運(yùn)行的截屏等方面詳盡的介紹了軟件開(kāi)發(fā)過(guò)程。</p><p> 此次學(xué)生信息查詢軟件的開(kāi)發(fā)目的是使我們用面向?qū)ο蟮姆绞絹?lái)思考和解決問(wèn)題的能力,并且可以掌握字符數(shù)組的使用、字符指針的使用、類的設(shè)計(jì)和使用以及C語(yǔ)言語(yǔ)法。</p><p><b> 本文檔的安排如下:</b></p><p> 第一章
4、 主要介紹了對(duì)面向?qū)ο驝語(yǔ)言的主要特征,Visual C++6.0編程環(huán)境以及該系統(tǒng)的各項(xiàng)功能。</p><p> 第二章 主要的介紹說(shuō)明了學(xué)生信息查詢系統(tǒng)軟件的編程思想和系統(tǒng)的總體流程圖以及對(duì)該流程圖的詳細(xì)介紹。</p><p> 第三章 主要介紹學(xué)生信息查詢系統(tǒng)軟件的詳細(xì)設(shè)計(jì),各個(gè)分模塊的單獨(dú)流程圖以及對(duì)設(shè)計(jì)和流程圖的一些介紹。</p><p> 第四
5、章 主要介紹了軟件軟件進(jìn)行調(diào)試,運(yùn)行程序并截圖,顯示運(yùn)行界面和結(jié)果。</p><p> 第五章 是該論文作者對(duì)這次課程設(shè)計(jì)過(guò)程中的一些感受和體會(huì)等。 </p><p><b> 1 系統(tǒng)概述</b></p><p> 該系統(tǒng)的功能是以菜單方式工作,輸入密碼驗(yàn)證正確進(jìn)入菜單選擇界面,用戶通過(guò)選擇數(shù)字來(lái)選擇學(xué)生信息錄入功能---輸入學(xué)生
6、基本信息,學(xué)生信息瀏覽功能---輸出學(xué)生的基本信息,查詢、排序功能---算法,按學(xué)號(hào)查詢,按姓名查詢。學(xué)生信息的刪除與修改(可選項(xiàng))的等基本的功能,從而實(shí)現(xiàn)用戶的想法。在各項(xiàng)基本功能之下我們可以看到各種小的模塊來(lái)滿足用戶的各種需求,達(dá)到快速方便的效果。</p><p> 程序在設(shè)計(jì)的過(guò)程中遇到的問(wèn)題已及時(shí)更正,但由于編者的能力和水平有限,學(xué)生信息查詢系統(tǒng)和文檔中不免會(huì)出現(xiàn)一些不期待的錯(cuò)誤,望文檔讀者能夠理解和體
7、諒,并歡迎提醒和糾正,在此表示感謝以及敬意。</p><p> 1.1 C語(yǔ)言的主要特點(diǎn)</p><p> (1)C語(yǔ)言簡(jiǎn)潔、緊湊,使用方便、靈活。</p><p><b> ?。?)預(yù)算符豐富。</b></p><p> ?。?)數(shù)據(jù)類型豐富,具有現(xiàn)代語(yǔ)言的各種數(shù)據(jù)結(jié)構(gòu)。</p><p>
8、 ?。?)具有結(jié)構(gòu)化的控制語(yǔ)句。</p><p> (5)語(yǔ)法限制不太嚴(yán)格,程序設(shè)計(jì)自由度大。</p><p> ?。?)C語(yǔ)言允許直接訪問(wèn)物理地址,能進(jìn)行位操作,能實(shí)現(xiàn)匯編語(yǔ)言的大部分功能可以直接對(duì)硬件進(jìn)行操作。</p><p> ?。?)生成目標(biāo)代碼質(zhì)量高,程序執(zhí)行效率高。</p><p> ?。?)用C語(yǔ)言編寫(xiě)的程序可移植性好(與匯編
9、語(yǔ)言相比)。</p><p> 1.2 Visual C++ 6.0運(yùn)行環(huán)境</p><p> 圖1 Visual C 6.0運(yùn)行環(huán)境</p><p><b> 2 概要設(shè)置</b></p><p> 2.1 總體設(shè)計(jì)思想</p><p> ?。?) 學(xué)生信息管理系統(tǒng)的功能為顯示主
10、要操作頁(yè)面,通過(guò)密碼驗(yàn)證登陸界面,檔案信息處理功能。</p><p> 通過(guò)密碼驗(yàn)證登陸,可實(shí)現(xiàn)安全登錄,方便可靠。學(xué)生信息處理功能包括輸入學(xué)生信息,顯示學(xué)生的檔案信息,學(xué)生檔案信息條件查詢(分為:按學(xué)生姓名進(jìn)行查詢,按學(xué)生學(xué)號(hào)進(jìn)行查詢),更新學(xué)生檔案信息。</p><p> (2) 學(xué)生信息管理系統(tǒng)的功能模塊有:</p><p> 系統(tǒng)登陸界面,美觀大方,按
11、enter鍵進(jìn)入密碼驗(yàn)證登陸界面,輸入正確密碼登陸主菜單選擇框架界面,方便用戶對(duì)程序個(gè)功能進(jìn)行選擇,選擇要實(shí)現(xiàn)的功能按enter鍵進(jìn)入該功能。</p><p> 1. 輸入學(xué)生檔案信息。</p><p> 2. 顯示學(xué)生的檔案信息</p><p> 3. 學(xué)生檔案信息條件查詢</p><p> 4. 更新學(xué)生檔案信息。</p&g
12、t;<p> 0. 退出,謝謝使用!!!</p><p> 程序分為多個(gè)小模塊,通過(guò)調(diào)用實(shí)現(xiàn)各種功能,增強(qiáng)了程序的可建設(shè)性。</p><p> 2.2 總體設(shè)計(jì)流程圖</p><p> 圖2 總體設(shè)計(jì)流程圖</p><p> 該流程圖為此次學(xué)生信息查詢系統(tǒng)的總體流程圖,用戶進(jìn)入界面以后可以看到登陸密碼界面,密碼輸入
13、正確進(jìn)入主菜單選擇框架界面,1為輸入學(xué)生信息檔案,2為顯示學(xué)生檔案,3為學(xué)生信息檔案查詢,4為更新學(xué)生檔案,0為退出系統(tǒng)。用戶可以根據(jù)自己的需求方便快捷的做出自己的選擇。</p><p><b> 3 系統(tǒng)詳細(xì)設(shè)計(jì)</b></p><p> 3.1 頭文件的引用和函數(shù)的聲明</p><p> #include<stdio.h&g
14、t;/*標(biāo)準(zhǔn)輸入輸出函數(shù)庫(kù)*/</p><p> #include<string.h> /*字符串函數(shù)庫(kù)*/</p><p> #include<windows.h> /**/</p><p> #include <ctype.h></p><p> static int m=0; </p&
15、gt;<p> struct record/*學(xué)生信息結(jié)構(gòu)體*/ </p><p><b> {</b></p><p><b> int num;</b></p><p> char name[30];</p><p><b> char sex;</b&g
16、t;</p><p> float tel;</p><p><b> int age;</b></p><p> char xibiebanji[80]; </p><p> }stu[500]; </p><p> void password();</p><p
17、> void recordplatform();/*系統(tǒng)標(biāo)題函數(shù)聲名*/</p><p> void xuanzekuangjia();/*選擇框架函數(shù)聲名*/</p><p> void tuichuxitong();/*0.退出學(xué)生檔案信息系統(tǒng)函數(shù)聲名*/</p><p> void shuruxinxi();/*1.輸入學(xué)生檔案信息函數(shù)聲名*/&
18、lt;/p><p> void xianshixinxi();/*2.顯示檔案信息函數(shù)聲名*/</p><p> void tiaojianchaxun();/*3.學(xué)生檔案信息條件查詢函數(shù)聲名*/</p><p> void gengxinxinxi();/*4.更新學(xué)生信息函數(shù)聲名*/</p><p> 該函數(shù)是對(duì)頭文件的加載和引用,
19、定義結(jié)構(gòu)體、常量和變量,并對(duì)他們進(jìn)行初始化工作。</p><p> 3.2 系統(tǒng)主調(diào)函數(shù)</p><p> /*---------------------------------主調(diào)函數(shù)-------------------------------------*/</p><p><b> /*主函數(shù)*/</b></p>
20、<p> void main()</p><p><b> { </b></p><p> printf("\n");</p><p> printf("\n");</p><p> printf("\n");</p>
21、<p> printf("------------★---------------------------大家好--------------------- ---★------------\n");</p><p> printf("\n");</p><p> printf("\n");</p>&
22、lt;p> printf("\n");</p><p> printf("\n");</p><p> printf("\n");</p><p> printf(" 老師您好!\n");</p><p
23、> printf("\n");</p><p> printf("\n");</p><p> printf("\n");</p><p> printf("\n");</p><p> printf("\n");</p&
24、gt;<p> printf(" -------☆-【學(xué)生檔案信息管理系統(tǒng)】-☆------\n");</p><p> printf("\n");</p><p> system("pause"); </p><p> system("cls")
25、; </p><p> fflush(stdin); </p><p> password();/*密碼登陸驗(yàn)證函數(shù)調(diào)用*/</p><p> recordplatform();/*系統(tǒng)標(biāo)題函數(shù)調(diào)用*/</p><p> xuanzekuangjia();/*選擇框架函數(shù)調(diào)用*/</p><p><b&g
26、t; }</b></p><p> 該函數(shù)為程序的主函數(shù),主要實(shí)現(xiàn)了對(duì)整個(gè)程序的運(yùn)行控制,以及相關(guān)功能模塊的調(diào)用。</p><p> 3.3 密碼驗(yàn)證函數(shù)</p><p> /*通過(guò)對(duì)比字符串?dāng)?shù)組比較實(shí)現(xiàn)密碼校驗(yàn)*/</p><p> void password()</p><p><b
27、> {</b></p><p> int s,g=0;</p><p> char str1[20]={"123456 "};</p><p> char str2[20];</p><p><b> do</b></p><p><b>
28、 { </b></p><p> printf(" ***************************************************\n");</p><p> printf("\n");</p><p> printf(" ★★★★★★★★ 請(qǐng) 輸 入 密 碼 :★★★★
29、★★★★\n");</p><p> printf("\n");</p><p> printf(" ***************************************************\n");</p><p> gets(str2);</p><p> /*wh
30、ile()</p><p><b> {</b></p><p> if(str1[g]==str2[g])</p><p><b> s=1;</b></p><p><b> else</b></p><p><b> { <
31、;/b></p><p> s=0;break;</p><p><b> }</b></p><p><b> g++;</b></p><p><b> }</b></p><p><b> */</b><
32、/p><p> if(!strcmp(str1,str2)) /*比較輸入的密碼str1和設(shè)定的密碼str2, </p><p> { 輸出“密碼正確”。*/</p><p> printf("密碼輸入正確
33、\n");</p><p><b> s=1;</b></p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p><b>
34、 s=0;</b></p><p> printf("密碼輸入錯(cuò)誤,請(qǐng)從新輸入\n");</p><p><b> }</b></p><p> }while(s==0);</p><p><b> }</b></p><p> 密碼
35、登陸函數(shù)流程圖:</p><p> 該函數(shù)為密碼登陸函數(shù)模塊,當(dāng)輸入的密碼不正確的時(shí)候,系統(tǒng)會(huì)提示“密碼輸入錯(cuò)誤,請(qǐng)重新輸入”,直到輸入正確密碼為止。</p><p> 3.4 選擇框架函數(shù)</p><p> /*---------------------------------程序名稱-------------------------------*/<
36、;/p><p> void recordplatform()</p><p><b> {</b></p><p> printf("\n");</p><p> printf("\n");</p><p> printf("
37、 ---------------------------------------------- \n");</p><p> printf(" |||******** 學(xué)生檔案信息管理系統(tǒng) ********||| \n");</p><p> printf(&quo
38、t; ---------------------------------------------- \n");</p><p> printf("★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★\n");</p><p> printf("\n");</
39、p><p><b> }</b></p><p> /*------------------------------------選擇框架--------------------------------------*/</p><p> void xuanzekuangjia()</p><p> {
40、 </p><p><b> int j,k;</b></p><p><b> char w;</b></p><p> printf(" ┌--------------------------------------------┐
41、 \n");</p><p> printf(" │ ★ 歡迎使用學(xué)生檔案信息管理系統(tǒng)★ │ \n"); </p><p>
42、 printf(" ├--------------------------------------------┤ \n");</p><p> printf(" │ 1.輸入學(xué)生檔案信息 │ \n");
43、 </p><p> printf(" ├--------------------------------------------┤ \n");</p><p> pr
44、intf(" │ 2.顯示學(xué)生的檔案信息 │ \n"); </p><p> printf(" ├-
45、-------------------------------------------┤ \n");</p><p> printf(" │ 3.學(xué)生檔案信息條件查詢 │ \n");
46、 </p><p> printf(" ├--------------------------------------------┤ \n"); </p><p> printf("
47、 │ 4.更新學(xué)生檔案信息 │ \n"); </p><p> printf(" ├----------------
48、----------------------------┤ \n");</p><p> printf(" │ 0.退出,謝謝使用!!! │ \n");
49、 </p><p> printf(" └--------------------------------------------┘ \n");</p><p> Sleep(500); /**/</p><p> printf
50、("請(qǐng)選擇你要進(jìn)行的工作:\n");</p><p> do /*輸入不能空,也不能是字母,當(dāng)輸入字母的</p><p> { 時(shí)候,會(huì)提示"不能為字母,請(qǐng)重新輸入”。*/</p&g
51、t;<p> scanf("%d",&j); k=1;</p><p> while(w=getchar()!='\n')</p><p><b> k=0;</b></p><p><b> if(k==0)</b></p><p>
52、; printf("不能為字母,請(qǐng)重新輸入\n");</p><p><b> else</b></p><p><b> break;</b></p><p> }while(k==0);</p><p> switch(j)
53、 /*運(yùn)用switch語(yǔ)句根據(jù)需要進(jìn)行菜單選擇*/</p><p><b> {</b></p><p> case 1: system("cls");</p><p> shuruxinxi();</p><p> system("cls"
54、;); system("pause"); system("cls");</p><p> xuanzekuangjia();break;//輸入學(xué)生檔案信息函數(shù)調(diào)用</p><p> case 2: system("cls");</p><p> xianshixinxi();</p>
55、<p> system("pause");system("cls");</p><p> xuanzekuangjia();break;顯示檔案管理系統(tǒng)選擇框架函數(shù)調(diào)用</p><p> case 3: system("cls");</p><p> tiaojianchaxun();&l
56、t;/p><p> system("pause");system("cls");</p><p> xuanzekuangjia();break; /*學(xué)生檔案信息條件查詢函數(shù)調(diào)用*/ </p><p> case 4: system("cls");</p><p> gengx
57、inxinxi();</p><p> system("pause");system("cls");</p><p> xuanzekuangjia();break; /*更新學(xué)生檔案信息函數(shù)調(diào)用*/ </p><p> case 0: system("cls");</p><p&
58、gt; tuichuxitong();break; /*退出程序函數(shù)調(diào)用*/ </p><p><b> }</b></p><p><b> }</b></p><p> 選擇框架函數(shù)流程圖:</p><p> 進(jìn)入學(xué)生檔案管理系統(tǒng)時(shí)顯示程序名稱和選擇框架主菜單,提示用戶進(jìn)行選擇,完成相
59、應(yīng)任務(wù)。此代碼被main()函數(shù)調(diào)用。</p><p> 3.5 輸入學(xué)生信息函數(shù)</p><p> /*-----------------------------------輸入學(xué)生檔案信息-------------------------------------*/</p><p> //調(diào)用函數(shù)輸入學(xué)生信息</p><p>
60、void shuruxinxi()</p><p><b> { </b></p><p><b> int k;</b></p><p> char ans,w;</p><p><b> ans='y';</b></p><
61、;p><b> do</b></p><p><b> {</b></p><p> printf("請(qǐng)輸入第%d個(gè)學(xué)生的信息:\n",m+1);</p><p> do /*學(xué)號(hào)的輸入*/
62、</p><p><b> { </b></p><p> printf("請(qǐng)輸入學(xué)生的學(xué)號(hào)num<1-1000>:::");</p><p> //scanf("%d",&stu[m].num);//結(jié)構(gòu)體</p><p><b> do
63、</b></p><p><b> { </b></p><p> scanf("%d",&stu[m].num); /*輸入數(shù)據(jù)*/</p><p><b> k=1; </b></p><p>
64、while(w=getchar()!='\n')</p><p><b> k=0;</b></p><p><b> if(k==0)</b></p><p> printf("不能為字母,請(qǐng)重新輸入\n");</p><p><b> els
65、e</b></p><p> break; </p><p> }while(k==0);</p><p> if(stu[m].num > 1000 || stu[m].num<=0) /*輸入字符串,并進(jìn)行長(zhǎng)度驗(yàn)證*/</p>&l
66、t;p><b> { </b></p><p> printf("輸入錯(cuò)誤--請(qǐng)重新輸入:\n"); /*顯示提示信息*/</p><p><b> } </b></p><p> }while(stu[m].num > 1000 || stu[m].num&l
67、t;=0); </p><p> printf("請(qǐng)輸入學(xué)生的姓名:::"); /*姓名的輸入*/ </p><p> scanf("%s",stu[m].name); </p><p> do
68、 /*學(xué)生性別的輸入*/ </p><p><b> {</b></p><p> printf("請(qǐng)輸入學(xué)生的性別,男生輸M女生輸W:::");</p><p> scanf("%s",&stu[m].sex); </p><p> if(stu[m].se
69、x !='M' &&stu[m].sex !='W') </p><p><b> { </b></p><p> printf("輸入錯(cuò)誤--請(qǐng)重新輸入:\n"); </p><p><b> } </b></p><p>
70、 }while(stu[m].sex !='M' &&stu[m].sex !='W'); </p><p> do /*聯(lián)系方式的輸入*/ </p><p><b> { </b></p><p&g
71、t; printf("請(qǐng)輸入學(xué)生的聯(lián)系方式:::"); </p><p><b> do</b></p><p><b> { </b></p><p> scanf("%f",&stu[m].tel); k=1;</p><p> whi
72、le(w=getchar()!='\n')</p><p><b> k=0;</b></p><p><b> if(k==0)</b></p><p> printf("不能為字母,請(qǐng)重新輸入\n");</p><p><b> else&l
73、t;/b></p><p><b> break;</b></p><p> }while(k==0); </p><p> if(stu[m].tel > 160000000000|| stu[m].tel<0) </p><p><b> { </b></p>
74、;<p> printf("輸入錯(cuò)誤--請(qǐng)重新輸入:\n"); </p><p><b> } </b></p><p> }while(stu[m].tel >16000000000 || stu[m].tel < 0); </p><p> do
75、 /*年齡的輸入*/ </p><p><b> { </b></p><p> printf("請(qǐng)輸入學(xué)生的年齡<0--100>:"); </p><p><b> do</b></p><p>&l
76、t;b> { </b></p><p> scanf("%d",&stu[m].age);k=1;</p><p> while(w=getchar()!='\n')</p><p><b> k=0;</b></p><p><b>
77、if(k==0)</b></p><p> printf("不能為字母,請(qǐng)重新輸入\n");</p><p><b> else</b></p><p><b> break;</b></p><p> }while(k==0);</p><
78、;p> if(stu[m].age > 100 || stu[m].age < 0) </p><p><b> { </b></p><p> printf("輸入錯(cuò)誤--請(qǐng)重新輸入:\n"); </p><p><b> } </b></p><p>
79、; }while(stu[m].age > 100 || stu[m].age < 0);</p><p> /*系別班級(jí)的輸入 */ </p><p> printf("請(qǐng)輸入學(xué)生的系別班級(jí):::"); </p><p> scanf("%s",stu[m].xibiebanji); <
80、/p><p><b> m++; </b></p><p> printf("\n是否繼續(xù)添加學(xué)生信息?是就輸入y或Y,不是就輸入另外任意字符:\n"); </p><p> scanf("%s",&ans); </p><p> }while( ans == '
81、;y'||ans == 'Y');</p><p><b> }</b></p><p> 輸入信息函數(shù)流程圖:</p><p> 輸入學(xué)生信息函數(shù)模塊,用戶可以根據(jù)提示的信息來(lái)進(jìn)行每一步的輸入操作,當(dāng)輸入不當(dāng)時(shí),系統(tǒng)會(huì)自動(dòng)提示,并讓用戶進(jìn)行正確的操作。在此系統(tǒng)中,要求用戶輸入的只有字符型和數(shù)值型數(shù)據(jù),設(shè)計(jì)了相應(yīng)的
82、函數(shù)來(lái)進(jìn)行數(shù)據(jù)校驗(yàn)工作,保證數(shù)據(jù)輸入的準(zhǔn)確性。</p><p> 3.6 顯示學(xué)生信息函數(shù)</p><p> /*---------------------------------顯示學(xué)生的檔案信息-------------------------------------*/</p><p> void xianshixinxi()</p>&
83、lt;p><b> {</b></p><p> struct record *p;</p><p> printf("以下就是顯示的學(xué)生成績(jī)信息:\n");</p><p> printf("num xibiebanji name sex age
84、 tel \n");</p><p> for(p=stu;p<stu+m;p++) /*指針指向的內(nèi)容為系統(tǒng)存儲(chǔ)的學(xué)生信息,用戶可以在</p><p> { 查詢結(jié)果中看到系統(tǒng)的存儲(chǔ)內(nèi)容*/</p><p> printf(
85、"%-7d",p->num);</p><p> printf("%14s",p->xibiebanji);</p><p> printf("%10s",p->name);</p><p> printf("%12c",p->sex);</p>
86、<p> printf("%7d",p->age);</p><p> printf("%17f\n",p->tel); }</p><p><b> }</b></p><p><b> 顯示信息流程圖:</b></p><p&
87、gt; 當(dāng)用戶進(jìn)入查詢信息模塊時(shí),系統(tǒng)會(huì)顯示內(nèi)部存儲(chǔ)的內(nèi)容。</p><p> 3.7 學(xué)生信息條件查詢函數(shù)</p><p> /*---------------------------學(xué)生檔案信息條件查詢------------------------------------*/</p><p> void tiaojianchaxun()</p&
88、gt;<p><b> {</b></p><p> int i,j,k;</p><p> struct record *p=NULL;</p><p> char Name[30];</p><p> printf("請(qǐng)輸入1或0兩個(gè)數(shù)字,輸入1進(jìn)行學(xué)號(hào)查詢,輸入0進(jìn)行姓名查詢&qu
89、ot;);</p><p> scanf("%d",&k);</p><p><b> do</b></p><p><b> {</b></p><p> if(k!=1&&k!=0)</p><p><b>
90、 {</b></p><p> printf("請(qǐng)重新輸入:");</p><p> scanf("%d",&k);</p><p><b> }</b></p><p> }while(k!=1&&k!=0);</p>&
91、lt;p><b> if(k==1)</b></p><p><b> {</b></p><p><b> do</b></p><p><b> {</b></p><p> /*按學(xué)生學(xué)號(hào)進(jìn)行查詢*/ </p><
92、p> printf("請(qǐng)輸入學(xué)號(hào)進(jìn)行查詢(1~1000)號(hào)::->>");</p><p> scanf("%d",&i);</p><p> for(j=0;j<m;j++) </p><p><b> {</b></p><p> if
93、(stu[j].num==i)</p><p><b> {</b></p><p> for(p=stu;p<stu+m;p++)</p><p><b> {</b></p><p> printf("num xibiebanji name
94、 sex age tel \n");</p><p> printf("%-7d",p->num);</p><p> printf("%14s",p->xibiebanji);</p><p> printf("%10s",p->name);
95、</p><p> printf("%12c",p->sex);</p><p> printf("%7d",p->age);</p><p> printf("%17f\n",p->tel);</p><p><b> }</b>&l
96、t;/p><p><b> break;</b></p><p><b> }</b></p><p><b> }</b></p><p> if(stu[j].num!=i)</p><p> printf("您輸入的學(xué)號(hào)不存在---
97、:");</p><p> }while(stu[j].num!=i);</p><p><b> }</b></p><p><b> if(k==0)</b></p><p><b> {</b></p><p> /*按學(xué)生姓名
98、進(jìn)行查詢*/ </p><p><b> do</b></p><p><b> {</b></p><p> printf("請(qǐng)輸入你所要查詢的學(xué)生的姓名:>>");</p><p> scanf("%s",Name);</p>
99、;<p> for(j=0;j<m;j++)</p><p><b> {</b></p><p> if(strcmp(stu[j].name,Name)==0)//字符串函數(shù)</p><p><b> { </b></p><p> for(p=stu;p
100、<stu+m;p++)</p><p><b> {</b></p><p> printf("num xibiebanji name sex age tel \n");</p><p> printf("%-7d",p->n
101、um);</p><p> printf("%14s",p->xibiebanji);</p><p> printf("%10s",p->name);</p><p> printf("%12c",p->sex);</p><p> printf(&quo
102、t;%7d",p->age);</p><p> printf("%17f\n",p->tel);</p><p><b> }</b></p><p><b> break;</b></p><p><b> }</b><
103、;/p><p><b> }</b></p><p> if(strcmp(stu[j].name,Name)!=0)</p><p> printf("對(duì)不起您輸入的學(xué)生姓名不存在。");</p><p> }while(strcmp(stu[j].name,Name)!=0);</p&g
104、t;<p><b> }</b></p><p><b> }</b></p><p><b> 查詢信息流程圖:</b></p><p> 當(dāng)用戶執(zhí)行此查詢?nèi)蝿?wù)時(shí),系統(tǒng)會(huì)提醒用戶進(jìn)行查詢字段的選擇,即按學(xué)號(hào)或姓名進(jìn)行查詢。若此學(xué)生檔案信息記錄存在,則會(huì)顯示該省的檔案信息。此函數(shù)
105、完成了節(jié)點(diǎn)定位的功能。</p><p> 3.8 更新學(xué)生信息函數(shù)</p><p> /*--------------------------------更新學(xué)生檔案信息-----------------------------------*/</p><p> void gengxinxinxi()</p><p><b>
106、; {</b></p><p> int i,j,k;</p><p> struct record *p=0;</p><p> printf("請(qǐng)輸入要更改的學(xué)生的學(xué)號(hào)(1~10)號(hào)::->>"); /*輸入并校驗(yàn)該生信息*/</p><p> scanf(&quo
107、t;%d",&i);</p><p><b> do</b></p><p><b> {</b></p><p> for(j=0;j<m;j++) </p><p><b> {</b></p><p> if(st
108、u[j].num==i)</p><p><b> {</b></p><p> printf("以下是你要更改的信息:\n");</p><p> for(p=stu;p<stu+m;p++)</p><p><b> {</b></p><p
109、> printf("num xibiebanji name age tel \n");</p><p> printf("%-7d",p->num);</p><p> printf("%14s",p->xibiebanji);</p>&
110、lt;p> printf("%10s",p->name);</p><p> printf("%7d",p->age);</p><p> printf("%17f\n",p->tel);</p><p><b> }</b></p>&l
111、t;p><b> break;</b></p><p><b> }</b></p><p><b> }</b></p><p> if(stu[j].num!=i)</p><p><b> {</b></p><p
112、> printf("該學(xué)號(hào)不存在,請(qǐng)重新輸入:");</p><p> scanf("%d",&i);</p><p><b> }</b></p><p> }while(stu[j].num!=i);</p><p> printf("請(qǐng)輸入更
113、改后學(xué)生的新信息:\n");</p><p> scanf("%d%s%s%d%f",&stu[j].num,&stu[j].xibiebanji,&stu[j].name,&stu[j].age,&stu[j].tel);</p><p><b> do</b></p><
114、p><b> {</b></p><p> for(k=0;k<m;k++)</p><p><b> {</b></p><p><b> if(j==k)</b></p><p><b> k=k+1;</b></p>
115、<p> if(stu[j].num==stu[k].num)</p><p><b> {</b></p><p> printf("對(duì)不起您輸入更改后學(xué)生的新信息錯(cuò)誤,請(qǐng)重新輸入:\n");</p><p> scanf("%d%s%s%d%f",&stu[j].num,
116、&stu[j].xibiebanji,&stu[j].name,&stu[j].age,&stu[j].tel);</p><p><b> break;</b></p><p><b> }</b></p><p><b> }</b></p>&
117、lt;p> if(stu[j].num!=stu[k].num)</p><p> printf("修改信息成功。"); /*提示修改信息成功*/</p><p> }while(stu[j].num==stu[k].num);</p><p> printf("以下是你更改后
118、的學(xué)生的新信息:\n");</p><p> for(p=stu;p<stu+m;p++)</p><p><b> {</b></p><p> printf("num xibiebanji name age tel \n");</p>
119、<p> printf("%-7d",p->num);</p><p> printf("%14s",p->xibiebanji);</p><p> printf("%10s",p->name);</p><p> printf("%7d",p-
120、>age);</p><p> printf("%17f\n",p->tel);</p><p><b> }</b></p><p><b> }</b></p><p><b> 更新信息流程圖:</b></p><
121、;p> 在更新學(xué)生檔案信息的操作中,系統(tǒng)會(huì)先按輸入的學(xué)號(hào)查詢到該生檔案信息記錄,然后按順序填入要修改的學(xué)生信息。</p><p> 3.9 退出學(xué)生信息系統(tǒng)函數(shù)</p><p> /*------------------------退出學(xué)生檔案信息管理系統(tǒng)調(diào)用函數(shù)--------------------------*/</p><p> void t
122、uichuxitong()</p><p><b> {</b></p><p> printf(" --------【學(xué)生檔案信息管理系統(tǒng)】-------\n");</p><p> printf("\n");</p><p> printf(
123、"\n");</p><p> printf(" 老師再見(jiàn)!\n");</p><p> printf(" ●☆☆Bye-Bye☆☆●\n");</p><p> printf("\n&q
124、uot;);</p><p> printf("★★★★★★★★★★★★★★ ★★★★★★★★★★★★★★\n");</p><p> printf("\n");</p><p> printf(" \n");</p>
125、;<p> printf(" ☆☆☆☆☆☆☆☆☆☆☆\n");</p><p> printf("\n");</p><p> printf(" ★★★★★★★★★★★\n");</p><p>
126、printf(" 山 ★ 電 \n");</p><p> printf(" 東 ★ 信 \n");</p><p> printf("
127、 交 ★ 0 \n");</p><p> printf(" 通 ★ 6 \n");</p><p> printf(" 學(xué) ★ 1
128、 \n");</p><p> printf(" 院 ★ 班 \n");</p><p> printf(" ★ \n");<
129、/p><p> printf(" ★ \n");</p><p> printf(" ◆再見(jiàn)◆\n");</p><p><b> }</b><
130、/p><p><b> 4 程序調(diào)試</b></p><p> 4.1 學(xué)生信息管理系統(tǒng)初始界面</p><p> 當(dāng)進(jìn)入學(xué)生檔案管理系統(tǒng)時(shí),其系統(tǒng)初始界面如圖圖4-1-1所示。按任意鍵進(jìn)入密碼驗(yàn)證校驗(yàn)面。</p><p> 圖4-1 學(xué)生檔案管理系統(tǒng)初始界面圖</p><p> 4
131、.2 密碼登陸界面</p><p> 輸入預(yù)先設(shè)定好的密碼再按Enter進(jìn)入系統(tǒng)。如果輸入不正確,則顯示“密碼輸入錯(cuò)誤,請(qǐng)重新入”。</p><p> 圖4-2 密碼登陸界面圖</p><p> 4.3 登陸主菜單選擇框架界面</p><p> 進(jìn)入主菜單選擇框架界面后,用戶可選擇0—4,調(diào)用相應(yīng)功能進(jìn)行操作。當(dāng)輸入為0時(shí),退出學(xué)
132、生</p><p><b> 檔案管理系統(tǒng)。</b></p><p> 圖4-3 登陸主菜單選擇框架界面圖</p><p> 4.4 輸入信息模塊</p><p> 當(dāng)用戶輸入1并按Enter鍵后,即可進(jìn)入數(shù)據(jù)輸入界面。其數(shù)據(jù)輸入過(guò)程如圖所示圖4-4-1所示,這里輸入了一條學(xué)生的檔案信息。</p>
133、<p> 圖4-4 輸入信息模塊圖</p><p> 4.5 顯示信息模塊</p><p> 當(dāng)用戶執(zhí)行了輸入記錄后,退處輸入信息模塊后,輸入2并按Enter鍵,查看當(dāng)前單鏈表中學(xué)生檔案信息,如圖4-5-1所示,此時(shí)表中有1條記錄。</p><p> 圖4-5 顯示信息模塊圖</p><p> 4.6 條件查詢模塊&
134、lt;/p><p> 當(dāng)用戶輸入3并按Enter鍵后,即可進(jìn)入條件查詢界面。校驗(yàn)輸入錯(cuò)誤信息,可按學(xué)號(hào)或姓名進(jìn)行信息查詢。</p><p> 圖4-6—1 條件查詢模塊登陸界面圖</p><p> 圖4-6-2 條件查詢模塊按學(xué)號(hào)進(jìn)行查詢界面圖</p><p> 圖4-6-3 條件查詢模塊按姓名進(jìn)行查詢界面圖</p>&l
135、t;p> 4.7 更新信息模塊</p><p> 當(dāng)用戶輸入4并按Enter鍵后,即可進(jìn)入更新信息界面。其更新過(guò)程如圖4-7-1圖4-7-2所示。</p><p> 圖4-7-1 更新信息模塊選擇界面圖</p><p> 圖4-7-2 更新信息模塊執(zhí)行界面圖</p><p> 4.8 輸入信息容錯(cuò)性檢測(cè)</p>
136、;<p> 輸入查詢信息容錯(cuò)性檢測(cè),輸入信息容錯(cuò)性檢測(cè),保證輸入信息的準(zhǔn)確性。</p><p> 圖4-8 輸入查詢信息容錯(cuò)性檢測(cè)圖</p><p> 4.9 退出系統(tǒng)模塊</p><p> 圖4-9 退出系統(tǒng)模塊圖</p><p><b> 5 總結(jié)</b></p><p
137、> 為了提高我們的實(shí)踐能力,讓我們學(xué)以致用,能靈活運(yùn)用所學(xué)的知識(shí)進(jìn)行再創(chuàng)造,學(xué)校特安排我們進(jìn)行為期兩周的C課程設(shè)計(jì)實(shí)習(xí),并安排了指導(dǎo)老師幫助輔導(dǎo),讓我們?cè)谝?guī)范化、嚴(yán)謹(jǐn)化、實(shí)用化上面有了很大進(jìn)展。</p><p> 在此次字符統(tǒng)計(jì)程序開(kāi)發(fā)過(guò)程中,有很多東西值得我們思考并總結(jié)。</p><p> 開(kāi)發(fā)過(guò)程大體可分為以下幾個(gè)步驟:</p><p> ?。?)
138、思考總體設(shè)計(jì)方案:總體結(jié)構(gòu)和模塊外部設(shè)計(jì),功能分配。思考要實(shí)現(xiàn)整個(gè)程序大體需要的幾個(gè)模塊和其中用到的 C語(yǔ)言基本操作符、語(yǔ)句等。</p><p> ?。?) 畫(huà)出總體設(shè)計(jì)方案流程圖:用流程圖的形式展現(xiàn)你的基本編程思想。</p><p> ?。?) 流程圖具體化:即將流程圖中的幾大模塊的具體實(shí)現(xiàn)思考清楚,可以用流程圖的形式展現(xiàn).并想好實(shí)現(xiàn)的關(guān)鍵代碼。</p><p>
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 學(xué)生信息管理系統(tǒng)課程設(shè)計(jì)2
- 學(xué)生信息管理系統(tǒng)課程設(shè)計(jì)報(bào)告 (2)
- 學(xué)生信息管理系統(tǒng)課程設(shè)計(jì)
- 課程設(shè)計(jì)----學(xué)生信息管理系統(tǒng)
- 課程設(shè)計(jì)--學(xué)生信息管理系統(tǒng)
- 課程設(shè)計(jì)---學(xué)生信息管理系統(tǒng)
- 學(xué)生信息管理系統(tǒng)課程設(shè)計(jì)
- 學(xué)生信息管理系統(tǒng)課程設(shè)計(jì)
- 學(xué)生信息管理系統(tǒng) 課程設(shè)計(jì)
- 課程設(shè)計(jì)-學(xué)生信息管理系統(tǒng)
- 課程設(shè)計(jì)——學(xué)生信息管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)--學(xué)生信息管理系統(tǒng) (2)
- c語(yǔ)言課程設(shè)計(jì)--學(xué)生信息管理系統(tǒng) (2)
- 學(xué)生信息管理管理系統(tǒng)課程設(shè)計(jì)
- 課程設(shè)計(jì)-- 學(xué)生信息管理系統(tǒng)設(shè)計(jì)
- 學(xué)生成績(jī)信息管理系統(tǒng) 課程設(shè)計(jì)2
- 學(xué)生信息管理系統(tǒng)課程設(shè)計(jì) (4)
- 學(xué)生信息管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- java課程設(shè)計(jì)--學(xué)生信息管理系統(tǒng)
- 課程設(shè)計(jì)報(bào)告--學(xué)生信息管理系統(tǒng)
評(píng)論
0/150
提交評(píng)論