版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 前 言</b></p><p> 隨著計算機技術(shù)的發(fā)展,可視編程技術(shù)占有了越來越重要的作用。Visual C++6.0 是一種功能強大行之有效的可視化編程工具。因此此軟件是在Visual C++6.0環(huán)境下編寫的。對于我們,隨著學(xué)習(xí)的深入,已經(jīng)大體掌握了Visual C++6.0環(huán)境下的程序開發(fā)。為了將我們的編程能力提升到一個更高的水平,深化面向?qū)ο蟮木幊趟?/p>
2、維和解決問題的能力,值此課程設(shè)計周期間,進行基于Visual C++6.0環(huán)境的軟件開發(fā),先以字符統(tǒng)計軟件作為開始,對Visual C++6.0環(huán)境和面向?qū)ο蟪绦蛟O(shè)計進行回憶和熟悉,使得在此基礎(chǔ)上的下一個員工培訓(xùn)系統(tǒng)軟件的開發(fā)進行的更加順利。</p><p> 本文檔詳細(xì)敘述了基于Visual C++6.0環(huán)境下的學(xué)生信息查詢軟件的設(shè)計過程以及程序源代碼。</p><p> 本文檔從概
3、要設(shè)計,詳細(xì)設(shè)計,參考源程序代碼以及顯示程序運行的截屏等方面詳盡的介紹了軟件開發(fā)過程。</p><p> 此次學(xué)生信息查詢軟件的開發(fā)目的是使我們用面向?qū)ο蟮姆绞絹硭伎己徒鉀Q問題的能力,并且可以掌握字符數(shù)組的使用、字符指針的使用、類的設(shè)計和使用以及C語言語法。</p><p><b> 本文檔的安排如下:</b></p><p> 第一章
4、 主要介紹了對面向?qū)ο驝語言的主要特征,Visual C++6.0編程環(huán)境以及該系統(tǒng)的各項功能。</p><p> 第二章 主要的介紹說明了學(xué)生信息查詢系統(tǒng)軟件的編程思想和系統(tǒng)的總體流程圖以及對該流程圖的詳細(xì)介紹。</p><p> 第三章 主要介紹學(xué)生信息查詢系統(tǒng)軟件的詳細(xì)設(shè)計,各個分模塊的單獨流程圖以及對設(shè)計和流程圖的一些介紹。</p><p> 第四
5、章 主要介紹了軟件軟件進行調(diào)試,運行程序并截圖,顯示運行界面和結(jié)果。</p><p> 第五章 是該論文作者對這次課程設(shè)計過程中的一些感受和體會等。 </p><p><b> 1 系統(tǒng)概述</b></p><p> 該系統(tǒng)的功能是以菜單方式工作,輸入密碼驗證正確進入菜單選擇界面,用戶通過選擇數(shù)字來選擇學(xué)生信息錄入功能---輸入學(xué)生
6、基本信息,學(xué)生信息瀏覽功能---輸出學(xué)生的基本信息,查詢、排序功能---算法,按學(xué)號查詢,按姓名查詢。學(xué)生信息的刪除與修改(可選項)的等基本的功能,從而實現(xiàn)用戶的想法。在各項基本功能之下我們可以看到各種小的模塊來滿足用戶的各種需求,達到快速方便的效果。</p><p> 程序在設(shè)計的過程中遇到的問題已及時更正,但由于編者的能力和水平有限,學(xué)生信息查詢系統(tǒng)和文檔中不免會出現(xiàn)一些不期待的錯誤,望文檔讀者能夠理解和體
7、諒,并歡迎提醒和糾正,在此表示感謝以及敬意。</p><p> 1.1 C語言的主要特點</p><p> ?。?)C語言簡潔、緊湊,使用方便、靈活。</p><p><b> (2)預(yù)算符豐富。</b></p><p> (3)數(shù)據(jù)類型豐富,具有現(xiàn)代語言的各種數(shù)據(jù)結(jié)構(gòu)。</p><p>
8、 ?。?)具有結(jié)構(gòu)化的控制語句。</p><p> ?。?)語法限制不太嚴(yán)格,程序設(shè)計自由度大。</p><p> ?。?)C語言允許直接訪問物理地址,能進行位操作,能實現(xiàn)匯編語言的大部分功能可以直接對硬件進行操作。</p><p> ?。?)生成目標(biāo)代碼質(zhì)量高,程序執(zhí)行效率高。</p><p> ?。?)用C語言編寫的程序可移植性好(與匯編
9、語言相比)。</p><p> 1.2 Visual C++ 6.0運行環(huán)境</p><p> 圖1 Visual C 6.0運行環(huán)境</p><p><b> 2 概要設(shè)置</b></p><p> 2.1 總體設(shè)計思想</p><p> (1) 學(xué)生信息管理系統(tǒng)的功能為顯示主
10、要操作頁面,通過密碼驗證登陸界面,檔案信息處理功能。</p><p> 通過密碼驗證登陸,可實現(xiàn)安全登錄,方便可靠。學(xué)生信息處理功能包括輸入學(xué)生信息,顯示學(xué)生的檔案信息,學(xué)生檔案信息條件查詢(分為:按學(xué)生姓名進行查詢,按學(xué)生學(xué)號進行查詢),更新學(xué)生檔案信息。</p><p> ?。?) 學(xué)生信息管理系統(tǒng)的功能模塊有:</p><p> 系統(tǒng)登陸界面,美觀大方,按
11、enter鍵進入密碼驗證登陸界面,輸入正確密碼登陸主菜單選擇框架界面,方便用戶對程序個功能進行選擇,選擇要實現(xiàn)的功能按enter鍵進入該功能。</p><p> 1. 輸入學(xué)生檔案信息。</p><p> 2. 顯示學(xué)生的檔案信息</p><p> 3. 學(xué)生檔案信息條件查詢</p><p> 4. 更新學(xué)生檔案信息。</p&g
12、t;<p> 0. 退出,謝謝使用!!!</p><p> 程序分為多個小模塊,通過調(diào)用實現(xiàn)各種功能,增強了程序的可建設(shè)性。</p><p> 2.2 總體設(shè)計流程圖</p><p> 圖2 總體設(shè)計流程圖</p><p> 該流程圖為此次學(xué)生信息查詢系統(tǒng)的總體流程圖,用戶進入界面以后可以看到登陸密碼界面,密碼輸入
13、正確進入主菜單選擇框架界面,1為輸入學(xué)生信息檔案,2為顯示學(xué)生檔案,3為學(xué)生信息檔案查詢,4為更新學(xué)生檔案,0為退出系統(tǒng)。用戶可以根據(jù)自己的需求方便快捷的做出自己的選擇。</p><p><b> 3 系統(tǒng)詳細(xì)設(shè)計</b></p><p> 3.1 頭文件的引用和函數(shù)的聲明</p><p> #include<stdio.h&g
14、t;/*標(biāo)準(zhǔn)輸入輸出函數(shù)庫*/</p><p> #include<string.h> /*字符串函數(shù)庫*/</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ù)是對頭文件的加載和引用,
19、定義結(jié)構(gòu)體、常量和變量,并對他們進行初始化工作。</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();/*密碼登陸驗證函數(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ù),主要實現(xiàn)了對整個程序的運行控制,以及相關(guān)功能模塊的調(diào)用。</p><p> 3.3 密碼驗證函數(shù)</p><p> /*通過對比字符串?dāng)?shù)組比較實現(xià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(" ★★★★★★★★ 請 輸 入 密 碼 :★★★★
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("密碼輸入錯誤,請從新輸入\n");</p><p><b> }</b></p><p> }while(s==0);</p><p><b> }</b></p><p> 密碼
35、登陸函數(shù)流程圖:</p><p> 該函數(shù)為密碼登陸函數(shù)模塊,當(dāng)輸入的密碼不正確的時候,系統(tǒ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、("請選擇你要進行的工作:\n");</p><p> do /*輸入不能空,也不能是字母,當(dāng)輸入字母的</p><p> { 時候,會提示"不能為字母,請重新輸入”。*/</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("不能為字母,請重新輸入\n");</p><p><b> else</b></p><p><b> break;</b></p><p> }while(k==0);</p><p> switch(j)
53、 /*運用switch語句根據(jù)需要進行菜單選擇*/</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> 進入學(xué)生檔案管理系統(tǒng)時顯示程序名稱和選擇框架主菜單,提示用戶進行選擇,完成相
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("請輸入第%d個學(xué)生的信息:\n",m+1);</p><p> do /*學(xué)號的輸入*/
62、</p><p><b> { </b></p><p> printf("請輸入學(xué)生的學(xué)號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("不能為字母,請重新輸入\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) /*輸入字符串,并進行長度驗證*/</p>&l
66、t;p><b> { </b></p><p> printf("輸入錯誤--請重新輸入:\n"); /*顯示提示信息*/</p><p><b> } </b></p><p> }while(stu[m].num > 1000 || stu[m].num&l
67、t;=0); </p><p> printf("請輸入學(xué)生的姓名:::"); /*姓名的輸入*/ </p><p> scanf("%s",stu[m].name); </p><p> do
68、 /*學(xué)生性別的輸入*/ </p><p><b> {</b></p><p> printf("請輸入學(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("輸入錯誤--請重新輸入:\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("請輸入學(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("不能為字母,請重新輸入\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("輸入錯誤--請重新輸入:\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("請輸入學(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("不能為字母,請重新輸入\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("輸入錯誤--請重新輸入:\n"); </p><p><b> } </b></p><p>
79、; }while(stu[m].age > 100 || stu[m].age < 0);</p><p> /*系別班級的輸入 */ </p><p> printf("請輸入學(xué)生的系別班級:::"); </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ù)提示的信息來進行每一步的輸入操作,當(dāng)輸入不當(dāng)時,系統(tǒng)會自動提示,并讓用戶進行正確的操作。在此系統(tǒng)中,要求用戶輸入的只有字符型和數(shù)值型數(shù)據(jù),設(shè)計了相應(yīng)的
82、函數(shù)來進行數(shù)據(jù)校驗工作,保證數(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é)生成績信息:\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)存儲的學(xué)生信息,用戶可以在</p><p> { 查詢結(jié)果中看到系統(tǒng)的存儲內(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)用戶進入查詢信息模塊時,系統(tǒng)會顯示內(nèi)部存儲的內(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("請輸入1或0兩個數(shù)字,輸入1進行學(xué)號查詢,輸入0進行姓名查詢&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("請重新輸入:");</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é)號進行查詢*/ </p><
92、p> printf("請輸入學(xué)號進行查詢(1~1000)號::->>");</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é)號不存在---
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、進行查詢*/ </p><p><b> do</b></p><p><b> {</b></p><p> printf("請輸入你所要查詢的學(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("對不起您輸入的學(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ù)時,系統(tǒng)會提醒用戶進行查詢字段的選擇,即按學(xué)號或姓名進行查詢。若此學(xué)生檔案信息記錄存在,則會顯示該省的檔案信息。此函數(shù)
105、完成了節(jié)點定位的功能。</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("請輸入要更改的學(xué)生的學(xué)號(1~10)號::->>"); /*輸入并校驗該生信息*/</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é)號不存在,請重新輸入:");</p><p> scanf("%d",&i);</p><p><b> }</b></p><p> }while(stu[j].num!=i);</p><p> printf("請輸入更
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("對不起您輸入更改后學(xué)生的新信息錯誤,請重新輸入:\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)會先按輸入的學(xué)號查詢到該生檔案信息記錄,然后按順序填入要修改的學(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(" 老師再見!\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(" ◆再見◆\n");</p><p><b> }</b><
130、/p><p><b> 4 程序調(diào)試</b></p><p> 4.1 學(xué)生信息管理系統(tǒng)初始界面</p><p> 當(dāng)進入學(xué)生檔案管理系統(tǒng)時,其系統(tǒng)初始界面如圖圖4-1-1所示。按任意鍵進入密碼驗證校驗面。</p><p> 圖4-1 學(xué)生檔案管理系統(tǒng)初始界面圖</p><p> 4
131、.2 密碼登陸界面</p><p> 輸入預(yù)先設(shè)定好的密碼再按Enter進入系統(tǒng)。如果輸入不正確,則顯示“密碼輸入錯誤,請重新入”。</p><p> 圖4-2 密碼登陸界面圖</p><p> 4.3 登陸主菜單選擇框架界面</p><p> 進入主菜單選擇框架界面后,用戶可選擇0—4,調(diào)用相應(yīng)功能進行操作。當(dāng)輸入為0時,退出學(xué)
132、生</p><p><b> 檔案管理系統(tǒng)。</b></p><p> 圖4-3 登陸主菜單選擇框架界面圖</p><p> 4.4 輸入信息模塊</p><p> 當(dāng)用戶輸入1并按Enter鍵后,即可進入數(shù)據(jù)輸入界面。其數(shù)據(jù)輸入過程如圖所示圖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所示,此時表中有1條記錄。</p><p> 圖4-5 顯示信息模塊圖</p><p> 4.6 條件查詢模塊&
134、lt;/p><p> 當(dāng)用戶輸入3并按Enter鍵后,即可進入條件查詢界面。校驗輸入錯誤信息,可按學(xué)號或姓名進行信息查詢。</p><p> 圖4-6—1 條件查詢模塊登陸界面圖</p><p> 圖4-6-2 條件查詢模塊按學(xué)號進行查詢界面圖</p><p> 圖4-6-3 條件查詢模塊按姓名進行查詢界面圖</p>&l
135、t;p> 4.7 更新信息模塊</p><p> 當(dāng)用戶輸入4并按Enter鍵后,即可進入更新信息界面。其更新過程如圖4-7-1圖4-7-2所示。</p><p> 圖4-7-1 更新信息模塊選擇界面圖</p><p> 圖4-7-2 更新信息模塊執(zhí)行界面圖</p><p> 4.8 輸入信息容錯性檢測</p>
136、;<p> 輸入查詢信息容錯性檢測,輸入信息容錯性檢測,保證輸入信息的準(zhǔn)確性。</p><p> 圖4-8 輸入查詢信息容錯性檢測圖</p><p> 4.9 退出系統(tǒng)模塊</p><p> 圖4-9 退出系統(tǒng)模塊圖</p><p><b> 5 總結(jié)</b></p><p
137、> 為了提高我們的實踐能力,讓我們學(xué)以致用,能靈活運用所學(xué)的知識進行再創(chuàng)造,學(xué)校特安排我們進行為期兩周的C課程設(shè)計實習(xí),并安排了指導(dǎo)老師幫助輔導(dǎo),讓我們在規(guī)范化、嚴(yán)謹(jǐn)化、實用化上面有了很大進展。</p><p> 在此次字符統(tǒng)計程序開發(fā)過程中,有很多東西值得我們思考并總結(jié)。</p><p> 開發(fā)過程大體可分為以下幾個步驟:</p><p> (1)
138、思考總體設(shè)計方案:總體結(jié)構(gòu)和模塊外部設(shè)計,功能分配。思考要實現(xiàn)整個程序大體需要的幾個模塊和其中用到的 C語言基本操作符、語句等。</p><p> ?。?) 畫出總體設(shè)計方案流程圖:用流程圖的形式展現(xiàn)你的基本編程思想。</p><p> ?。?) 流程圖具體化:即將流程圖中的幾大模塊的具體實現(xiàn)思考清楚,可以用流程圖的形式展現(xiàn).并想好實現(xiàn)的關(guān)鍵代碼。</p><p>
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 學(xué)生信息管理系統(tǒng)課程設(shè)計2
- 學(xué)生信息管理系統(tǒng)課程設(shè)計報告 (2)
- 學(xué)生信息管理系統(tǒng)課程設(shè)計
- 課程設(shè)計----學(xué)生信息管理系統(tǒng)
- 課程設(shè)計--學(xué)生信息管理系統(tǒng)
- 課程設(shè)計---學(xué)生信息管理系統(tǒng)
- 學(xué)生信息管理系統(tǒng)課程設(shè)計
- 學(xué)生信息管理系統(tǒng)課程設(shè)計
- 學(xué)生信息管理系統(tǒng) 課程設(shè)計
- 課程設(shè)計-學(xué)生信息管理系統(tǒng)
- 課程設(shè)計——學(xué)生信息管理系統(tǒng)
- c語言課程設(shè)計--學(xué)生信息管理系統(tǒng) (2)
- c語言課程設(shè)計--學(xué)生信息管理系統(tǒng) (2)
- 學(xué)生信息管理管理系統(tǒng)課程設(shè)計
- 課程設(shè)計-- 學(xué)生信息管理系統(tǒng)設(shè)計
- 學(xué)生成績信息管理系統(tǒng) 課程設(shè)計2
- 學(xué)生信息管理系統(tǒng)課程設(shè)計 (4)
- 學(xué)生信息管理系統(tǒng)課程設(shè)計報告
- java課程設(shè)計--學(xué)生信息管理系統(tǒng)
- 課程設(shè)計報告--學(xué)生信息管理系統(tǒng)
評論
0/150
提交評論