單鏈表的學生成績管理系統(tǒng)設(shè)計與實現(xiàn)_第1頁
單鏈表的學生成績管理系統(tǒng)設(shè)計與實現(xiàn)_第2頁
單鏈表的學生成績管理系統(tǒng)設(shè)計與實現(xiàn)_第3頁
單鏈表的學生成績管理系統(tǒng)設(shè)計與實現(xiàn)_第4頁
單鏈表的學生成績管理系統(tǒng)設(shè)計與實現(xiàn)_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

長春建筑學院《數(shù)據(jù)結(jié)構(gòu)》課程設(shè)計(論文)基于單鏈表的學生成績管理系統(tǒng)設(shè)計與實現(xiàn)Designandimplementationofthesystemofstudentperformancemanagementbasedonsingletable年級:12級學號:121500103姓名:徐文輝專業(yè):計算機科學與技術(shù)指導老師:常大俊二零一三年十二月摘要學生成績管理系統(tǒng)是典型的信息管理系統(tǒng),是學校教務(wù)管理的重要組成部分,其處理信息量很大。本課程設(shè)計是用C++實現(xiàn)對學生的成績管理作一個簡單的模擬,實質(zhì)是建立學生成績單鏈表,每條記錄由姓名、學號與成績組成,即鏈表中每個結(jié)點由4個域組成,分別為:學號、姓名、成績、存放下一個結(jié)點地址的next域。用菜單選擇操作方式完成五項功能分別寫成五個函數(shù),插入學生成績對應(yīng)建立學生單鏈表的功能,輸出全部學生成績記錄,后三個功能分別對應(yīng)單鏈表的查詢、修改與刪除三大基本操作。該系統(tǒng)中的數(shù)據(jù)采用線性表中的鏈式存儲結(jié)構(gòu)即單鏈表來存儲,用結(jié)構(gòu)體類型和類類型定義每個學生記錄并采用外部文件方式記錄數(shù)據(jù)簡便數(shù)據(jù)的讀取與保存。關(guān)鍵詞:數(shù)據(jù)結(jié)構(gòu),單鏈表,C語言,學生成績管理AbstractStudentachievementmanagementsystemisatypicalmanagementinformationsystem,isanimportantpartoftheschooleducationaladministrationmanagement,thelargeamountofinformation.ThecurriculumdesignisusedtoachieveC++performancemanagementforthestudentstomakeasimplesimulation,theessenceistoestablishstudentsreportlist,eachrecordconsistsofname,andgrade,namelythelinkedlistineachnodeiscomposedof4domains,respectively:nextdomainname,studentnumber,grade,putdownanodeaddressthe.Completethefivefunctionswerewritteninfivefunctionmenutoselectthemodeofoperation,intothestudentachievementestablishedasinglelistoftheoutputfunctionofstudents,allstudentsrecord,afterthethreefunctionscorrespondingtosingletablequery,modifyanddeletethethreebasicoperations.Thesystemdatainthelinkedstoragestructureoflineartableisasinglelinkedlisttostore,usethestructuretypesandclasstypesdefineeachstudentrecordsandtheuseofanexternalfiletoreadandsavedataandsimpledatarecord.目錄摘要 IIAbstract III第1章引言 -1-1.1設(shè)計內(nèi)容 -1-1.2設(shè)計目的 -1-1.3設(shè)計目標 -2-第2章系統(tǒng)需求與功能分析 -4-2.1系統(tǒng)需求分析 -4-2.2系統(tǒng)功能分析 -4-2.3系統(tǒng)性能分析 -5-第3章總體結(jié)構(gòu)分析 -6-3.1系統(tǒng)的結(jié)構(gòu)分析: -6-3.2系統(tǒng)管理流程圖: -6-第4章概要設(shè)計 -12-第5章詳細設(shè)計 -13-第6章調(diào)試分析 -20-第7章測試結(jié)果 -21-第8章結(jié)束語 -24-參考文獻 -25-第1章引言1.1設(shè)計內(nèi)容在程序設(shè)計中,可以用許多種數(shù)據(jù)結(jié)構(gòu)來處理數(shù)據(jù)存儲,對于該學生管理系統(tǒng)而言線形表無疑是最好的選擇,考慮到學生成績管理系統(tǒng)一經(jīng)建立不僅進行查詢而且需要頻繁的進行插入和刪除,所以采用單鏈表存儲結(jié)構(gòu)實現(xiàn)。這種內(nèi)存的動態(tài)分配策略使我們在編寫算法是無需考慮有多少空間資源可用于實現(xiàn)數(shù)據(jù)結(jié)構(gòu),算法在需要內(nèi)存的時候向內(nèi)存申請,當不需要的時候釋放它。為了簡便起見,成績管理系統(tǒng)記錄中只包括學號、姓名、語文成績、數(shù)學成績、英語成和成績存放下一個結(jié)點地址的next域等數(shù)據(jù)項。為學生成績設(shè)計一個類,內(nèi)中包含存儲學生成績信息的單鏈表以及對單鏈表進行各種操作的成員函數(shù)。為各個成績?nèi)缯Z文成績、數(shù)學成績和英語成績等數(shù)據(jù)項建立一個結(jié)構(gòu)體類型,并用此結(jié)構(gòu)類型對學生成績類進行實例化。對學生成績信息要求完成如下功能:(1)插入:將學生的成績信息插入;(2)查詢:查詢滿足條件的學生;(3)修改:對成績信息的數(shù)據(jù)項進行修改;(4)刪除:將滿足條件的學生信息刪除;(5)輸出:將全部的學生成績信息輸出。為了方便數(shù)據(jù)的讀取與保存,我們采用外部文件來進行數(shù)據(jù)保存能實現(xiàn)學生信息數(shù)據(jù)的維護。1.2設(shè)計目的學生成績管理是一個學校不可缺少的部分,它的內(nèi)容對于學校的管理者和學生以及學生家長來說都至關(guān)重要,所以一個良好的學生成績管理系統(tǒng)應(yīng)該能夠為用戶提供充足的信息和快捷的查詢手段。學生成績管理系統(tǒng)對學校加強學生成績管理有著極其重要的作用.由于各個大學都在持續(xù)擴招,學生的數(shù)量日益龐大,對于如何管理如此龐大的學生成績數(shù)據(jù)顯得更為復雜,傳統(tǒng)的手工成績管理不僅工作量大,而且容易出現(xiàn)問題,如:效率低、保密性差,另外時間一長,將產(chǎn)生大量的文件和數(shù)據(jù),這對于查找、更新和維護都帶來了不少的困難。已不能適應(yīng)時代的發(fā)展。隨著科學技術(shù)的不斷提高,計算機科學日漸成熟,其強大的功能已為人們深刻認識,它已進入人類社會的各個領(lǐng)域并發(fā)揮著越來越重要的作用。作為計算機應(yīng)用的一部分,使用計算機對學生成績信息進行管理,具有手工管理所無法比擬的優(yōu)點。例:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優(yōu)點能夠極大地提高管理者管理的效率,也是學校走向科學化、正規(guī)化管理,與世界接軌的重要條件。因此,開發(fā)設(shè)計這樣一套學生成績管理軟件成為很有必要的事情。該學生成績管理系統(tǒng)采用C++語言開發(fā)研制,針對學生成績及其數(shù)據(jù)特點,可以全面實現(xiàn)對學生成績的插入、查詢、修改、刪除和輸出等功能的計算機管理。它能使學生成績數(shù)據(jù)的工作人員從繁重的工作中解脫出來,大大減輕了工作量,減少人為的工作失誤,全面提高學生成績管理的效率,從而使學校對于學生成績的管理水平和技術(shù)水平躍上一個新的臺階。1.3設(shè)計目標此建立學生成績信息管理系統(tǒng),采用計算機對學生成績信息進行管理,進一步提高學?,F(xiàn)代化水平。幫助廣大成績信息管理者提高工作效率、減少工作時間,實現(xiàn)學生及其家長信息查詢工作流程的系統(tǒng)化、公平化、規(guī)范化和自動化,也為廣大在教師提供便利快捷的成績錄入功能。為了保證系統(tǒng)能夠長期、安全、穩(wěn)定、可靠、高效的運行,本課題將達到以下幾個目的:(1)系統(tǒng)處理的準確性系統(tǒng)處理的準確性和及時性是系統(tǒng)的必要性能。在系統(tǒng)設(shè)計和開發(fā)過程中,要充分考慮系統(tǒng)當前和將來可能承受的工作量,使系統(tǒng)的處理能力和響應(yīng)時間能夠滿足高校對信息處理的需求。(2)系統(tǒng)處理的及時性由于學生非常關(guān)心自己的信息正確與否以便及時接受來自學校的學習成績信息,學生成績信息管理功能對于整個系統(tǒng)的功能和性能完成舉足輕重。在系統(tǒng)開發(fā)過程中,必須采用一定的方法保證系統(tǒng)的準確性。(3)系統(tǒng)的保密性學生成績信息是屬于個人的隱私,所以系統(tǒng)在開發(fā)時,應(yīng)該充分考慮系統(tǒng)的保密性,以保證學生的隱私權(quán)。(4)系統(tǒng)的開放性和可擴充性學生成績信息管理系統(tǒng)在開發(fā)過程中,應(yīng)該充分考慮以后的可擴充性。例如學生成績信息管理的方式的改變,學生成績信息的需求也會不斷的更新和完善。第2章系統(tǒng)需求與功能分析2.1系統(tǒng)需求分析1)能完成學生成績的插入、查詢、修改、刪除、輸出等功能;(2)采用單鏈表存儲結(jié)構(gòu)實現(xiàn);(3)所有數(shù)據(jù)以外部文件方式保存。2.2系統(tǒng)功能分析(1)要設(shè)計一個學生成績管理系統(tǒng),其功能包括:①插入函數(shù)Add():將學生成績信息插入到鏈表中;②查詢函數(shù)Search():分別可以按學號和按姓名進行學生成績查詢;③刪除函數(shù)Delete():當需要刪除的學號和姓名一致時則刪除對應(yīng)的學生記錄;④修改函數(shù)Modify():修改指定的學生成績信息;⑤輸出函數(shù)Show():輸出全部學生成績信息;⑥菜單函數(shù)Menu():為程序的菜單函數(shù)為實現(xiàn)各種功能提供便捷;⑦讀取數(shù)據(jù)函數(shù)Read():從外部文件讀取學生成績信息;⑧保存數(shù)據(jù)函數(shù)Save():將數(shù)據(jù)保存到外部文件中。(2)線性表的鏈接存儲結(jié)構(gòu)稱為單鏈表,單鏈表使用一組任意的存儲單元存放線性表的元素,這組存儲單元可以連續(xù)也可以不連續(xù),甚至可以零散分布在內(nèi)存中的任意位置。為了正確表示元素之間邏輯關(guān)系,每個存儲單元在存儲數(shù)據(jù)元素的同時,還必須存儲其后繼元素所在地址信息,這個地址信息稱為指針,這兩部分組成了數(shù)據(jù)元素的存儲映像,稱為結(jié)點,結(jié)點結(jié)構(gòu)如圖2.1所示。圖2.1單鏈表的結(jié)點構(gòu)造設(shè)p是一個指針變量,則p的值是一個指針。設(shè)指針p指向某個結(jié)點,則該結(jié)點用*p表示,在單鏈表中,結(jié)點p由兩個域組成:存放數(shù)據(jù)元素的部分和存放后繼結(jié)點地址的指針部分,分別用p->data和p->next來標識,p->next指向結(jié)點ai+1,其指針與結(jié)點之間關(guān)系如圖2.2所示。圖2.2指針與結(jié)點之間關(guān)系的示意圖2.3系統(tǒng)性能分析1.硬件環(huán)境處理器:CPU主頻在500MHz以上內(nèi)存:128MB以上硬盤空間:10MB。2.軟件環(huán)境操作系統(tǒng):Windows98/Me/NT/2000/XP(推薦使用Windows2000/XP)。調(diào)試環(huán)境:VisualC++及以上版本。第3章總體結(jié)構(gòu)分析3.1系統(tǒng)的結(jié)構(gòu)分析:通過對學生成績信息管理系統(tǒng)的功能分析,可以定義出系統(tǒng)的總體結(jié)構(gòu)模塊圖,如圖3.1所示。學生成績管理系統(tǒng)學生成績管理系統(tǒng)學生成績插入學生成績查詢學生成績刪除學生成績修改學生成績輸出學生成績讀取學生成績保存圖3.1學生成績管理系統(tǒng)總體結(jié)構(gòu)設(shè)計3.2系統(tǒng)管理流程圖:前面的分析中已經(jīng)定義了系統(tǒng)各個模塊,屬于靜態(tài)建模的范圍。在系統(tǒng)運行時刻的動態(tài)模型應(yīng)該由系統(tǒng)的流程決定。當用戶運行該系統(tǒng)后可以來進行學生成績信息插入管理、學生成績信息查詢管理、學生成績信息刪除管理、學生成績信息修改管理及學生成績信息輸出等操作,具體的流程如圖3.2所示。進入系統(tǒng)數(shù)據(jù)讀入查詢進入系統(tǒng)數(shù)據(jù)讀入查詢修改刪除輸出數(shù)據(jù)保存退出系統(tǒng)不保存YN主模塊應(yīng)負責應(yīng)用程序的主界面,由它調(diào)用其他模塊.因此主模塊應(yīng)具有操作性好、界面清晰的特點,使用戶能夠很方便地找到所需功能。根據(jù)功能需求的結(jié)果分析,主界面應(yīng)該由學生成績信息插入管理,學生成績信息查詢管理、學生成績信息修改管理、學生成績信息刪除管理和學生成績信息輸出管理組成,可以通過輸入相應(yīng)的數(shù)字進入相應(yīng)的功能模塊。4系統(tǒng)詳細設(shè)計和系統(tǒng)實現(xiàn)系統(tǒng)總體設(shè)計完成后,就可以根據(jù)需求對各個模塊來進行實現(xiàn)了。在本系統(tǒng)中需要編碼實現(xiàn)的主要有學生成績信息插入、學生成績信息查詢、學生成績信息修改、學生成績信息刪除和學生成績信息輸出等5個模塊。(1)學生成績插入模塊添加的信息包括學號(不允許重復)、姓名(不允許重復)、語文成績、數(shù)學成績和英語成績。流程圖如下圖4.1所示。開始插入數(shù)據(jù)開始插入數(shù)據(jù)輸入學生成績信息調(diào)用類成員函數(shù)采用單鏈表保存數(shù)據(jù)結(jié)束圖4.1插入模塊流程圖本程序采用的是尾插法,就是每次將新申請的結(jié)點插在終端結(jié)點的后面,其執(zhí)行過程如圖4.2所示。圖4.2尾插法建立單鏈表操作示意圖(2)學生成績查詢模塊按姓名和學號查找學生成績的流程圖分別如下圖4.3所示。結(jié)束結(jié)束輸入要查找姓名判斷抱歉沒有該學生輸出該學生的信息按姓名查找開始NY圖4.3按姓名查找學生成績信息流程圖在單鏈表中,即使知道被訪問結(jié)點的位置i,也不能像順序表那樣直接按序號訪問,而只能從頭指針出發(fā),設(shè)置一個工作指針p,順next域逐個結(jié)點往下搜索。當p指向某個結(jié)點時判斷是否為第i個結(jié)點,若是則查找成功;否則,將工作指針p后移,即將p指向原來所指結(jié)點的后繼結(jié)點。直到p為NULL時查找失敗。單鏈表查找過程如圖4.4所示。圖4.4單鏈表查找過程的示意圖按學號查詢學生成績信息同按姓名查找學生成績信息,此處不再詳細列出。(3)學生成績修改模塊首先要查找與要修改數(shù)據(jù)相匹配的信息,若沒有則返回失敗。否則把相應(yīng)的信息輸出,然后再重新輸入新的數(shù)據(jù)并保存到單鏈表。(4)學生成績刪除模塊當選擇刪除功能時,首先輸入要刪除的同學的姓名,然后輸入要刪除的同學的學號,如果該同學存在并且姓名與學號匹配的上,則進行刪除操作,否則返回失敗。其流程圖4.5如下:開始刪除操作開始刪除操作輸入姓名輸入學號姓名學號一致執(zhí)行刪除功能返回主菜單NY圖4.5刪除學生信息模塊流程圖刪除操作定義為將單鏈表的第i個結(jié)點刪去。因為在單鏈表中結(jié)點ai存儲地址在其前驅(qū)結(jié)點ai-1的指針域,所以必須首先找到ai-1的存儲地址p,然后令p的next域指向ai的后繼結(jié)點,即把結(jié)點ai從鏈上摘下來,最后釋放結(jié)點ai的存儲空間,如圖4.6所示。圖4.6在單鏈表中刪除結(jié)點指針的變化情況(5)學生成績輸出模塊從單鏈表表頭遍歷整個單鏈表,將所有數(shù)據(jù)輸出。其部分代碼如下:voidFunction::Show(){ charchoose; Student*temp; system("cls"); temp=Student_First->Next; if(!temp) { cout<<"文件無數(shù)據(jù)\n\n"<<endl; cout<<"1.返回主菜單"<<endl; cin>>choose; while(choose!='1') { cout<<"1.返回主菜單"<<endl; cin>>choose; } Menu(); } else { cout<<"姓名\t學號\t語文成績\t數(shù)學成績\t英語成績\n"; while(temp!=NULL) { temp->Out(); temp=temp->Next; } } cout<<"1.返回主菜單"<<endl; cin>>choose; while(choose!='1') { cout<<"1.返回主菜單"<<endl; cin>>choose; } Menu();}第4章概要設(shè)計利用單鏈表設(shè)計一個學生成績管理系統(tǒng),使之提供以下功能:

