軟件設(shè)計報告_第1頁
軟件設(shè)計報告_第2頁
軟件設(shè)計報告_第3頁
軟件設(shè)計報告_第4頁
軟件設(shè)計報告_第5頁
已閱讀5頁,還剩53頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、軟件設(shè)計報告姓名:學(xué)號:2014年6月23日2012年7月4日目錄第一章軟件設(shè)計介紹.2第二章軟件開發(fā)平臺簡介.3第三章軟件設(shè)計的內(nèi)容.43.1分數(shù)統(tǒng)計軟件(a1).43.1.1設(shè)計題目及要求.43.1.2設(shè)計思想及程序流程框圖.43.1.3邏輯功能程序.43.1.4結(jié)果及完善方向.錯誤!未定義書簽。3.2打字軟件(a2).93.2.1設(shè)計題目及要求.93.2.2設(shè)計思想及程序流程框圖.103.2.3邏輯功能程序.103.2.4結(jié)果及完善方向.133.3文本編輯器(a3).143.3.1設(shè)計題目及要求.143.3.2設(shè)計思想及程序流程框圖.153.3.3邏輯功能程序.153.3.4結(jié)果及完善方

2、向.173.4加密軟件(a4).193.4.1設(shè)計題目及要求.193.4.2設(shè)計思想及程序流程框圖.193.4.3邏輯功能程序.193.4.4結(jié)果及完善方向.213.5進制轉(zhuǎn)換器(a5).錯誤!未定義書簽。3.5.1設(shè)計題目及要求.233.5.2設(shè)計思想及程序流程框圖.233.5.3邏輯功能程序.243.5.4結(jié)果及完善方向.273.6學(xué)生成績核算系統(tǒng)的設(shè)計與實現(xiàn)(b1).303.6.1設(shè)計題目及要求.303.6.2設(shè)計思想及程序流程框圖.303.6.3邏輯功能程序.323.6.4結(jié)果及完善方向.413.7模擬電信計費系統(tǒng)的設(shè)計與實現(xiàn)(b2).453.7.1設(shè)計題目及要求.453.7.2設(shè)計思

3、想及程序流程框圖.463.7.3邏輯功能程序.483.7.4結(jié)果及完善方向.錯誤!未定義書簽。第四章心得體會.錯誤!未定義書簽。第一章軟件設(shè)計介紹一、所涉及的課程及知識點高級語言程序設(shè)計:常量、變量、表達式的基本知識;函數(shù)的定義與調(diào)用;文件讀寫;數(shù)組、指針、結(jié)構(gòu)體等自定義類型的使用;排序等知識。二、目的與任務(wù)目的:通過集中時間上機實驗,對學(xué)生的程序設(shè)計能力進行一次綜合訓(xùn)練,使學(xué)生充分發(fā)揮已有的編程能力,熟悉編譯環(huán)境。選擇若干課題,進行審題、分析、設(shè)計和調(diào)試,在程序準備、程序?qū)崿F(xiàn)、完成文檔、答辯驗收過程中,將全面鞏固已學(xué)過的編程知識,全面提高編程技能,在編程風(fēng)格、調(diào)試器的使用、測試技術(shù)等方面得到

4、全面訓(xùn)練。學(xué)生在程序設(shè)計過程中,學(xué)生需要查找各種資料獲取有用信息解決實際問題,自學(xué)相關(guān)知識,提高文檔書寫能力,加強團隊合作意識,提高口頭表達能力。任務(wù):軟件設(shè)計課題共分a、b兩檔。a檔共5題,題目較簡單,第一周完成;b檔共2題,題目是綜合性的,較復(fù)雜,第二周完成。三、考核及報告要求1.考核根據(jù)學(xué)生平時的上機出勤情況、為上機所作的準備情況、上機時的表現(xiàn)、程序的完成情況、驗收答辯時的表現(xiàn)、報告的完成情況等綜合打分。等級為:優(yōu)秀、良好、中等、及格、不及格。2.報告要求報告以電子版形式遞交,要求書寫規(guī)范、文字簡練、語句通順、圖表清晰,見本大綱最后的一個軟件設(shè)計報告樣例。四、主要儀器設(shè)備硬件:微型計算機

