數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告(學(xué)生作業(yè)完成情況管理系統(tǒng))_第1頁(yè)
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告(學(xué)生作業(yè)完成情況管理系統(tǒng))_第2頁(yè)
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告(學(xué)生作業(yè)完成情況管理系統(tǒng))_第3頁(yè)
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告(學(xué)生作業(yè)完成情況管理系統(tǒng))_第4頁(yè)
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告(學(xué)生作業(yè)完成情況管理系統(tǒng))_第5頁(yè)
已閱讀5頁(yè),還剩18頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、目 錄1. 需求分析22. 概要設(shè)計(jì)2 2.1 學(xué)生作業(yè)完成情況管理系統(tǒng)2 2.1.1 程序設(shè)計(jì)說(shuō)明2 2.1.2 數(shù)據(jù)結(jié)構(gòu)類型4 2.2 圖的建立及存儲(chǔ)4 2.2.1 程序設(shè)計(jì)說(shuō)明4 2.2.2 數(shù)據(jù)結(jié)構(gòu)類型43.詳細(xì)設(shè)計(jì)5 3.1 算法流程圖5 3.1.1 學(xué)生作業(yè)完成情況管理系統(tǒng)5 3.1.2 圖的建立及存儲(chǔ)64.調(diào)試分析(運(yùn)行截圖)19 4.1學(xué)生作業(yè)完成情況管理系統(tǒng)19 4.2圖的建立及存儲(chǔ)305.課程總結(jié)326.參考文獻(xiàn)331. 需求分析(1) 學(xué)生作業(yè)完成情況管理系統(tǒng)假設(shè)某門課程一學(xué)期要留10次作業(yè),每次老師要進(jìn)行批改,給出分?jǐn)?shù)后還要進(jìn)行登記。學(xué)期期末要根據(jù)每次作業(yè)的成績(jī)計(jì)算出最

2、終的平時(shí)成績(jī)(滿分100)。該程序應(yīng)該具有下列功能:(1) 輸入信息;(2) 輸出信息;(3) 給定條件,修改、刪除相應(yīng)信息; (4) 按條件統(tǒng)計(jì)。(2) 圖的建立及存儲(chǔ)建立圖的存儲(chǔ)結(jié)構(gòu)(圖的類型可以是有向圖、無(wú)向圖),能夠輸入圖的頂點(diǎn)和邊的信息,并存儲(chǔ)到相應(yīng)存儲(chǔ)結(jié)構(gòu)中,而后輸出圖的鄰接矩陣。 應(yīng)用環(huán)境設(shè)定給定某類圖的頂點(diǎn)和邊的相關(guān)信息,要求輸出該圖的鄰接矩陣。用戶界面命令行界面,用戶選擇所要建立的圖的類型,輸入相關(guān)頂點(diǎn)和邊的信息,然后輸出該圖的鄰接矩陣。 輸入方式首先輸入所要建立的圖形類型的代碼,然后輸入頂點(diǎn)vexnum和邊的數(shù)量arcnum,再輸入頂點(diǎn)信息,邊的2個(gè)端點(diǎn)v1和v2,如果建立

3、的是網(wǎng)則還要輸入權(quán)值w。輸出方式輸出的是一個(gè)鄰接矩陣,采用for循環(huán)嵌套,輸出該圖的鄰接矩陣。數(shù)據(jù)存儲(chǔ)方式全部在內(nèi)存存放,不使用硬盤上的文件或其他數(shù)據(jù)源,程序執(zhí)行過(guò)程中和結(jié)束后不保存數(shù)據(jù)。程序功能:1. 輸入圖的類型;2. 輸入相應(yīng)的圖的頂點(diǎn)和邊的相關(guān)信息;3. 得到圖的鄰接矩陣。2.概要設(shè)計(jì)2.1學(xué)生作業(yè)完成情況管理系統(tǒng) 2.1.1程序設(shè)計(jì)說(shuō)明 程序整體分為登錄部分、獲得數(shù)據(jù)部分、數(shù)據(jù)處理及處理信息反饋部分、數(shù)據(jù)導(dǎo)出保存部分,如下結(jié)構(gòu)圖1、2所示:登錄部分登陸注冊(cè)退出圖 1學(xué)生作業(yè)完成情況管理程序輸入某學(xué)生的學(xué)號(hào),刪除該學(xué)生的個(gè)人信息手動(dòng)輸入學(xué)生姓名、學(xué)號(hào)、班級(jí)、各次作業(yè)成績(jī)從文件中導(dǎo)入上次

