武漢科技大學(xué) C課程設(shè)計(jì) 學(xué)生成績(jī)管理系統(tǒng) 鏈表

上傳人:1666****666 文檔編號(hào):38427420 上傳時(shí)間:2021-11-07 格式:DOC 頁(yè)數(shù):23 大?。?.12MB
收藏 版權(quán)申訴 舉報(bào) 下載
武漢科技大學(xué) C課程設(shè)計(jì) 學(xué)生成績(jī)管理系統(tǒng) 鏈表_第1頁(yè)
第1頁(yè) / 共23頁(yè)
武漢科技大學(xué) C課程設(shè)計(jì) 學(xué)生成績(jī)管理系統(tǒng) 鏈表_第2頁(yè)
第2頁(yè) / 共23頁(yè)
武漢科技大學(xué) C課程設(shè)計(jì) 學(xué)生成績(jī)管理系統(tǒng) 鏈表_第3頁(yè)
第3頁(yè) / 共23頁(yè)

下載文檔到電腦,查找使用更方便

10 積分

下載資源

還剩頁(yè)未讀,繼續(xù)閱讀

資源描述:

《武漢科技大學(xué) C課程設(shè)計(jì) 學(xué)生成績(jī)管理系統(tǒng) 鏈表》由會(huì)員分享,可在線(xiàn)閱讀,更多相關(guān)《武漢科技大學(xué) C課程設(shè)計(jì) 學(xué)生成績(jī)管理系統(tǒng) 鏈表(23頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、 二○一二 ~二○一三 學(xué)年第 一 學(xué)期 電子技術(shù)學(xué)院 課程設(shè)計(jì)報(bào)告書(shū) 課程名稱(chēng): C程序課程設(shè)計(jì) 班 級(jí): 電信DB2011級(jí)1102班 學(xué) 號(hào): xxxxxxxxxxxxxxx 姓 名: xxxx 指導(dǎo)教師: xxxx 二○一二年 九 月 一、需求分析 1、題目二 學(xué)生成績(jī)管理程序 任務(wù):自學(xué)C語(yǔ)言中相

2、關(guān)知識(shí),設(shè)計(jì)出學(xué)生成績(jī)管理程序。要求如下所述: u 錄入學(xué)生信息,每位學(xué)生錄入的信息有:姓名、學(xué)號(hào)、性別、班級(jí)、和三門(mén)功課(數(shù)學(xué),英語(yǔ),計(jì)算機(jī))的成績(jī)。以文件(myfile.txt)的形式保存每個(gè)學(xué)生的所有信息。(實(shí)驗(yàn)中:假設(shè)3個(gè)班,每個(gè)班學(xué)生人數(shù)不得少于5人) 學(xué)號(hào) 姓名 性別 班級(jí) 數(shù)學(xué) 英語(yǔ) 計(jì)算機(jī) 1101 王鵬 男 1班 70 58 98 1102 李燕 女 2班 68 88 95 1103 趙亞芳 女 3班 58 48 96 u 增加學(xué)生記錄,并將增加的信息以文件的(

3、myfile.txt)的形式保存。 u 刪除學(xué)生記錄,以“學(xué)號(hào)”、“姓名”為關(guān)鍵字刪除記錄,若要?jiǎng)h除的記錄不存在,給出必要的提示信息; u 統(tǒng)計(jì)各班級(jí)學(xué)生每門(mén)課程的班級(jí)平均分,并由高到低排序。 u 按學(xué)號(hào)或者姓名查詢(xún)記錄并顯示其三門(mén)功課成績(jī); u 能瀏覽顯示全部學(xué)生成績(jī),若無(wú)記錄可以顯示,給出必要的提示信息; 2、系統(tǒng)功能需求分析 該程序中需要有存儲(chǔ)、讀取外部文件的命令實(shí)現(xiàn)將信息儲(chǔ)存于指定文件中。程序中需要有建立、修改鏈表的命令實(shí)現(xiàn)數(shù)據(jù)的動(dòng)態(tài)鏈表存儲(chǔ)方式。程序還需要一系列的提示命令使程序的易用性提高。因?yàn)樾枰獙?duì)數(shù)據(jù)進(jìn)行統(tǒng)計(jì)或查詢(xún)顯示,所以需要有對(duì)鏈表數(shù)據(jù)統(tǒng)計(jì)和對(duì)鏈表指定