5、軟件:c、c+、visualc+等五、參考書參考書【1】朱立華,王立柱c語言程序設(shè)計北京:人民郵電出版社,2009【2】朱立華,朱建,俞瓊面向?qū)ο蟪绦蛟O(shè)計及c+北京:人民郵電出版社,2008【3】張引等c程序設(shè)計基礎(chǔ)課程設(shè)計浙江:浙江大學(xué)出版社,2007第二章軟件開發(fā)平臺簡介本次實驗所用的開發(fā)軟件是microsoftvisualc+6.0。visualc+是一個功能強大的可視化軟件開發(fā)工具。自1993年microsoft公司推出visualc+1.0后,隨著其新版本的不斷問世,visualc+已成為專業(yè)程序員進行軟件開發(fā)的首選工具。雖然微軟公司推出了visualc+.net(visualc+7

6、.0),但它的應(yīng)用的很大的局限性,只適用于windows2000,windowsxp和windowsnt4.0。所以實際中,更多的是以visualc+6.0為平臺。vc+6集成開發(fā)環(huán)境中集成了編輯器、編譯器、連接器以及調(diào)試程序,覆蓋了的開發(fā)應(yīng)用程序的整個過程,與開發(fā)其他高級語言的程序一樣,開發(fā)一個c/c+語言程序包括編輯、編譯、鏈接和運行幾個步驟。1編輯編輯是將編寫好的c/c+語言源程序通過輸入設(shè)備錄入到計算機保存,生成擴展名為.c(或.cpp)的源程序文件。編輯源程序的方法有兩種:一種是選用c+集成開發(fā)環(huán)境中的編輯器,這是最常用的方法;另一種是使用計算機中的其他文本編輯器,如寫字板、記事本等

7、。2編譯編譯是將已生成的c/c+語言源程序代碼轉(zhuǎn)換為機器可識別的目標代碼(即二進制代碼),生成相應(yīng)的擴展名為.obj的目標文件。編譯又包括預(yù)處理和編譯兩個子過程,先執(zhí)行程序中的以#開頭的預(yù)處理命令進行預(yù)處理,然后再進行正常的編譯過程。在編譯過程中主要進行詞法和語法分析,發(fā)現(xiàn)有不符合的,及時以error或warning信息提示用戶,用戶必須重新修改源程序文件直至編譯正確才能進行下面的步驟。3鏈接鏈接是在編譯生成的目標代碼中加入某些系統(tǒng)提供的庫文件代碼,進行必要的地址鏈接,最后生成擴展名為.exe的可執(zhí)行文件。4運行生成了可執(zhí)行文件后就可以運行程序。運行程序的方法很多,最常用是選擇集成環(huán)境中的“運

8、行”命令來運行可執(zhí)行文件;另一種方法是在ms-dos提示符后直接鍵入可執(zhí)行文件名(如果主函數(shù)有形式參數(shù),則應(yīng)提供實在參數(shù)),按回車確認。運行后在顯示器上顯示結(jié)果。需要說明的是,在以上4個過程中都有可能出錯,無論是哪一個階段出了錯,都應(yīng)該回到編輯步驟,因為如果源文件有錯,就無法保證后面各步生成正確的文件。如果是運行期出錯,則程序存在邏輯上的錯誤,要借助調(diào)試器找出錯誤才能保證源程序的修改正確。c語言程序的開發(fā)在特定的集成開發(fā)環(huán)境下進行。集成環(huán)境中提供了編輯器、編譯器、鏈接器、調(diào)試器等多種工具,使得程序員從源程序的編輯到最后的運行均可在集成環(huán)境中完成。第三章軟件設(shè)計的內(nèi)容3.1分數(shù)統(tǒng)計軟件(a1)3