4、操作已保存和修改的數(shù)據(jù)輸入班號(hào),顯示該班所有學(xué)生的十次作業(yè)完成情況輸入某學(xué)生的學(xué)號(hào),修改該學(xué)生的個(gè)人信息通過(guò)選擇,顯示各類統(tǒng)計(jì)數(shù)據(jù)顯示本程序的執(zhí)行主菜單清屏,清除這前所有運(yùn)行結(jié)果,方便之后的運(yùn)行輸入學(xué)號(hào),顯示某位學(xué)生的十次作業(yè)完成情況圖 2該程序具有下列功能:(1) 輸入信息;(2) 輸出信息;(3) 給定條件,修改、刪除相應(yīng)信息; (4) 按條件統(tǒng)計(jì)。 2.1.2數(shù)據(jù)結(jié)構(gòu)類型typedef struct student /學(xué)生信息鏈表 char name10; int schoolnumber; int classnumber; float score10; struct student *

5、next; stu,*stupt;stupt st=NULL;/學(xué)生信息的頭指針stupt qt=NULL;/學(xué)生信息的尾指針FILE* fp;/文件指針2.2圖的建立及存儲(chǔ)2.2.1程序設(shè)計(jì)說(shuō)明 本程序通過(guò)輸入有向圖與無(wú)向圖的頂點(diǎn)、邊、權(quán)值等信息,存儲(chǔ)至用數(shù)組建立的鄰接矩陣,并輸出該鄰接矩陣圖。2.2.2數(shù)據(jù)結(jié)構(gòu)類型基本操作:typedef enum DG,UDGGraphKind;/有向圖,無(wú)向圖typedef struct ArcCell VrType adj; / 頂點(diǎn)關(guān)系類型。對(duì)無(wú)權(quán)圖,用1或0表示相鄰否;對(duì)帶權(quán)圖,則為權(quán)值類型。InfoType *info; / 該弧相關(guān)信息的指針

6、ArcCell, AdjMatrix2020;typedef struct VertexType vertex20; / 頂點(diǎn)向量AdjMatrix arcs; / 鄰接矩陣 int vexnum, arcnum; / 圖的當(dāng)前頂點(diǎn)數(shù)和弧(邊)數(shù)GraphKind kind; / 圖的種類標(biāo)志MGraph;CreateGraph(MGraph &G) 初始條件:圖G未創(chuàng)建。 操作結(jié)果:創(chuàng)建一個(gè)圖G。 CreateUDG(MGraph &G); 初始條件:無(wú)向圖G未創(chuàng)建。 操作結(jié)果:創(chuàng)建一個(gè)無(wú)向圖并求出其鄰接矩陣。 CreateDG(MGraph &G); 初始條件:有向圖G未創(chuàng)建。 操作結(jié)果:

7、創(chuàng)建一個(gè)有向圖并求出其鄰接矩陣。D Display(MGraph G)。 初始條件:圖G已創(chuàng)建。 操作結(jié)果:輸出圖G的鄰接矩陣。3. 詳細(xì)設(shè)計(jì)3.1算法及流程圖3.1.1 學(xué)生作業(yè)完成情況管理系統(tǒng)程序算法:手動(dòng)輸入學(xué)生信息:void inpu(stupt p)int n;int m=0;int flag;while(mscorem=0;m+;printf(請(qǐng)輸入:姓名:);scanf(%s,p-name);clear();printf(請(qǐng)輸入:學(xué)號(hào):);scanf(%d,&p-schoolnumber);clear();printf(請(qǐng)輸入:班級(jí)(如:101):);scanf(%d,&p-cl

8、assnumber);clear();doprintf(請(qǐng)輸入:第幾次作業(yè)(110):);scanf(%d,&n);clear();printf(請(qǐng)輸入:該次作業(yè)成績(jī):);scanf(%f,&p-scoren-1);clear();/清空緩沖區(qū)printf(是否繼續(xù)輸入該生成績(jī),退出請(qǐng)按q,其他鍵繼續(xù):);flag=getchar();clear();/清空緩沖區(qū)堆積while(flag!=q);從文件中導(dǎo)入學(xué)生信息:void readfile(stupt &st,FILE* fp)char flag,flag_1;char filename90;printf(如導(dǎo)入前有過(guò)手動(dòng)輸入,請(qǐng)先導(dǎo)出至

9、文件后再進(jìn)行導(dǎo)入,否則輸入部分的數(shù)據(jù)將丟失!n);printf(任意鍵繼續(xù),退出請(qǐng)按q:);flag_1=getchar();/等待接收一個(gè)字符clear();if(flag_1=q)return;lab_2:printf(請(qǐng)選擇:a.程序默認(rèn)路徑導(dǎo)入(之前導(dǎo)出時(shí)需要是默認(rèn)導(dǎo)出) b.自定義導(dǎo)入路徑(請(qǐng)確保導(dǎo)入路徑合法):);flag=getchar();clear();if(flag=b)printf(請(qǐng)輸入導(dǎo)入路徑(請(qǐng)確保導(dǎo)入路徑合法!)(如c:.student_homework_infor.txt):);scanf(%s,filename);clear();if(access(filen

10、ame,0)=1)/確定文件或文件夾的訪問(wèn)權(quán)限即檢查文件的存取方式,如果存取方式有效,則返回0,否則返回1printf(路徑不合法或文件不存在,請(qǐng)重新選擇!n);goto lab_2;fp=fopen(filename,rb);if(fp=NULL)printf(打開(kāi)%s文件失敗,請(qǐng)返回主菜單重試!n,filename);return;elsefilep_read_to_st(st,fp);/導(dǎo)入文件fclose(fp);else if(flag=a)fp=fopen(student_homework_infor.txt,r);if(access(student_homework_infor.

11、txt,0)=1)printf(文件不存在!n);if(fp=NULL)printf(打開(kāi)程序所在目錄下的student_homework_infor.txt文件失敗,請(qǐng)返回上層菜單重試!n);return;else filep_read_to_st(st,fp);fclose(fp);elseprintf(非法輸入!程序?qū)⒎祷厣蠈硬藛?n);查詢某學(xué)生作業(yè)完成情況:void search_1(stupt&st,int snum)stupt p,q;if(st=NULL)printf(未建立學(xué)生信息表,請(qǐng)返回上層菜單輸入或?qū)胨袑W(xué)生的信息n);return;elsep=st;q=p-next

12、;if(p-schoolnumber=snum)printf_score(p); /查找成功輸出并返回上級(jí)函數(shù)return;while(q!=NULL)if(q-schoolnumber=snum)printf_score(q); /查找成功輸出并返回上級(jí)函數(shù)return;q=q-next;/下一個(gè)printf(查詢失敗,該學(xué)號(hào)學(xué)生信息不存在n);查詢某班級(jí)所有學(xué)生成績(jī):void search_2(stupt st,int clnum)stupt p,q;int f=0;if(st=NULL)printf(未建立學(xué)生信息表,請(qǐng)返回主菜單輸入所有學(xué)生的信息n);return;elsep=st;q