(1)錄入學生信息記錄

(2)查詢學生信息記錄

(3)刪除學生信息記錄

(4)修改學生信息記錄

(5)顯示全部學生信息記錄

需求說明:

(1)學生信息包括學號、姓名、性別、數(shù)學成績、英語成績、計算機成績、總分、平均分、名次,并且要求學號不重復;

(2)錄入記錄可以從以二進制形式存儲的數(shù)據(jù)文件中讀入,也可以從鍵盤逐個輸入學生記錄。當從數(shù)據(jù)文件中讀入記錄時,它就是在以記錄為單位存儲的數(shù)據(jù)文件中,將記錄逐條復制到單鏈表中。

(3)對學生信息應(yīng)能夠分別按學號及按姓名兩種方式進行查詢,要求能返回所有符合條件的學生的信息;若找到該學生的記錄,它則返回該學生記錄的指針。否則,它返回一個值為NULL的空指針,并打印出未找到該學生記錄的提示信息。

(4)更新學生信息:要求可以對其進行修改、刪除、排序、插入等操作,進行了這些操作之后,需要將修改的數(shù)據(jù)存入源數(shù)據(jù)文件;

(5)輸出要求:對學生記錄存盤操作,即將單鏈表中的各節(jié)點中存儲的學生記錄信息寫入數(shù)據(jù)文件中,并將單鏈表中存儲的學生記錄信息以表格的形式在屏幕上打印出來;