9、.1.1設(shè)計題目及要求課題內(nèi)容:設(shè)計一個分數(shù)統(tǒng)計程序。包括學(xué)生信息的輸入輸出以及排序。通過該課題全面熟悉結(jié)構(gòu)體數(shù)組、字符串的使用以及排序的方法,掌握程序設(shè)計的基本方法及友好界面的設(shè)計。課題要求:(1)輸入某班級學(xué)生的姓名、分數(shù);(2)對(1)的分數(shù)進行降冪排列并輸出;(3)具有輸入輸出界面。3.1.2設(shè)計思想及程序流程框圖設(shè)計思想(1)建立一個student結(jié)構(gòu)體,包含數(shù)據(jù)成員姓名、分數(shù),分別用于存放學(xué)生的姓名和分數(shù)。(2)輸入學(xué)生人數(shù)和基本信息。(3)采用選擇排序法對學(xué)生分數(shù)進行排序,通過循環(huán)比較ai.score和sj.score的大小并交換順序?qū)崿F(xiàn)分數(shù)的降序排列。(4)通過菜單選擇程序的功

10、能。程序流程圖1.系統(tǒng)整體框圖開始主菜單選擇:輸入choice0、退出2、降序輸出成績退出系統(tǒng)1、輸入學(xué)生信息選擇,輸入choice2、降序輸出成績,退出系統(tǒng)其他選擇,退出系統(tǒng)2.排序過程n開始i=0in-1輸出排序結(jié)果yi+j=i結(jié)束jnynyai.scoreaj.score交換ai和ajnj+3.1.3邏輯功能程序#include#include#includestructstudentcharname20;doublegrades;typedefstructstudentstudent;voiddisplay()printf(*主菜單*n);printf(0、退出1、輸入學(xué)生信息2、降序

11、輸出成績n);printf(n);printf(*請選擇(0/1/2):);intinput(student*pa)intm,i,p=1;printf(*請輸入學(xué)生人數(shù):);scanf(%d,&m);for(i=0;im;i+)printf(*name(%d):,p);scanf(%s,&);printf(grades(%d):,p);scanf(%lf,&pai.grades);p+;printf(輸入完畢n);returnm;voidselectsort(student*pa,intn)inti,j,max,k;studenttemp;for(i=0;in-1;i+)max