4、數(shù)據(jù)進(jìn)行查找的功能。 二、概要設(shè)計(jì) 文件讀取模塊 數(shù)據(jù)保存模塊 成績(jī)對(duì)比模塊 數(shù)據(jù)顯示 模塊 數(shù)據(jù)查找模塊 數(shù)據(jù)刪除模塊 數(shù)據(jù)增加模塊 成績(jī)單建立模塊 學(xué)生成績(jī)管理程序 三、詳細(xì)設(shè)計(jì) 1、建立結(jié)構(gòu)體 struct student { int num; char name[10],sex[10]; int Class,math,english,computer; struct student * next; }; int n; 2、成績(jī)單建立模塊 開(kāi)始 struct student *head,*p

5、1,*p2; n=0; p1=p2=(struct student *)malloc(LEN); 輸入第一個(gè)學(xué)生的數(shù)據(jù) head=NULL; p1->num!=0 Y 鏈表指針向后移動(dòng) N 輸入一個(gè)學(xué)生的數(shù)據(jù) 輸入學(xué)號(hào)為“0” Y

6、 N p2->next=NULL; return(head); 結(jié)束 struct student *creat(void) { struct student *head,*p1,*p2; n=0; p1=p2=(struct student *)malloc(LEN); printf("請(qǐng)輸入學(xué)生信息(按學(xué)號(hào)順序輸入)\n"); printf("學(xué)號(hào):"); scanf("%d",&p1->num); printf("姓名:"); scanf(

7、"%s",p1->name); printf("性別:"); scanf("%s",p1->sex); printf("班級(jí):"); scanf("%d",&p1->Class); printf("數(shù)學(xué):"); scanf("%d",&p1->math); printf("英語(yǔ):"); scanf("%d",&p1->english); printf("計(jì)算機(jī):"); scanf("%d",&p1->computer); head=NULL; while(1) { n=n+1; if(n==1)

8、head=p1; else p2->next=p1; p2=p1; p1=(struct student *)malloc(LEN); printf("\n請(qǐng)輸入學(xué)生信息(按學(xué)號(hào)順序輸入)[當(dāng)不再輸入時(shí)在學(xué)號(hào)處輸入\"0\"結(jié)束]\n"); printf("學(xué)號(hào):");scanf("%d",&p1->num); if(p1->num==0)break; else printf("姓名:"); scanf("%s",p1->name); pr

9、intf("性別:"); scanf("%s",p1->sex); printf("班級(jí):"); scanf("%d",&p1->Class); printf("數(shù)學(xué):"); scanf("%d",&p1->math); printf("英語(yǔ):"); scanf("%d",&p1->english); printf("計(jì)算機(jī):"); scanf("%d",&p1->computer); } p2->next=NULL; return(head); } 3、數(shù)據(jù)增加模塊