13、=p-next;printf(班級(jí) 姓名 學(xué)號(hào) 成績(jī)1 成績(jī)2 成績(jī)3 成績(jī)4 成績(jī)5 成績(jī)6 成績(jī)7 成績(jī)8 成績(jī)9 成績(jī)10n);printf(n);if(p-classnumber=clnum)printf_infor(p);f+;/查找成功輸出while(q!=NULL)if(q-classnumber=clnum)printf_infor(q);f+;/查找成功輸出q=q-next;/下一個(gè)if(f=0)printf(沒(méi)有該班級(jí)學(xué)生信息n);修改學(xué)生信息:void change(stupt&p)char a;printf_help_2();while(a=getchar()!=0)c

14、lear();printf(班級(jí) 姓名 學(xué)號(hào) 成績(jī)1 成績(jī)2 成績(jī)3 成績(jī)4 成績(jī)5 成績(jī)6 成績(jī)7 成績(jī)8 成績(jī)9 成績(jī)10n);printf(n);printf_infor(p);switch(a)case 1:printf(您選擇了:1.修改姓名n);change_name(p);break;case 2:printf(您選擇了:2.修改班級(jí)n);change_class(p);break;case 3:printf(您選擇了:3.修改成績(jī)n);change_score(p);break;default:printf(非法輸入,請(qǐng)重新選擇!n);break;printf_help_2()

15、;if(a=0)clear();printf(您選擇了:0.返回n);刪除學(xué)生信息:void delete_pt(stupt&st,int snum)stupt p,q;if(st=NULL)printf(未建立學(xué)生信息表,請(qǐng)返回主菜單輸入或?qū)胨袑W(xué)生的信息n);return;elsep=st;q=p-next;if(p-schoolnumber=snum)st=q; /查找成功刪除并返回上級(jí)函數(shù)printf(班級(jí) 姓名 學(xué)號(hào) 成績(jī)1 成績(jī)2 成績(jī)3 成績(jī)4 成績(jī)5 成績(jī)6 成績(jī)7 成績(jī)8 成績(jī)9 成績(jī)10n);printf(n);printf_infor(p);free(p);printf

16、(上面信息刪除成功!n);return;while(q!=NULL)if(q-schoolnumber=snum)p-next=q-next; /查找,成功刪除并返回上級(jí)函數(shù)printf(班級(jí) 姓名 學(xué)號(hào) 成績(jī)1 成績(jī)2 成績(jī)3 成績(jī)4 成績(jī)5 成績(jī)6 成績(jī)7 成績(jī)8 成績(jī)9 成績(jī)10n);printf(n);printf_infor(q);free(q);printf(上面信息刪除成功!n);return;else/下一個(gè)p=q;q=p-next;printf(刪除失敗,該學(xué)號(hào)學(xué)生信息不存在n);顯示各項(xiàng)統(tǒng)計(jì)數(shù)據(jù):void statistics_result(stupt &st)/統(tǒng)計(jì)結(jié)果c

17、har flag;printf_help_3();while(flag=getchar()!=0)clear();switch(flag)case 1:printf(您選擇了:1.按學(xué)號(hào)查看學(xué)生平均成績(jī)n);snum_check_aver(st);break;case 2:printf(您選擇了:2.按班級(jí)查看學(xué)生平均成績(jī)n);cnum_check_aver(st);break;case 3:printf(您選擇了:3.查看學(xué)生平均成績(jī)降序序列n);descending_order_check(st);break;default:printf(非法輸入,請(qǐng)重新選擇!n);clear();bre