12、=i;for(j=i+1;jpamax.grades)max=j;if(max!=i)temp=pai;pai=pamax;pamax=temp;printf(降序排列為:n);for(k=0;kn;k+)printf(%s:%gn,,pak.grades);voidmain()intchoice;inta=0;student*sa;sa=(structstudent*)malloc(a*sizeof(structstudent);printf(*歡迎進入學(xué)生成績統(tǒng)計系統(tǒng)*n);printf(n);display();scanf(%d,&choice);switch(choic

13、e)case1:a=input(sa);printf(n);display();scanf(%d,&choice);if(choice!=2)break;elsecase2:selectsort(sa,a);break;case0:printf(退出n);printf(*謝謝使用n);3.1.4結(jié)果及完善方向主菜單:選擇1,輸入學(xué)生信息:若再選擇2,降序輸出學(xué)生成績:若再選擇其他,則退出系統(tǒng):程序分析:此程序功能上滿足基本的題目要求,能夠做到輸入學(xué)生的姓名和成績,能夠按成績降冪排列并輸出。完善方向基本功能已實現(xiàn),對于實際的系統(tǒng),接下來完善的功能的是能夠選擇不同的科目進行輸入,能夠選擇進行降冪或

14、者升冪排序,同時能添加或刪除學(xué)生信息,對于成績相同的學(xué)生進行并列排名.3.2打字軟件(a2)3.2.1設(shè)計題目及要求課題內(nèi)容:設(shè)計一個打字程序。包括隨機產(chǎn)生字符串,以及字符串比較和統(tǒng)計。通過此課題,熟練掌握數(shù)組、格式輸出、字符串處理等。課題要求:(1)隨機產(chǎn)生一字符串,每次產(chǎn)生的字符串內(nèi)容、長度都不同;(2)根據(jù)(1)的結(jié)果,輸入字符串,判斷輸入是否正確,輸出正確率;(3)具有輸入輸出界面。3.2.2設(shè)計思想及程序流程框圖設(shè)計思想:(1)利用隨機函數(shù)產(chǎn)生隨機數(shù)作為產(chǎn)生的字符串長度;(2)利用隨機函數(shù)產(chǎn)生隨機數(shù)0、1,用于控制產(chǎn)生小寫字母、大寫字母的隨機性,并產(chǎn)生隨機字符串;(3)建立新的數(shù)組,

15、用戶輸入字符串;(4)用戶輸入字符串與隨機字符串對比統(tǒng)計:若兩者字符個數(shù)相同,則直接計算出正確率,否則提示字符串長度不對,退出系統(tǒng)。程序流程圖:1.系統(tǒng)整體框圖開始產(chǎn)生隨機數(shù),length為字符串的長度j=0jlengthjlengthnyflag=rand()%2輸出隨機字符串輸入字符串guessnj+flag=1originj=a+rand()flag=0originj=a+rand(k=strlen(guess)n提示字符串長度不對k=lengthy統(tǒng)計輸出正確率,退出系統(tǒng)2、正確率統(tǒng)計流程圖n=0nlengthyguessi=originiyn+right+r=(float)right

16、/length輸出正確率3.2.3邏輯功能程序#include#include#include#includeintmain()charorigin20;charguess20;intlength,intflag;intright=0;floatr;intk,j,i,n;srand(time(null);length=rand()%15+1;printf(*歡迎進入打字程序系統(tǒng)*n);printf(n);printf(thestringslengthis:%dn,length);for(j=0;jlength;j+)flag=rand()%2;if(flag)originj=a+rand()%

17、26;elseoriginj=a+rand()%26;/隨機輸入26個字母大小寫任意printf(theoriginalstringis:);for(i=0;ilength;i+)printf(%c,origini);printf(npleaseguessthestring:);scanf(%s,guess);k=strlen(guess);if(k!=length)printf(lengtherror!n);return0;for(n=0;nlength;n+)if(originn=guessn)right+;printf(therightnumberis:%dn,right);r=(flo

18、at)right/length;printf(你的正確率是%fn,r);printf(謝謝使用!n);return0;3.2.4結(jié)果及完善方向打字前的界面:輸入正確長度的字符串,顯示正確率:輸入的字符串長度錯誤,顯示“l(fā)engtherror!”:程序結(jié)果分析:此程序功能上滿足題目的基本要求:能夠產(chǎn)生隨機的字符串,每次產(chǎn)生的字符串內(nèi)容、長度都不同;能夠判斷輸入是否正確,能夠輸出正確率。程序完善方向:對于這個程序,不足的就是可以添加計時功能,在打字前,可以詢問用戶是否進行計時,還可以添加功能,由用戶自己選擇可從從其他文件導(dǎo)入一段字符串。3.3文本編輯器(a3)3.3.1設(shè)計題目及要求課題內(nèi)容:設(shè)計

19、一個簡單的文本編輯器,通過此課題,熟練掌握文本文件的操作及用字符數(shù)組或字符指針實現(xiàn)字符串操作的功能。課題要求:(1)編輯文本;(2)保存、打開指定位置的文本文件;(3)具有輸入輸出界面。3.3.2設(shè)計思想及程序流程框圖系統(tǒng)整體框圖開始choice1、寫入一個0、退出2、讀取文本文新的文本文件件并保存結(jié)束,退出結(jié)束,退出3.3.3邏輯功能程序#include#includeintmain()intchoice;char30;charch;file*fp;printf(*歡迎進入文本編輯器系統(tǒng)*nn);printf(0、退出系統(tǒng)1、寫入并保存文件2讀取文件n);printf(請選擇(0/1/2):

20、);scanf(%d,&choice);switch(choice)case1:printf(請輸入文件路徑:);scanf(%s,);fp=fopen(,w+);/以寫的方式建立一個新的文本文件if(!fp)printf(文件沒有正常打開!n);exit(1);/文件沒有正常打開printf(請輸入內(nèi)容(以#結(jié)束)n);ch=getchar();while(ch!=#)fputc(ch,fp);ch=getchar();fclose(fp);printf(n文件已保存!n);break;case2:printf(請輸入文件路徑:);scanf(%s,);/輸入路徑fp=fopen(,r);i

21、f(!fp)printf(文件沒有正常打開!n);exit(1);printf(n文件內(nèi)容如下:n);rewind(fp);/返回文件首,輸出整個文件的內(nèi)容doch=fgetc(fp);putchar(ch);while(ch!=eof);fclose(fp);break;case0:printf(退出系統(tǒng)n);break;printf(n謝謝使用此系統(tǒng)n);3.3.4結(jié)果及完善方向進入系統(tǒng)的界面:選擇1,輸入文件路徑,寫入文件內(nèi)容并保存:選擇2,讀取文件內(nèi)容:選擇0,退出系統(tǒng):程序結(jié)果分析:此程序在功能上基本滿足要求,能實現(xiàn)文本文檔的的寫入、保存和讀取。程序完善方向:沒能實現(xiàn)文檔的插入,刪除

22、,查找等功能,軟件用起來會不方便。3.4加密軟件(a4)3.4.1設(shè)計題目及要求課題內(nèi)容:設(shè)計一個加密程序。包括明文與密鑰的轉(zhuǎn)換。通過此課題,熟練掌握數(shù)組、格式輸出、字符串處理、類型轉(zhuǎn)換等。課題要求:(1)輸入任意一段明文m,以及密鑰k;(2)根據(jù)以下公式將其轉(zhuǎn)換為密文c。ci=mi+k,其中i=0,1,n-1,k為密鑰;(3)具有輸入輸出界面。3.4.2設(shè)計思想及程序流程框圖設(shè)計思想(1)輸入明文和密鑰字符串;(2)運用公式ci=mi+k,其中i=0,1,n-1,k為密鑰,進行加密;(3)解密是加密的逆運算程序流程圖1.程序整體框圖開始choice0、退出系統(tǒng)1、加密2、解密輸入明文輸入密文

23、輸入密鑰輸入密鑰輸出加密結(jié)果輸出解密結(jié)果3.4.3邏輯功能程序#include#include#includevoidjiami(char*a)charc100;inti,k,l;l=strlen(a);printf(輸入密鑰=);scanf(%d,&k);for(i=0;il;i+)ci=ai+k;cl=0;printf(加密結(jié)果:);printf(%sn,c);voidjiemi(char*b)chard100;inti,l,k;l=strlen(b);printf(輸入密鑰=);scanf(%d,&k);for(i=0;il;i+)di=bi-k;dl=0;printf(解密結(jié)果:);p

24、uts(d);intmain()intchoice;chara100,b100;printf(*歡迎進入加密系統(tǒng)*nn);printf(0、退出系統(tǒng)1、加密2、解密n);printf(請輸入你的選擇:);scanf(%d,&choice);switch(choice)case1:printf(請輸入原文:);getchar();gets(a);jiami(a);break;case2:printf(輸入密文:);getchar();gets(b);jiemi(b);break;case0:printf(退出系統(tǒng));break;printf(n謝謝使用!);return0;3.4.4結(jié)果及完善方

25、向選擇2,解密:選擇1,加密:選擇0,退出系統(tǒng):程序結(jié)果分析:此程序基本完成功能,能實現(xiàn)字符串的加密與解密,具有較友好的界面。程序完善方向:此程序完成的是一個十分簡單的加密過程,在實際生活中沒有應(yīng)用價值。應(yīng)該往更復(fù)雜和專業(yè)的加密解密模塊發(fā)展。3.5進制轉(zhuǎn)換器(a5)3.5.1設(shè)計題目及要求課題內(nèi)容:設(shè)計一個進制轉(zhuǎn)換器程序。包括二進制、八進制、十進制、十六進制數(shù)互相轉(zhuǎn)換。通過此課題,熟練掌握字符串、格式輸出、進制換算的各種操作。課題要求:(1)可輸入二進制、八進制、十進制、十六進制數(shù);(2)將已輸入的數(shù)轉(zhuǎn)換成其余進制的數(shù);(3)具有輸入輸出界面。3.5.2設(shè)計思想及程序流程框圖設(shè)計思想(1)除十

26、進制外,其他進制按照字符串方式輸入;(2)輸入一個進制后,首先驗證它的合法性;(3)驗證合法之后首先轉(zhuǎn)為一個十進制的數(shù),再根據(jù)這個十進制的數(shù)輸出其他進制的數(shù)。整體結(jié)構(gòu)流程圖開始輸出界面choice1、二進2、八進3、十進4、十六5、退出制制制進制轉(zhuǎn)為其轉(zhuǎn)為其他進制他進制輸出輸出轉(zhuǎn)為其轉(zhuǎn)為其他進制他進制輸出輸出3.5.3邏輯功能程序#include#include#includevoidzhuan2(intk)/十進制轉(zhuǎn)換成二進制數(shù)intb30;inti=0;while(k)bi=k%2;/取余數(shù)k=k/2;/取相除的整數(shù)商i+;i-;printf(二進制:);if(k=0)printf(%d,

27、0);while(i=0)printf(%d,bi-);/輸出二進制數(shù)printf(n);voiddisplay()printf(*歡迎進入進制轉(zhuǎn)換系統(tǒng)*n);printf(n);printf(1二進制n);printf(2八進制n);printf(3十進制n);printf(4十六進制n);printf(0退出n);printf(n);printf(*請選擇:);intmain()charm100;intx,f=0;intn=0;intchoice;inti=0;display();scanf(%d,&choice);switch(choice)case1:f=0;while(!f)i=0;

28、f=1;printf(請輸入二進制數(shù):);scanf(%s,m);getchar();while(mi!=0)if(mi!=1&mi!=0)f=0;/若輸入數(shù)字不為1或0則輸入錯誤i+;if(!f)printf(您輸入數(shù)值錯誤,不是二進制數(shù)!請重輸!n);i=0;while(mi!=0)/二進制轉(zhuǎn)換為十進制n=n*2;if(mi=1)n=n+1;i+;printf(n二進制數(shù)%s轉(zhuǎn)換為其他進制結(jié)果如下:n,m);printf(八進制:%on,n);printf(十進制:%dn,n);printf(十六進制:%xn,n);break;case2:f=0;while(!f)f=1;i=0;prin

29、tf(請輸入八進制數(shù):);scanf(%s,m);getchar();while(mi!=0)if(mi7|mi0)f=0;i+;if(!f)printf(輸入數(shù)值錯誤,不是八進制數(shù)!請重輸n);i=0;while(mi!=0)n=n*8;n=n+mi-48;i+;printf(n八進制數(shù)%s轉(zhuǎn)換為其他進制結(jié)果如下:n,m);zhuan2(n);printf(十進制:%dn,n);printf(十六進制:%xn,n);break;case3:printf(請輸入十進制數(shù):);scanf(%d,&x);printf(n十進制數(shù)%d轉(zhuǎn)換為其他進制結(jié)果如下:n,x);zhuan2(x);printf

30、(十進制:%dn,x);printf(十六進制:%xn,x);break;case4:f=0;while(!f)i=0;f=1;printf(請輸入十六進制數(shù):);scanf(%s,m);getchar();while(mi!=0&f)if(mi=0)f=1;elseif(mi=a&mi=a&mi=f)f=1;elsef=0;if(!f)printf(輸入數(shù)值錯誤,不是十六進制數(shù)!請重輸n);i+;i=0;while(mi!=0)n=n*16;if(0=mi&mi=9)n=n+mi-48;if(a=mi&mi=f)n=n+mi-97+10;if(a=mi&mi=f)n=n+mi-65+10;i

31、+;printf(n十六進制數(shù)%s轉(zhuǎn)換為其他進制:n,m);zhuan2(n);printf(八進制:%on,n);printf(十進制:%dn,n);break;case0:printf(退出n);break;printf(n謝謝使用!n);return0;3.5.4結(jié)果及完善方向選擇1,輸入的是二進制:選擇2,輸入的是八進制:選擇3,輸入的是十進制:選擇4,輸入的是十六進制:選擇0,退出系統(tǒng):程序結(jié)果分析:本程序基本實現(xiàn)功能,且能實現(xiàn)16以下的任意進制間的相互轉(zhuǎn)換,在輸入非法進制數(shù)時能報錯提醒,并可以多次轉(zhuǎn)換。程序完善方向:本程序只能實現(xiàn)整數(shù)進制之間的轉(zhuǎn)換,應(yīng)對代碼進行進一步優(yōu)化,以實現(xiàn)小

32、數(shù)進制間的相互轉(zhuǎn)換;數(shù)字的大小受到一定的限制,可以嘗試用數(shù)組解決大數(shù)間進制轉(zhuǎn)換問題;題輸出界面可以進一步美化。3.6學(xué)生成績核算系統(tǒng)的設(shè)計與實現(xiàn)(b1)3.6.1設(shè)計題目及要求課題內(nèi)容:設(shè)計一個學(xué)生成績核算系統(tǒng)。能實現(xiàn)從文件中讀取學(xué)生成績資料,并提供成績查詢統(tǒng)計服務(wù)。通過此課題,熟練掌握文件、數(shù)組、結(jié)構(gòu)體的各種操作以及友好界面的設(shè)計。課題要求:(1)按班級按課程從文件中讀入相應(yīng)的平時成績、期中考試成績和期末考試成績。(2)三個成績對總評成績的百分比被定義為常數(shù),各占總成績的30%、30%和40%。(3)計算每位學(xué)生的總評成績。(4)計算該班級本課程的總平均成績。(5)計算處于優(yōu)、良、中、及格、

33、不及格的學(xué)生人數(shù)以及占總?cè)藬?shù)的百分比。其中100-90為優(yōu),89-80為良,79-70為中,69-60為及格,60分以下為不及格。(6)按要求輸出成績在優(yōu)、良、中、及格、不及格各區(qū)間的學(xué)生學(xué)號、成績。3.6.2設(shè)計思想及程序流程框圖設(shè)計思想:(1)建立一個stu結(jié)構(gòu)體,包含學(xué)生學(xué)號、平時成績、期中成績、期末成績、總評成績、等級結(jié)構(gòu)體常量;(2)從文件中讀出數(shù)據(jù)賦給結(jié)構(gòu)體相應(yīng)的變量,對數(shù)據(jù)進行計算得出綜合成績、等級賦給相應(yīng)結(jié)構(gòu)體變量;(3)查詢時,通過不斷比較結(jié)構(gòu)體中的學(xué)號名與輸入的學(xué)號找出該學(xué)號對應(yīng)的的結(jié)構(gòu)體變量,對期中的數(shù)據(jù)進行處理輸出;程序流程圖:1、程序系統(tǒng)框圖開始輸入選項輸入錯誤choice=1choice=2choice=3choice=4choice=5choice=6choice=7choice=0從文計算按總退出系統(tǒng)件中并顯讀取示成按評成等級績排按學(xué)號等級列表保存到文數(shù)據(jù)績查詢序查詢件結(jié)束按任意鍵返回主菜單2、查詢部分程序流程(以查詢學(xué)號為例)開始輸入待查詢學(xué)號temp10i=0查詢的學(xué)號不存在iamountflag=strcmp(temp,listi.code)i+flag=0?輸出學(xué)生信息結(jié)束3、計算總評成績和等級程序流程圖開始i=0ni90?lis

溫馨提示

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

評論

0/150

提交評論