(6)學生信息的顯示要求有一定的規(guī)范格式;

(7)并要求在此過程中能夠盡可能的兼容用戶使用過程中的異常情況。

二、總體設(shè)計

初步提出解決方案,以及系統(tǒng)的體系結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu)的設(shè)計方案,并寫出書面總體設(shè)計說明書。

三、詳細設(shè)計

四、編寫代碼

調(diào)試總結(jié)第5章詳細設(shè)計/******************************錄入模板************************/voidAdd()//錄入學生成績信息函數(shù){ charname[20];intno; Classscore; charchoose; Student*f1,*p,*f2; system("cls"); f1=Student_First; f2=Student_First->Next; while(f1->Next) f1=f1->Next; do {p=newStudent; Printf("請輸入您要添加的學生成績信息:\n"); Printf("請輸入學生姓名:"); Sccanf(“%c”,&name); while(f2) { if(strcmp(f2->GetName(),name)==0) { printf("該學生已存在,請確定姓名!\n\n"); Printf("請輸入姓名:"); Sccanf(“%c”,&name); break; } f2=f2->Next; } printf("請輸入學號:"); Scanf(“%c”,no); printf("請輸入語文成績:");Scanf(“%d”,&score.Chinese); printf("請輸入數(shù)學成績:");Scanf(“%d”,&score.Math); printf("請輸入英語成績:"); Scanf(“%d”,&score.English); p->Set(name,no,score); f1->Next=p; p->Next=NULL; f1=f1->Next; Printf("是否繼續(xù)輸入信息?(Y\\N)\n"); Scanf(“%c”,&choose); }while(choose=='y'||choose=='Y'); Save(); Printf("1.返回主菜單\n"); Scanf(“%d”,&choose); while(choose!='1') { printf("1.返回主菜單"); Scanf(“%d”,&choose); } Menu();}/******************************刪除模板************************/voidDelete()//刪除信息函數(shù){ charname[20]; intno; charchoose; Student*temp,*p; system("cls"); p=temp=Student_First->Next;Printf("請輸入姓名:");Scanf(“%c”,&name); Printf("輸入學號:"); Scanf(“%c”,&no); while(temp) {if(strcmp(temp->GetName(),name)==0&&temp->GetNo()==no)//判斷該學生信息是否存在 {printf("姓名\t學號\t語文成績\t數(shù)學成績\t英語成績\n"); temp->Out(); printf("\n是否刪除(Y/N)");Scanf(“%c”,&choose); if(choose=='y'||choose=='Y') { p->Next=temp->Next; deletetemp; Printf("刪除成功:\n"); } break; } p=temp; temp=temp->Next; }Save(); Printf("1.返回主菜單\n2.繼續(xù)刪除"); Scanf(“%c”,&choose);while(choose!='1'&&choose!='2') { printf("1.返回主菜單\n2.繼續(xù)刪除"); Scanf(“%c”,&choose); } if(choose=='1') Menu(); elseif(choose=='2') Delete();}/******************************修改模板************************/voidModify()//修改學生信息函數(shù){ charchoose,name[20]; Student*temp,*p;intno; Classscore; system("cls"); temp=p=Student_First; Printf("請輸入您要修改的學生姓名:"); Scanf(“%c”,&name); while(temp) { if(strcmp(temp->GetName(),name)==0) { Printf("姓名\t學號\t語文成績\t數(shù)學成績\t英語成績\n"; temp->Out(); Printf("請輸入姓名:"); Scanf(“%c”,&name); Printf("請輸入學號:");Scanf(“%c”,&no); Printf("請輸入語文成績:"); Scanf(“%c”,&score.Chinese); Printf("請輸入數(shù)學成績:");Scanf(“%c”,&score.Math); Printf("請輸入英語成績:");Scanf(“%c”,&score.English);temp->Set(name,no,score); break; } temp=temp->Next; } Save(); Printf("修改成功!"); Printf("1.返回主菜單\n2.繼續(xù)修改"); Scanf(“%c”,&choose); while(choose!='1'&&choose!='2') { Printf("1.返回主菜單\n2.繼續(xù)修改"); Scanf(“%c”,&choose); } if(choose=='1') Menu(); elseif(choose=='2') Modify();}/******************************查找模板************************/voidSearch(){ intflag(0); charchoose; chart1[20]; intt2; system("cls"); Student*temp=Student_First->Next;do {printf("輸入查詢方式:\n1.按姓名查詢\n2.按學號查詢\n"); Scanf(“%c”,&choose); if(choose=='1') { printf("請輸入您要查詢的姓名:"); Scanf(“%d”,&t1); while(temp) { if(strcmp(t1,temp->GetName())==0) { flag=1; break; } temp=temp->Next; } if(flag==0) Printf("\n無該學生的信息\n"); else { printf("姓名\t學號\t語文成績\t數(shù)學成績\t英語成績\n"); temp->Out(); } break; } elseif(choose=='2') { printf("請輸入您要查詢的學號"); Scanf(“%d”,&t2); while(temp) { if(t2==temp->GetNo()) { flag=1; break; } temp=temp->Next; } if(flag==0) printf("\n無該學生的信息\n"<<endl); else { printf("姓名\t學號\t語文成績\t數(shù)學成績\t英語成績\n"); temp->Out(); } break; } }while(choose!='1'||choose!='2');printf("\n1.返回主菜單\n2.繼續(xù)查詢"); Scanf(“%c”,&choose); while(choose!='1'&&choose!='2') { printf("1.返回主菜單\n2.繼續(xù)查詢"); Scanf(“%c”,&choose;); } if(choose=='1') Menu(); elseif(choose=='2') Search(); }第6章調(diào)試分析對以上代碼在DEVC++環(huán)境下運行,進行不斷調(diào)試,發(fā)現(xiàn)錯誤,修改錯誤。(1)開始程序運行輸入學生數(shù)據(jù)時,沒有設(shè)置結(jié)束語造成了無限循環(huán)的結(jié)果。(2)開始執(zhí)行輸入函數(shù),按學號順序輸入學生的成績,輸完后執(zhí)行顯示功能,學生成績記錄是空的無法顯示的,試著在其中增加一些語句,把學生信息寫入文件中,然后再從文件中讀取,接著在運行程序,學生成績便可以正確的輸出了。(3)開始時,先把成績總分排序,再插入一個學生的成績,執(zhí)行顯示功能,雖然插入的學生的成績能正常插入,但該學生的名次為0。后來,在插入成績之后,調(diào)用排序函數(shù),把所有成績重新排序一次,插入的學生便可以正常排序了。(4)為了輸入更多的學生在輸入函數(shù)中設(shè)了一個無限循環(huán),可以輸入無數(shù)個學生的成績信息,當學號為0的時候則停止輸入。(5)輸入太多個學生的成績時,屏幕顯示不能控制為一頁一頁顯示,所以為了方便起見,不要輸入太多記錄,十個為最佳。(6)運行程序時還有許多小錯誤比如少加;“”等,或把;錯寫成:,等平時多注意一下就行。(7)在編寫修改函數(shù)時,發(fā)現(xiàn)總成績沒有變化,因為循環(huán)語句之后沒有進行數(shù)據(jù)的重新賦值,以至于新的數(shù)據(jù)沒能插進順序表。第7章測試結(jié)果1、運行主界面如圖7.1所示:圖7.1運行主界面①當選擇1插入學生成績信息功能時,如圖7.2所示。圖7.2插入學生成績信息實現(xiàn)②返回主菜單后選擇2查詢學生成績信息,運行結(jié)果按由姓名查詢和按學號查詢分別如圖7.3和圖7.4所示。圖7.3按姓名查找相關(guān)信息實現(xiàn)圖7.4按學號查找相關(guān)信息實現(xiàn)③當在主菜單中選擇3時,則進行刪除功能。其運行結(jié)果如圖7.5所示。圖7.5刪除學生信息功能實現(xiàn)④當在主菜單中選擇4時,則進行學生信息修改功能。其運行結(jié)果如圖7.6所示。圖7.6修改學生信息功能實現(xiàn)⑤當在主菜單中選擇5時,則進行學生信息輸出功能。其運行結(jié)果如圖7.7所示。圖7.7輸出學生信息功能實現(xiàn)第8章結(jié)束語在本次課程設(shè)計過程中,曾遇到過不少問題,單靠我個人的努力,很難按時完成該課程設(shè)計,在此,我衷心感謝我的指導老師。常老師認真負責的工作態(tài)度,嚴謹?shù)闹螌W精神和深厚的理論水平都使我獲益非淺。從一遍一遍得修改到最后定稿的各個環(huán)節(jié)給予細心指導,使我在知識和能力上都得到了極大的提高,在此表示衷心地感謝。在整個過程中,我查閱了大量的關(guān)于學生成績管理系統(tǒng)的資料和網(wǎng)站,在老師的指導和自己的努力下,終于完成了本次課程設(shè)計。通過這次數(shù)據(jù)結(jié)構(gòu)課程設(shè)計的實驗,在解決問題的過程中,充分體會到了數(shù)據(jù)結(jié)構(gòu)這門課程對于軟件設(shè)計的重要性,也體會到了數(shù)據(jù)結(jié)構(gòu)+算法=程序這句話的真正含義,一個實際問題的解決第一步就是要依賴于良好的抽象思維的,將實際問題轉(zhuǎn)化為相應(yīng)的數(shù)據(jù)結(jié)構(gòu),只有這一步做好了,才能采取相應(yīng)的算法和優(yōu)化方法解決問題和解決好問題。同時我還要感謝指導過我的每一位老師,他們給了我很大的指導和幫助,還有在我陷入困境時幫助過我的同學們。另外,還要感謝學校領(lǐng)導、輔導員,為我們提供了良好的設(shè)計環(huán)境以及各方面的支持。參考文獻唐國民,王國鈞.《數(shù)據(jù)結(jié)構(gòu)》.第一版.清華大學出版社,2009年鄭山紅,李萬龍,于秀霞.《C語言程序設(shè)計》.第二版.人民郵電出版社,2012年.