18、ak;printf_help_3();if(flag=0)printf(您選擇了:0.返回主菜單n);clear();Printf_help_1();導(dǎo)出信息至文件:void creat_files(stupt st,FILE* &fp)char flag;char filename90;lab_1:printf(請(qǐng)選擇:a.默認(rèn)路徑保存(為當(dāng)前目錄下的student_homework_infor.txt) b.自定義保存路徑:);flag=getchar();clear();/清除緩存中的回車if(flag=b)printf(請(qǐng)輸入文件名及保存路徑(如c:student_homework_i

19、nfor.txt):);scanf(%s,filename);clear();if(access(filename,0)=1)printf(路徑不合法,請(qǐng)重新輸入!n);goto lab_1;fp=fopen(filename,ab+);if(fp=NULL)printf(創(chuàng)建文件至%s失敗,請(qǐng)返回主菜單重試!n,filename);return;else fileprintf(st,fp);fclose(fp);else if(flag=a)fp=fopen(.student_homework_infor.txt,a);if(fp=NULL)printf(創(chuàng)建文件至程序所在目錄下的stude

20、nt_homework_infor.txt文件失敗,請(qǐng)返回主菜單重試!);return;else fileprintf(st,fp);fclose(fp);elseprintf(非法輸入!程序?qū)⒎祷刂鞑藛?n);主菜單開(kāi)始 選擇操作 注冊(cè)返回登錄 輸入用戶名和密碼選擇用戶想要執(zhí)行的操作 保存修改的數(shù)據(jù)于txt文件中結(jié)束返回上一層主菜單 學(xué)生作業(yè)完成情況管理程序流程概圖3.1.2 圖的建立及存儲(chǔ)鄰接矩陣表示法:設(shè)G=(V,E)是一個(gè)圖,其中V=V1,V2,V3,Vn。G的鄰接矩陣是一個(gè)具有下述性質(zhì)的n階方陣:若(Vi,Vj)E或者E,則Ai,j=1反之為0;圖5-2中有向圖G1和無(wú)向圖G2的鄰接

21、矩陣分別為 M1和 M2:M1= 0 1 0 1 1 0 1 0 1 0 0 1 0 0 0 0 M2= 0 1 1 1 1 0 1 0 1 1 0 1 1 0 1 0 注意無(wú)向圖的鄰接是一個(gè)對(duì)稱矩陣,例如 M2。用鄰接矩陣表示法來(lái)表示一個(gè)具有n個(gè)頂點(diǎn)的圖時(shí),除了用鄰接矩陣中的n*n個(gè)元素存儲(chǔ)頂點(diǎn)間相鄰關(guān)系外,往往還需要另設(shè)一個(gè)向量存儲(chǔ)n個(gè)頂點(diǎn)的信息。因此其類型定義如下:VertexType vertexMAX_VERTEX_NUM; / 頂點(diǎn)向量 AdjMatrix arcs; / 鄰接矩陣 int vexnum, arcnum; / 圖的當(dāng)前頂點(diǎn)數(shù)和弧(邊)數(shù) GraphKind kind

22、; / 圖的種類標(biāo)志 若圖中每個(gè)頂點(diǎn)只含一個(gè)編號(hào)i(1ivnum),則只需一個(gè)二維數(shù)組表示圖的鄰接矩陣。此時(shí)存儲(chǔ)結(jié)構(gòu)可簡(jiǎn)單說(shuō)明如下: type adjmatrix=array1.vnum,1.vnumof adj;利用鄰接矩陣很容易判定任意兩個(gè)頂點(diǎn)之間是否有邊(或?。┫嗦?lián),并容易求得各個(gè)頂點(diǎn)的度。對(duì)于無(wú)向圖,頂點(diǎn)Vi的度是鄰接矩陣中第i行元素之和,即nD(Vi)Ai,j j=1 對(duì)于有向圖,頂點(diǎn)Vi的出度OD(Vi)為鄰接矩陣第i行元素之和,頂點(diǎn)Vi的入度ID(Vi)為第i列元素之和。即 nnOD(Vi)Ai,j, ID(Vi)Aj,i) j=1j=1用鄰接矩陣也可以表示帶權(quán)圖,只要令 Wij