10、 開(kāi)始 struct student *p0,*p1,*p2; p1=head; p0=stud; phead; p0=stud; 輸入一個(gè)學(xué)生的數(shù)據(jù) 根據(jù)學(xué)號(hào)順序找到數(shù)據(jù)應(yīng)該插入的位置 phead; p0=stud; 插入數(shù)據(jù) 返回頭指針 phead; p0=stud; 結(jié)束 struct student *insert(struct student *head,struct student *stud) { struct student *p0,*p1,*p2; p1=h

11、ead; p0=stud; if(head==NULL) {head=p0; p0->next=NULL;} else { while((p0->num>p1->num)&&(p1->next!=NULL)) {p2=p1; p1=p1->next;} if(p0->num<=p1->num) { if(head==p1) head=p0; else p2->next=p0; p0->next=p1; } else {p1->next=p0; p0->next=NULL;} } n++; printf("\n增

12、加成功!\n"); return(head); } 4、數(shù)據(jù)刪除模塊 開(kāi)始 struct student *p1,*p2; 輸入刪除的學(xué)號(hào)(姓名) 鏈表中有該數(shù)據(jù) p1==head Y Y head=p1->next N p2->

13、next=p1->next; printf(“不到該數(shù)據(jù)!\n"); 結(jié)束 struct student *del1(struct student *head,int num) { struct student *p1,*p2; if(head==NULL) {printf("\n表格不存在!\n"); return(head);} p1=head; while((num!=p1->num)&&(p1->next!=NULL)) {p2=p1; p1=p1->next;} if(num==p1->num) {

14、 if(p1==head) head=p1->next; else p2->next=p1->next; printf("\n刪除成功!\n"); n--; } else printf("\n找不到該數(shù)據(jù)!\n"); return(head); } struct student *del2(struct student *head,char *name) { struct student *p1,*p2; if(head==NULL) {printf("\n表格不存在!\n"); return(head);} p1=head; whi

15、le((strcmp(name,p1->name)!=0)&&(p1->next!=NULL)) {p2=p1; p1=p1->next;} if(strcmp(name,p1->name)==0) { if(p1==head) head=p1->next; else p2->next=p1->next; printf("\n刪除成功!\n"); n--; } else printf("\n找不到該數(shù)據(jù)!\n"); return(head); } 5、數(shù)據(jù)查找模塊

16、 開(kāi)始 struct student *p=head; 輸入查找的學(xué)號(hào)(姓名) num==p->num 或strcmp(name,p->name)==0 N Y 輸出數(shù)據(jù) Y p=p->next

17、 N p!=NULL Y 結(jié)束 void find1(struct student *head,int num) { struct student *p=head; if(head!=NULL) { do { if(num==p->num) { printf("\n學(xué)號(hào) 姓名 性別 班級(jí) 數(shù)學(xué) 英語(yǔ) 計(jì)算機(jī)\n"); printf("--

18、------------------------------------------\n"); printf("%d %-6s %s %d %-3d %-3d %-3d\n",p->num,p->name,p->sex,p->Class,p->math,p->english,p->computer); break; } else p=p->next; }while(p!=NULL); if(p==NULL) printf("\n未找到相應(yīng)信息!\n"); } else printf("

19、\n成績(jī)單為空!\n"); } void find2(struct student *head,char *name) { struct student *p=head; if(head!=NULL) { do { if(strcmp(name,p->name)==0) { printf("\n學(xué)號(hào) 姓名 性別 班級(jí) 數(shù)學(xué) 英語(yǔ) 計(jì)算機(jī)\n"); printf("--------------------------------------------\n"); printf("%d

20、 %-6s %s %d %-3d %-3d %-3d\n",p->num,p->name,p->sex,p->Class,p->math,p->english,p->computer); break; } else p=p->next; }while(p!=NULL); if(p==NULL) printf("\n未找到相應(yīng)信息!\n"); } else printf("\n成績(jī)單為空!\n"); } void print(struct student *head) { struct student

21、 *p; p=head; if(head!=NULL) { printf("學(xué)號(hào) 姓名 性別 班級(jí) 數(shù)學(xué) 英語(yǔ) 計(jì)算機(jī)\n"); printf("--------------------------------------------\n"); do { printf("%d %-6s %s %d %-3d %-3d %-3d\n",p->num,p->name,p->sex,p->Class,p->math,p->english,p->computer); p=p->next;

22、 }while(p!=NULL); } else printf("無(wú)信息!\n"); } 6、數(shù)據(jù)顯示模塊 開(kāi)始 struct student *p; p=head; head!=NULL Y 輸出一個(gè)學(xué)生的數(shù)據(jù) N p=p->next; p!=NULL Y 結(jié)束

23、 N void print(struct student *head) { struct student *p; p=head; if(head!=NULL) { printf("學(xué)號(hào) 姓名 性別 班級(jí) 數(shù)學(xué) 英語(yǔ) 計(jì)算機(jī)\n"); printf("--------------------------------------------\n"); do { printf("%d %-6s %s %d %-3d %-3d

24、 %-3d\n",p->num,p->name,p->sex,p->Class,p->math,p->english,p->computer); p=p->next; }while(p!=NULL); } else printf("無(wú)信息!\n"); } 7、成績(jī)對(duì)比模塊 開(kāi)始 struct student *p; p=head; float sum1=0,sum2=0,sum3=0,average1,average2,average3,n1=0,n2=0,n3=0; p!=NULL N p->Clas

25、s==1 Y Y sum1=sum1+p->math(englishi/computer); n1++; N p->Class==2 Y sum1=sum1+p->math(englishi/computer); n1++; p->Class==3

26、 N Y sum1=sum1+p->math(englishi/computer); n1++; p=p->next; 算出各班平均分并比較 輸出成績(jī)對(duì)比結(jié)果 結(jié)束 void compare(struct student *head) { struct student *p; p=head; float sum1=0,sum2=0,sum3=0,average1,average2,average3,n1

27、=0,n2=0,n3=0; printf(" ◎ 數(shù)學(xué)班級(jí)平均分 ◎ \n"); printf("--------------------------------------\n"); while(p!=NULL) { if(p->Class==1) {sum1=sum1+p->math; n1++;} if(p->Class==2) {sum2=sum2+p->math; n2++;} if(p->Class==3) {sum3=sum3+p->math; n3++;} p=p->next; } average1

28、=sum1/n1; average2=sum2/n2; average3=sum3/n3; if((average1>=average2)&&(average1>=average3)) { if(average2>=average3) printf("1班:%.2f 2班:%.2f 3班:%.2f\n",average1,average2,average3); else printf("1班:%.2f 3班:%.2f 2班:%.2f\n",average1,average3,average2); } else {

29、 if((average2>=average1)&&(average2>=average3)) { if(average1>=average3) printf("2班:%.2f 1班:%.2f 3班:%.2f\n",average2,average1,average3); else printf("2班:%.2f 3班:%.2f 1班:%.2f\n",average2,average3,average1); } else { if(average1>=average2) printf("3

30、班:%.2f 1班:%.2f 2班:%.2f\n",average3,average1,average2); else printf("3班:%.2f 2班:%.2f 1班:%.2f\n",average3,average2,average1); } } p=head;sum1=0;sum2=0;sum3=0;n1=0;n2=0;n3=0; printf("\n ◎ 英語(yǔ)班級(jí)平均分 ◎ \n"); printf("-------------------------------

31、-------\n"); while(p!=NULL) { if(p->Class==1) {sum1=sum1+p->english; n1++;} if(p->Class==2) {sum2=sum2+p->english; n2++;} if(p->Class==3) {sum3=sum3+p->english; n3++;} p=p->next; } average1=sum1/n1; average2=sum2/n2; average3=sum3/n3; if((average1>=average2)&&(average1>=average

32、3)) { if(average2>=average3) printf("1班:%.2f 2班:%.2f 3班:%.2f\n",average1,average2,average3); else printf("1班:%.2f 3班:%.2f 2班:%.2f\n",average1,average3,average2); } else { if((average2>=average1)&&(average2>=average3)) { if(average1>=average3) prin

33、tf("2班:%.2f 1班:%.2f 3班:%.2f\n",average2,average1,average3); else printf("2班:%.2f 3班:%.2f 1班:%.2f\n",average2,average3,average1); } else { if(average1>=average2) printf("3班:%.2f 1班:%.2f 2班:%.2f\n",average3,average1,average2); else prin

34、tf("3班:%.2f 2班:%.2f 1班:%.2f\n",average3,average2,average1); } } p=head;sum1=0;sum2=0;sum3=0;n1=0;n2=0;n3=0; printf("\n ◎ 計(jì)算機(jī)班級(jí)平均分 ◎ \n"); printf("--------------------------------------\n"); while(p!=NULL) { if(p->Class==1) {sum1=sum1+p->computer; n1++;} if(p-

35、>Class==2) {sum2=sum2+p->computer; n2++;} if(p->Class==3) {sum3=sum3+p->computer; n3++;} p=p->next; } average1=sum1/n1; average2=sum2/n2; average3=sum3/n3; if((average1>=average2)&&(average1>=average3)) { if(average2>=average3) printf("1班:%.2f 2班:%.2f 3班:%.2f\n",average1,a

36、verage2,average3); else printf("1班:%.2f 3班:%.2f 2班:%.2f\n",average1,average3,average2); } else { if((average2>=average1)&&(average2>=average3)) { if(average1>=average3) printf("2班:%.2f 1班:%.2f 3班:%.2f\n",average2,average1,average3); else printf("2

37、班:%.2f 3班:%.2f 1班:%.2f\n",average2,average3,average1); } else { if(average1>=average2) printf("3班:%.2f 1班:%.2f 2班:%.2f\n",average3,average1,average2); else printf("3班:%.2f 2班:%.2f 1班:%.2f\n",average3,average2,average1); } } } 8、數(shù)據(jù)保存模塊

38、 void save(struct student *head) { struct student *p; FILE *fp; fp=fopen("myfile.txt","wb"); p=head; while(p!=NULL) {fwrite(p,LEN,1,fp); p=p->next;} fclose(fp); printf("保存成功!\n"); } 9、數(shù)據(jù)讀取模塊 struct student *load() { struct student *head,*p1,*

39、p2; FILE *fp; n=0; head=NULL; fp=fopen("myfile.txt","rb"); head=p2=p1=(struct student *)malloc(LEN); while(fread(p1,LEN,1,fp)==1) { p2=p1; p1=(struct student *)malloc(LEN); p2->next=p1; n++; } p2->next=NULL; fclose(fp); printf("讀取成

40、功!\n"); return(head); } 10、主函數(shù) void main() { system("color 0B"); struct student *head=NULL,*stu; int num,choice; char name[10]; while(1) { system("pause"); system("cls"); printf("# # # # # # # # # # # # # # # # # # # # # # # #\n"); printf("#

41、 #\n"); printf("# ☆★☆ 學(xué)生成績(jī)管理系統(tǒng)菜單 ☆★☆ #\n"); printf("#---------------------------------------------#\n"); printf("# 1.創(chuàng)建學(xué)生成績(jī)單 #\n"); printf("#---------------------------------------------#\n"); printf("#

42、 2.增加學(xué)生信息 #\n"); printf("#---------------------------------------------#\n"); printf("# 3.刪除學(xué)生信息 #\n"); printf("#---------------------------------------------#\n"); printf("# 4.查看學(xué)生信息 #\n"); pr

43、intf("#---------------------------------------------#\n"); printf("# 5.顯示所有學(xué)生信息 #\n"); printf("#---------------------------------------------#\n"); printf("# 6.班級(jí)成績(jī)對(duì)比 #\n"); printf("#---------------------------------------------

44、#\n"); printf("# 7.保存至文件 #\n"); printf("#---------------------------------------------#\n"); printf("# 8.從文件中讀取信息 #\n"); printf("#---------------------------------------------#\n"); printf("# 9.退出系統(tǒng)

45、 #\n"); printf("# #\n"); printf("# # # # # # # # # # # # # # # # # # # # # # # #\n"); printf("\n請(qǐng)選擇所需功能:"); scanf("%d",&choice); printf("\n"); switch(choice) { case 1: head=creat(); break; c

46、ase 2: stu=(struct student *)malloc(LEN); printf("請(qǐng)輸入學(xué)生信息\n"); printf("學(xué)號(hào):"); scanf("%d",&stu->num); printf("姓名:"); scanf("%s",stu->name); printf("性別:"); scanf("%s",stu->sex); printf("班級(jí):"); scanf("%d",&stu->Class)

47、; printf("數(shù)學(xué):"); scanf("%d",&stu->math); printf("英語(yǔ):"); scanf("%d",&stu->english); printf("計(jì)算機(jī):"); scanf("%d",&stu->computer); while(1) { head=insert(head,stu); printf("請(qǐng)繼續(xù)輸入學(xué)生信息(按\"0\"退出)\n"); st

48、u=(struct student *)malloc(LEN); printf("學(xué)號(hào):"); scanf("%d",&stu->num); if(stu->num==0) break; printf("姓名:"); scanf("%s",stu->name); printf("性別:"); scanf("%s",stu->sex); printf("班級(jí):"); scanf("%d",&stu-

49、>Class); printf("數(shù)學(xué):"); scanf("%d",&stu->math); printf("英語(yǔ):"); scanf("%d",&stu->english); printf("計(jì)算機(jī):"); scanf("%d",&stu->computer); } break; case 3: printf("1.按學(xué)號(hào)刪除 2.按姓名刪除\n請(qǐng)選擇:");

50、 scanf("%d",&choice); switch(choice) { case 1: printf("輸入要?jiǎng)h除的學(xué)生學(xué)號(hào)(按\"0\"退出):"); scanf("%d",&num); while(num!=0) { head=del1(head,num); printf("輸入要?jiǎng)h除的學(xué)生學(xué)號(hào)(按\"0\"退出):");

51、 scanf("%d",&num); } break; case 2: printf("輸入要?jiǎng)h除的學(xué)生姓名(按\"0\"退出):"); scanf("%s",name); while(strcmp(name,"0")!=0) { head=del2(head,name);

52、 printf("輸入要?jiǎng)h除的學(xué)生姓名(按\"0\"退出):"); scanf("%s",name); } break; default: break; } break; case 4: printf("1.按學(xué)號(hào)查找 2.按姓名查找\n請(qǐng)選擇:"); scanf("%d",&choice); switch(choi

53、ce) { case 1: printf("輸入要查找的學(xué)生學(xué)號(hào):"); scanf("%d",&num); find1(head,num); break; case 2: printf("輸入要查找的學(xué)生姓名:"); scanf("%s",name); find2(head,name);

54、 break; default: break; } break; case 5: print(head); break; case 6: compare(head); break; case 7: save(head); break; case 8: head=load(); break; default: break; } if(choice==9) {printf("謝謝使用!\n"); break;} } }

55、 四、調(diào)試分析過(guò)程描述 1、主菜單 2、創(chuàng)建成績(jī)單 3、增加學(xué)生記錄 4、刪除學(xué)生記錄 5、顯示所有學(xué)生記錄 6、班級(jí)成績(jī)對(duì)比 7、查找學(xué)生記錄 8、保存學(xué)生記錄 9、讀取文件信息 調(diào)試過(guò)程中的問(wèn)題與反思: 此次編寫(xiě)的程序蓋內(nèi)容量很大,在編寫(xiě)過(guò)程中采用的是寫(xiě)好一個(gè)模塊測(cè)試一個(gè)模塊的方法,但是將各個(gè)模塊組合到一起后仍舊出現(xiàn)了許多小問(wèn)題,經(jīng)過(guò)多次調(diào)試才達(dá)到各個(gè)模塊協(xié)調(diào)工作。 最初程序編寫(xiě)的時(shí)候并沒(méi)有太過(guò)提示性輸出語(yǔ)句,雖然程序運(yùn)行不會(huì)受到影響,但是非編

56、寫(xiě)人員就難以使用,在調(diào)試中明顯感受到有些地方如果不加提示使用者將很難操作。最后對(duì)一些需要提示的地方慢慢修改,加入一系列提示以后才使程序比較人性化。對(duì)于界面的設(shè)計(jì),最初雖然有一個(gè)雛形,但是在實(shí)際調(diào)試過(guò)程中暴露出不少錯(cuò)位等顯示效果不佳的狀況。針對(duì)此類(lèi)問(wèn)題,必須多次全面調(diào)試,才能將程序界面編寫(xiě)得最美觀。 經(jīng)過(guò)整個(gè)調(diào)試之后,深深感受到程序調(diào)試有相當(dāng)?shù)谋匾?,很多?wèn)題不經(jīng)過(guò)反復(fù)調(diào)試是難以暴露的。如界面設(shè)計(jì)、菜單人性化等需要直觀感受的東西,也只有通過(guò)程序調(diào)試才能將它們盡可能完善。 五、課程設(shè)計(jì)小結(jié) 通過(guò)本次課程設(shè)計(jì),我熟悉了對(duì)鏈表的創(chuàng)建、增加、刪除等一些操作,先前只在課堂上聽(tīng)老師講述,自己對(duì)開(kāi)辟

57、內(nèi)存空間、結(jié)構(gòu)體指針等與鏈表相關(guān)的操作并不熟悉,在制作了這個(gè)程序之后,我對(duì)鏈表的相關(guān)操作已經(jīng)比較熟練了。 本次課程設(shè)計(jì)需要用到一系列外部文件命令,通過(guò)自學(xué)外部命令和課程設(shè)計(jì)的演練,我已經(jīng)能夠掌握外部文件的相關(guān)命令。值得一提的是,課程設(shè)計(jì)要求鏈表命令與外部文件命令相結(jié)合,通過(guò)此次程序編寫(xiě),這兩部分知識(shí)結(jié)合使用,將我所學(xué)的只是串聯(lián)起來(lái)。 課程設(shè)計(jì)所要求的程序,是我從學(xué)習(xí)C語(yǔ)言以來(lái)編寫(xiě)得最長(zhǎng)的程序,以往老師在可能上常說(shuō)命令要精簡(jiǎn)我總是不以為然,經(jīng)過(guò)本次編寫(xiě),我體會(huì)到了精簡(jiǎn)命令的重要性。對(duì)于一個(gè)小程序,可能長(zhǎng)點(diǎn)短點(diǎn)無(wú)所謂,出了問(wèn)題很容易檢查,而對(duì)于這種需要編寫(xiě)四五百行的大程序,如果不注意使用命令的

58、簡(jiǎn)單明了,可能導(dǎo)致程序編寫(xiě)量大很多,冗長(zhǎng)的程序代碼也會(huì)給程序出錯(cuò)時(shí)的檢查帶來(lái)極大的麻煩。 過(guò)去編寫(xiě)程序,都是書(shū)上的題目,完成題目就算目標(biāo)達(dá)成。而此次程序設(shè)計(jì)我需要完成的是一個(gè)完完整整有很強(qiáng)使用行的程序。因而首次讓我注意到界面的問(wèn)題,不僅僅需要編寫(xiě)出能夠正常運(yùn)行的程序,還需要給使用者一個(gè)清爽的、易操作的界面。為了達(dá)到清爽的界面,得不斷觀察程序運(yùn)行界面,不斷調(diào)試,達(dá)到最佳顯示效果;為了達(dá)到一操作性,必需添加一系列判斷語(yǔ)句同時(shí)伴隨相應(yīng)的輸出語(yǔ)句給使用者提示。這些,都是過(guò)去C語(yǔ)言練習(xí)中涉及不多的。 這次設(shè)計(jì)的程序包含了大量的獨(dú)立模塊,在編寫(xiě)過(guò)程中運(yùn)用了逐個(gè)模塊單獨(dú)編寫(xiě),單獨(dú)測(cè)試,最終聚合到一起調(diào)試的思路。這種思路以前大學(xué)計(jì)算機(jī)基礎(chǔ)課和C語(yǔ)言課都講到過(guò),但由于所編寫(xiě)的程序往往比較簡(jiǎn)單,過(guò)去并未應(yīng)用。而此次課程設(shè)計(jì)運(yùn)用到了這種思想,我也感受到了這種思想的先進(jìn)性,大大提高了工作效率。 總之,在這次課程設(shè)計(jì)中我受益匪淺,我不僅掌握了過(guò)去并未掌握的知識(shí),同時(shí)將很多以前隨聽(tīng)說(shuō)卻不曾使用過(guò)的思想付諸實(shí)踐。也體會(huì)到調(diào)試程序的重要性,從調(diào)試中我們可以發(fā)現(xiàn)很多很多編寫(xiě)時(shí)所未曾注意的問(wèn)題。C語(yǔ)言這門(mén)課,是教我們?nèi)绾尉帉?xiě)程序,絕非僅僅會(huì)解答C語(yǔ)言題目,從編寫(xiě)程序過(guò)程中,我感受到還要注重程序界面的外觀與可操作性。

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

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話(huà):18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶(hù)上傳的文檔直接被用戶(hù)下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!

五月丁香婷婷狠狠色,亚洲日韩欧美精品久久久不卡,欧美日韩国产黄片三级,手机在线观看成人国产亚洲