企業(yè)自我評估表一、貴公司為整合進行的準備程度如何?在本練習中,您將從八個方面對貴公司進行自我評估。評估表中所列項目是您有效地制訂整合營銷傳播計劃的核心所在。根據(jù)貴公司目前的實際情況,對下列各項描述分別指出你同意或不同意的程度。請運用“1到5”這樣一個等級指標來評分,其中得分“5”代表該項描友誼述非常符合貴公司的情況:相反,得分“1”表示相當不符合。在每條陳述后的空白處填寫您的評分,然后將所有分數(shù)累加,從而可以知道貴公司為開展整合營銷傳播準備的程度。⒈顧客信息及理解a)我們的市場研究能為公司提供可靠的顧客需求信息。b)我們利用數(shù)據(jù)庫技術(shù)來有效地跟蹤顧客行為及顧客消費模式。⒉有說服力的、以顧客為中心的信息a)我們能使據(jù)顧客的偏好、態(tài)度、需求和購買習慣來對顧客進行有效的、有說服力的傳播。b)我們總是通過測試不同信息和傳播方式來確定最有效的、能獲得最大顧客反應(yīng)的信息及傳播方式。⒊傳播活動的綜效和一致性a)我們能使各種傳播方式傳達一致的信息。b)我們所有的營銷傳播人員能協(xié)調(diào)彼此的工作,以獲得最大限度的綜效(synergy)和投資回報。⒋媒體傳播規(guī)劃a)我們了解我們的顧客經(jīng)常接觸及偏愛的傳播媒體。b)我們使用“零基”方法來選擇媒體(包括傳統(tǒng)的接觸點和非傳統(tǒng)的接觸點)。⒌以顧客為中心的組織結(jié)構(gòu)a)我們圍繞研究院和顧客細分市場(而不是內(nèi)部職能)來建立組織結(jié)構(gòu)。b)我們的銷售、營銷、傳播和客服人員能密切合作來擬訂以顧客為中心的銷方案。⒍相應(yīng)的薪酬體系a)我們將部分員工的薪資與公司收入和利潤的增加相掛鉤。b)我們將部分員工的薪資與顧客滿意度目標的達成情況相掛鉤。⒎封閉回路投資系統(tǒng)a)我們建立了相應(yīng)的系統(tǒng)來跟蹤顧客對營銷傳播活動的反應(yīng)。b)我們根據(jù)預期顧客回報來做營銷傳播投入決策。⒏財務(wù)投資和財務(wù)回報a)我們建立了一個財務(wù)模型來評估營銷和傳播方案的實際效果。b)我們了解自己品牌的價值。得分:二、營銷傳播現(xiàn)狀評估(整合傳播第一階段評估)根據(jù)貴公司目前的實際情況,就下面所列的各項描述,指出您同意或不同意的程度。請運用“1到5”這樣一個等級指標,其中得分“5”代表您認為該項描述非常符合貴組織的情況,相反,得分“1”表示相當不符合。在每條陳述后面的空白處寫下您的評分,然后將所有分數(shù)累加,就可以確定貴公司為新世紀營銷傳播所作的準備程度。我們的對外傳播方案是整合一致的、互動的。我們的營銷傳播方案能整合各項傳播活動,從而可以統(tǒng)一、協(xié)調(diào)地向渠道顧客和最終使用者傳達信息。我們的顧客已經(jīng)迅速實現(xiàn)了信息化(采用具有互動性的信息技術(shù)),并且希望我們也能通過電子和無線方式來和他們進行聯(lián)系。我們不但使用電子的、互動的方式來接觸顧客,而且也使用傳統(tǒng)的傳播媒體。我們致力于聆聽顧客的意見,并且使他們?nèi)菀着c我們聯(lián)絡(luò)、向我們提供反饋信息以及幫助我們獲知他們的需要。我們格外重視顧客維系。得分:

三、評價貴公司在整合品牌第二階段的狀態(tài)這6條內(nèi)容是否充分描述了貴公司的實際情況?5=非常贊同,1=完全不贊同在自我評估表的末尾填寫累加得分。最高得分:30關(guān)于整合品牌傳播第二階段的評估我們設(shè)計了有效的方案來訓練營銷人員、從而使他們知道如何描述我們的品牌、產(chǎn)品和服務(wù)。通過市場研究和顧客滿意研究,我們對顧客偏好和產(chǎn)品品質(zhì)驅(qū)動因素有了透徹的理解。3、營銷傳播人

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論