23、, 若(Vi,Vj)或者E其中Wij為或(Vi,Vj)上的權(quán)值A(chǔ)i,j 0 , 否則1、 無(wú)向圖鄰接矩陣的建立算法如下:procedure build-graph;建立無(wú)向圖的鄰接矩陣beginfor i:=1 to n do read(G.vertexi); 讀入n個(gè)頂點(diǎn)的信息for i:=1 to n dofor j:=1 to e doG.arcsij =0;將鄰接矩陣的每個(gè)元素初始化成0for k:=1 to e do e為邊的數(shù)目 read(i,j,w) 讀入邊和權(quán)G.arcsij:=wG.arcsijG.arcsii置對(duì)稱弧 end;該算法的執(zhí)行時(shí)間是O(n+n2+e),其中消耗在

24、鄰接矩陣初始化操作上的時(shí)間是O(n2),而en2,所以上述算法的時(shí)間復(fù)雜度是O(n2)。2、 有向圖鄰接矩陣的建立算法如下:procedure build-graph; 建立有向圖的鄰接矩陣beginfor i:=1 to n do read(G.vertexi); 讀入n個(gè)頂點(diǎn)的信息for i:=1 to n dofor j:=1 to e doG.arcsij =0;將鄰接矩陣的每個(gè)元素初始化成0 for k:=1 to e do e為邊的數(shù)目 read(i,j,w) 讀入邊和權(quán)G.arcsij:=wG.arcsijG.arcsii置對(duì)稱弧end;該算法的執(zhí)行時(shí)間是O(n+n2+e),其中

25、消耗在鄰接矩陣初始化操作上的時(shí)間是O(n2),而en2,所以上述算法的時(shí)間復(fù)雜度是O(n2)。1) 頭文件:#include /包含了getchar();printf();feof();fopen() FILE 聲明#include /包含了malloce();exit()#include /包含access()#include /包含strcmp()#include /包含了getch()程序算法:輸出鄰接矩陣:void Display(MGraph G)/輸出圖的鄰接矩陣int i,j;printf(該圖的鄰接矩陣為:n);for(i=0;iG.vexnum;+i)for(j=0;jG.v

26、exnum;j+)printf(%5d,G.arcsij.adj);printf(n);構(gòu)造有向圖:void CreateDG(MGraph &G) / 采用數(shù)組(鄰接矩陣)表示法,構(gòu)造有向圖/CreateDG int i,j,k; /i,j,k為計(jì)數(shù)器VertexType v1,v2; /用于放置輸入的弧的兩個(gè)頂點(diǎn)printf(請(qǐng)輸入有向圖G的頂點(diǎn)數(shù)(不超過(guò)20個(gè)):n);scanf(%d,&G.vexnum);printf(請(qǐng)輸入有向圖G的邊數(shù):n);scanf(%d,&G.arcnum);printf(請(qǐng)輸入%d個(gè)頂點(diǎn)的值:n,G.vexnum);for(i=0;iG.vexnum|G.

27、vertexi1)printf(Sorry!您輸入的頂點(diǎn)值錯(cuò)誤,請(qǐng)重新輸入第%d個(gè)頂點(diǎn)的值:n,i+1);scanf(%d,&G.vertexi);for(i=0;iG.vexnum;+i) / 初始化鄰接矩陣for(j=0;jG.vexnum;+j) G.arcsij.adj=0;G.=NULL; for(k=0;kG.vexnum)|(v2G.vexnum)printf(對(duì)不起!您輸入的邊信息錯(cuò)誤,請(qǐng)重新輸入第%d條邊的始點(diǎn)和終點(diǎn):n,k+1);scanf(%d %d,&v1,&v2);i=v1-1;j=v2-1;G.arcsij.adj=1; 構(gòu)造無(wú)向圖:void

28、CreateUDG(MGraph &G) / 采用數(shù)組(鄰接矩陣)表示法,構(gòu)造無(wú)向圖/CreateUDG int i,j,k; /i,j,k為計(jì)數(shù)器int v1,v2; /用于放置輸入的弧的兩個(gè)頂點(diǎn)printf(請(qǐng)輸入無(wú)向圖G的頂點(diǎn)數(shù):n);scanf(%d,&G.vexnum);printf(請(qǐng)輸入無(wú)向圖G的邊數(shù):n);scanf(%d,&G.arcnum);printf(請(qǐng)輸入%d個(gè)頂點(diǎn)的值:n,G.vexnum);for(i=0;iG.vexnum|G.vertexi1)printf(Sorry!您輸入的頂點(diǎn)值錯(cuò)誤,請(qǐng)重新輸入第%d個(gè)頂點(diǎn)的值:n,i+1);scanf(%d,&G.ver

29、texi);for(i=0;iG.vexnum;+i) / 初始化鄰接矩陣for(j=0;jG.vexnum;+j) G.arcsij.adj=0;G.=NULL; for(k=0;kG.vexnum)|(v2G.vexnum)printf(對(duì)不起!您輸入的邊信息錯(cuò)誤,請(qǐng)重新輸入第%d條邊的始點(diǎn)和終點(diǎn):n,k+1);scanf(%d %d,&v1,&v2);i=v1-1; j=v2-1;G.arcsij.adj=G.arcsji.adj=1; / 置的對(duì)稱弧 開(kāi)始輸入vexnum,arcnumIncInfoii+1輸入頂點(diǎn)ivexnumYjj+1N初始化鄰接矩陣ivexn

30、umYjvexnumNYii+1Nkarcnumkk+1設(shè)置鄰接矩陣YN結(jié)束圖的構(gòu)造流程圖4. 調(diào)試分析下面分別為學(xué)生作業(yè)完成情況管理系統(tǒng)和圖的建立與存儲(chǔ)程序的主程序菜單: 選擇1進(jìn)入學(xué)生作業(yè)完成情況管理系統(tǒng) 選擇2進(jìn)入圖的建立及存儲(chǔ)程序 選擇0退出本界面,完成本次調(diào)試圖0 運(yùn)行整個(gè)程序的主界面菜單4.1(學(xué)生作業(yè)完成情況管理系統(tǒng))操作提示: 登錄部分分為登陸、注冊(cè)和退出三部分,本程序采取一次性注冊(cè),即用戶名與密碼不可修改(相對(duì)在程序中而言),需要先注冊(cè),否則登錄時(shí)程序會(huì)提示“未注冊(cè)”,第二次注冊(cè)程序會(huì)提示“賬戶已存在,請(qǐng)返回登錄”,登錄成功后會(huì)提示登錄時(shí)間,選擇退出時(shí),程序會(huì)結(jié)束。 第二部分為登錄成功后,進(jìn)入系統(tǒng)可進(jìn)行的操作,建議先導(dǎo)入上次導(dǎo)出到文件學(xué)生信息,然后再進(jìn)行其他操作(第一次使用不用導(dǎo)入);文件導(dǎo)入分為默認(rèn)路徑導(dǎo)入和自定義路徑導(dǎo)入,導(dǎo)入方式?jīng)Q定于用戶上次導(dǎo)出時(shí)(即保存信息時(shí))的選擇;導(dǎo)出部分和導(dǎo)入部分相同,為了不會(huì)在異常情況下導(dǎo)致數(shù)據(jù)丟失,導(dǎo)出時(shí)都采用追加式導(dǎo)入文件(之前導(dǎo)出信息不會(huì)被覆蓋);可以自己進(jìn)入導(dǎo)出文件或在程序中將無(wú)效信息刪除;至于導(dǎo)出格式,我做過(guò)測(cè)試不會(huì)受到限制,可以使已有格式或自定義格式,在無(wú)法打開(kāi)時(shí)選擇記事本

溫馨提示

  • 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ù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論