九九热最新网址,777奇米四色米奇影院在线播放,国产精品18久久久久久久久久,中文有码视频,亚洲一区在线免费观看,国产91精品在线,婷婷丁香六月天

C語言課程設計報告-學籍信息管理系統(tǒng).doc

上傳人:good****022 文檔編號:116614015 上傳時間:2022-07-06 格式:DOC 頁數(shù):33 大?。?95.87KB
收藏 版權(quán)申訴 舉報 下載
C語言課程設計報告-學籍信息管理系統(tǒng).doc_第1頁
第1頁 / 共33頁
C語言課程設計報告-學籍信息管理系統(tǒng).doc_第2頁
第2頁 / 共33頁
C語言課程設計報告-學籍信息管理系統(tǒng).doc_第3頁
第3頁 / 共33頁

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

20 積分

下載資源

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

資源描述:

《C語言課程設計報告-學籍信息管理系統(tǒng).doc》由會員分享,可在線閱讀,更多相關(guān)《C語言課程設計報告-學籍信息管理系統(tǒng).doc(33頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、中 國 地 質(zhì) 大 學本科生課程論文封面課程設計評語對課程論文的評語:平時成績:課程論文成績:總 成 績:評閱人簽名:注:1、無評閱人簽名成績無效;2、必須用鋼筆或圓珠筆批閱,用鉛筆閱卷無效;3、如有平時成績,必須在上面評分表中標出,并計算入總成績。目 錄課程設計評語2目 錄31課程論文題目42程序設計思路53. 功能模塊圖54數(shù)據(jù)結(jié)構(gòu)設計75算法設計86.程序代碼187程序運行結(jié)果268編程中遇到的困難及解決方法309總結(jié)心得及良好建議3110、致謝.311 課程論文題目【要求】:使用下面的數(shù)據(jù),設計一個簡單的學籍信息管理系統(tǒng)。學生基本信息文件(A.TXT)及其內(nèi)容:(A.TXT文件不需要編

2、程錄入數(shù)據(jù),可用文本文檔編輯工具直接生成)學號 姓 名 性別 宿舍號碼 電話號碼01 張成成 男 501 8773211102 李成華 女 101 8772311203 王成鳳 女 101 8772311204 張明明 男 502 8773433305 陳 東 男 501 8773211106 李 果 男 502 8773433307 張園園 女 102 87756122學生成績基本信息文件(B.TXT)及其內(nèi)容:學號 課程編號 課程名稱 學分 平時成績 實驗成績 卷面成績 綜合成績 學分01 A01 大學物理 3 66 78 8202 B03 高等數(shù)學 4 78 -1 9001 B03 高等

3、數(shù)學 4 45 -1 8802 C01 VF 3 65 76 66功能要求及說明:(1)數(shù)據(jù)錄入功能: 對B.TXT進行數(shù)據(jù)錄入,只錄入每個學生的學號、課程編號、課程名稱、學分、平時成績、實驗成績、卷面成績共7個數(shù)據(jù)。綜合成績、學分由程序根據(jù)條件自動運算。綜合成績的計算如下所述。 如果本課程的實驗成績?yōu)?1,則表示無實驗,綜合成績=平時成績*30%+卷面成績*70%; 如果實驗成績不為-1,表示本課程有實驗,綜合成績=平時成績*15%+實驗成績*.15%+卷面成績*70%。實得學分的計算: 采用等級學分制。綜合成績在90-100之間 ,應得學分=學分*100%。綜合成績在80- 90之間 ,應

4、得學分=學分*80%。綜合成績在70- 80之間 ,應得學分=學分*75%。綜合成績在60- 70之間 ,應得學分=學分*60%。綜合成績在60以下 ,應得學分=學分*0%。(2)查詢功能:分為學生基本情況查詢和成績查詢兩種。 學生基本情況查詢:輸入一個學號或姓名(可實現(xiàn)選擇),查出此生的基本信息并顯示輸出。輸入一個宿舍號碼,可查詢出本室所有的學生的基本信息并顯示輸出。成績查詢:輸入一個學號時,查詢出此學生的所有課程情況,格式如下:學 號:x x 姓 名:x x x課程編號:xxx 課程名稱:xxxxx 綜合成績:xxxx 實得學分: xx課程編號:xxx 課程名稱:xxxxx 綜合成績:xx

5、xx 實得學分: xx課程編號:xxx 課程名稱:xxxxx 綜合成績:xxxx 實得學分: xx共修:xx科,實得總學分為: xxx (3)刪除功能:當在A.TXT中刪除一個學生時,自動地在B.TXT中刪除此人所有信息。 (4)排序功能:能實現(xiàn)選擇按綜合成績或?qū)嵉脤W分升序或降序排序并顯示數(shù)據(jù)。2程序設計思路這個C語言課程設計題目是關(guān)于學生學籍信息管理系統(tǒng)的設計。根據(jù)設計題目的要求,數(shù)據(jù)結(jié)構(gòu)采用結(jié)構(gòu)體數(shù)組,是用來提供學生基本信息和學生成績基本信息結(jié)構(gòu)體數(shù)組。題目要求能夠完成錄入數(shù)據(jù),查詢,刪除和排序的功能,所以程序依次以主函數(shù)板塊、數(shù)據(jù)錄入功能板塊、查詢功能板塊、刪除功能板塊、排序功能板塊的順

6、序進行,另外,程序中還用到輸入和輸出等基本函數(shù)。運用函數(shù)實現(xiàn)要求的各項功能,將各個分函數(shù)依照一定的次序列出,這樣一方面可以使程序易于編寫和閱讀,另一方面還可以很方便地在編程過程中,另行調(diào)試各個分函數(shù),便于檢查在程序設計過程中出現(xiàn)的錯誤,并可以及時修改。3. 功能模塊圖根據(jù)以上的需求分析,可以將這個系統(tǒng)分為以下主要功能板塊:主函數(shù)板塊、數(shù)據(jù)錄入功能板塊、查詢功能板塊、刪除功能板塊、排序功能板塊。需要特別說明的兩部分有:系統(tǒng)中的結(jié)構(gòu)體定義和函數(shù)聲明部分再次沒有得到明顯的體現(xiàn),但是在整個程序中所起的基礎(chǔ)性作用是不可替代的,所有的分程序都是在此基礎(chǔ)上進行的。讀取數(shù)據(jù)和輸出數(shù)據(jù)函數(shù)在各個分程序中都起著重

7、要作用,屬于公共函數(shù)的范疇。除以上兩部分中所述的定義聲明和部分函數(shù)外,本設計題目所要求的其他所有功能均能在以下系統(tǒng)功能板塊中得以體現(xiàn),具體如下所示:學籍信息管理系統(tǒng)顯示主菜單【DisplayMainMenu()】數(shù)據(jù)錄入【DataInput()】排序功能DataSort()查詢功能DataQuery()刪除功能DataDelete()退出功能 exit()按 學 號 QueryMark(int )按實得學分排序 sort2()按綜合成績排序 sort1()按 學 號 QueryById(int )按宿舍號碼QueryByRoom(int )成績查詢學生基本情況查詢4數(shù)據(jù)結(jié)構(gòu)設計本程序中主要運用

8、了兩大結(jié)構(gòu)體數(shù)組,一個是學生基本信息的結(jié)構(gòu)體數(shù)組(StudentInfo si30),另一個是學生成績基本基本信息的結(jié)構(gòu)體數(shù)組(MarkInfo mi150)。在程序運行過程中,很多子函數(shù)都調(diào)用了這兩個結(jié)構(gòu)體數(shù)組中的信息,或是對其進行閱讀輸出,或是對其進行其他簡單操作。整個程序自始自終始終緊緊圍繞這兩大結(jié)構(gòu)體數(shù)組進行。具體定義如下:利用了組合體的方式定義結(jié)構(gòu)體數(shù)組,提供學生基本信息,定義如下:typedef struct int Id; /學號char name10;/姓名char sex6; /性別 int room; /宿舍號int tel; /電話號碼 StudentInfo; /定義學

9、生信息的結(jié)構(gòu)體類型同時定義了另一結(jié)構(gòu)體數(shù)組,提供學生成績基本信息,定義如下:typedef struct int Id;char courseNo10; /課程編號char courseName20;/課程名float a; / 課程學分float b; / 平時成績float c; / 實驗成績float d; / 卷面成績float e; / 綜合成績float f; / 實際學分 MarkInfo; /定義課程信息的結(jié)構(gòu)體類型使用以上結(jié)構(gòu)體數(shù)組,使程序變得思路清晰,設計過程也變得相對簡單。同時,定義并使用了如下函數(shù),聲明和定義void ReadFile();void DisplayMai

10、nMenu();void DataInput();void DataQuery();void DataDelete();void DataSort();void QueryById(int );void QueryByRoom(int );void QueryMark(int );void sort1();void sort2();void markput();StudentInfo si30; / 學生信息結(jié)構(gòu)數(shù)組MarkInfo mi150; / 學生成績結(jié)構(gòu)數(shù)組int sp=0; / 學生信息結(jié)構(gòu)數(shù)組中學生數(shù)int mp=0; / 學生成績結(jié)構(gòu)數(shù)組中成績數(shù)5算法設計1.、定義結(jié)構(gòu)體,并且

11、進行函數(shù)聲明在這一部分,定義了關(guān)于學生基本信息和學生成績信息的兩個結(jié)構(gòu)體數(shù)組,用于存儲數(shù)據(jù),另外對本程序中所用到的函數(shù)進行了詳細地聲明,通過定義數(shù)組和對函數(shù)的聲明為本程序奠定了重要的基礎(chǔ)。#include typedef struct int Id; /學號char name10;/姓名char sex6; /性別 int room; /宿舍號int tel; /電話號碼 StudentInfo; /定義學生信息的結(jié)構(gòu)體類型typedef struct int Id;char courseNo10; /課程編號char courseName20;/課程名float a; / 課程學分float

12、 b; / 平時成績float c; / 實驗成績float d; / 卷面成績float e; / 綜合成績float f; / 實際學分 MarkInfo; /定義課程信息的結(jié)構(gòu)體類型 / 定義結(jié)構(gòu)數(shù)組為全局變量StudentInfo si30; / 學生信息結(jié)構(gòu)數(shù)組MarkInfo mi150; / 學生成績結(jié)構(gòu)數(shù)組int sp=0; / 學生信息結(jié)構(gòu)數(shù)組中學生數(shù)int mp=0; / 學生成績結(jié)構(gòu)數(shù)組中成績數(shù)void ReadFile();void DisplayMainMenu();void DataInput();void DataQuery();void DataDelete()

13、;void DataSort();void QueryById(int );void QueryByRoom(int );void QueryMark(int );void sort1();void sort2();void markput();2.主函數(shù):主函數(shù)設計的很簡潔,只提供輸入,功能處理和輸出部分的函數(shù)的調(diào)用,其中各功能模塊用菜單方式選擇,為我們提供了五個功能選項,讓我們可以很方便地通過這五個功能選項來調(diào)用各個功能模塊函數(shù)。顯示一系列功能選項(即主菜單)輸入n,判斷是否1-5根據(jù)n的值調(diào)用各功能模塊函數(shù)定義整型變量X作為功能菜單選項的選擇方式。Void main()int x;Rea

14、dFile(); while (1)DisplayMainMenu();scanf (“%d”,&x);switch (x)case 1 : DataInput(); break; case 2 : DataQuery(); break; case 3 : DataDelete(); break; case 4 : DataSort(); break; case 5 : exit();3.各功能模塊的設計:模塊功能圖如下所示:所 用 到 的 各 個 子 函 數(shù)讀取數(shù)據(jù)、計算菜 單 顯 示數(shù) 據(jù) 錄 入排 序查 詢按 實 際 學 分按 綜 合 成 績查 詢 成 績查詢 學生 信息* 讀 取 數(shù)

15、據(jù) 、 計 算 *在這段功能模塊中,利用指針變量來讀取結(jié)構(gòu)體數(shù)組文件中的相應信息,是程序的編寫、閱讀和運行變得簡潔明了。此外,在這段程序中,還對文件中的數(shù)據(jù)按照題目的具體要求對綜合成績和學分做了自動計算。Void ReadFile( ) FILE *fp;if(fp = fopen(“A.txt”,”r”)=NULL)printf(“cant open the filen”);while (!feof(fp)fscanf(fp,”%d%s%s%d%d”, &sisp.Id,sisp.name,&sisp.sex,&sisp.room,&sisp.tel);sp+;fclose (fp);fp

16、= fopen(“B.txt”,”r”);while (!feof(fp)fscanf (fp,”%d%s%s%f%f%f%f”,&mimp.Id,mimp.courseNo,mimp.courseName,&mimp.a,&mimp.b,&mimp.c, &mimp.d);if (mimp.c = -1) mimp.e = 0.3*mimp.b+0.7*mimp.d;else mimp.e = 0.15*mimp.b+0.15*mimp.c+0.7*mimp.d;if ( mimp.e = 90. ) mimp.f = mimp.a;else if ( mi mp.e = 80. ) mim

17、p.f = mimp.a *0.8;else if ( mimp.e = 70. )mimp.f = mimp.a *0.75;else if ( mimp.e = 60. ) mimp.f = mimp.a *0.6;else mimp.f = 0;mp+;fclose(fp);* 顯 示 主 菜 單 *這部分是對本程序的主要功能做出的展示,體現(xiàn)了本程序的五大功能,簡潔明白,一目了然。Void DisplayMainMenu()printf (“n 1) 數(shù)據(jù)錄入 n 2) 數(shù)據(jù)查詢 n 3) 數(shù)據(jù)刪除 n 4) 數(shù)據(jù)排序 n 5) 程序結(jié)束 n “);* 數(shù) 據(jù) 錄 入 *錄入每個學生的學

18、號、課程編號、課程名稱、學分、平時成績、實驗成績、卷面成績共7個數(shù)據(jù),即對關(guān)于學生成績基本信息的結(jié)構(gòu)體數(shù)組進行輸入,也就是文件B.TXT中的內(nèi)容。Void DataInput()FILE *fp;int I;printf (“學生的學號 課程編號 課程名稱 學分 平時成績 實驗成績 卷面成績n”);while(1)scanf (“%d%s%s%f%f%f%f”,&mimp.Id,mimp.courseNo,mimp.courseName,&mimp.a,&mimp.b,&mimp.c, &mimp.d);if(mimp.Id=-1)break;if (mimp.c = -1) mimp.e =

19、 0.3*mimp.b+0.7*mimp.d;else mimp.e = 0.15*mimp.b+0.15*mimp.c+0.7*mimp.d;if ( mimp.e = 90. ) mimp.f = mimp.a;else if ( mi mp.e = 80. ) mimp.f = mimp.a *0.8;else if ( mimp.e = 70. )mimp.f = mimp.a *0.75;else if ( mimp.e = 60. ) mimp.f = mimp.a *0.6;else mimp.f = 0;mp+;fp = fopen(“B.txt”,”r+”);for(i=0;

20、imp;i+)fprintf(fp,”%d%s%s%f%f%f%f”,&mii.Id,mii.courseNo,mii.courseName,&mii.a,&mimp.b,&mii.c, &mii.d);fclose(fp);*查 詢 *此段程序是為實現(xiàn)信息查詢功能而設計的??傮w來講,分為兩大功能模塊,一是學生基本信息查詢,二是對學生成績的查詢。在第一種查詢,即對學生基本信息的查詢中,又提供了兩種查詢方式,一種是按學號對學生基本信息進行查詢,一種是按宿舍號碼對學生基本信息進行查詢。Void DataQuery()int x,y,z;printf( “n 1) 學生基本情況查詢n 2) 成績查詢

21、n”);-選擇查詢內(nèi)容scanf(“%d”,&x);if (x = 1) / 查詢學生信息printf (“1) 按學號查詢 2) 按宿舍查詢n”);-選擇查詢方式scanf(“%d”,&y);if (y = 1 ) printf ( “ 輸入學號n”);-按學生學號查詢scanf (“%d”,&z);QueryById(z);if (y = 2) printf ( “ 輸入宿舍號n”);-按學生宿舍號碼進行查詢scanf (“%d”,&z);QueryByRoom(z);if ( x =2) / 查詢成績信息-查詢學生成績(輸入學號)printf ( “ 輸入學號n”); scanf (“%

22、d”,&y);QueryMark(y);* 刪 除 *此模塊提供了按學號實現(xiàn)刪除學生信息的功能,當在文件A.TXT中刪除一個學生時,自動地在文件B.TXT中刪除此人所有信息。Void DataDelete()FILE *fp;int x;int i=0;int k,d;printf( “輸入學號n”);scanf( “%d”,&x);while( sii.Id != x) i+;if (isp-1) for ( k=I; ksp-1; k+)sik = sik+1; if ( isp) sp-;d = 0; for (k=0;kmp;k+)if ( mik.Id = x ) d+;else m

23、ik-d = mik;mp = mp d;fp = fopen(“D:B.txt”,”r+”);for(i=0;imp;i+)fprintf(fp,”%d%s%s%f%f%f%f”,&mii.Id,mii.courseNo,mii.courseName,&mii.a,&mii.b,&mii.c, &mii.d);* 按 學 號 查 詢 *按學生學號對學生基本信息進行查詢。Void QueryById(int x)int I;for (i=0;isp;i+)if ( sii.Id = x ) printf (“n 學號 姓名 性別 宿舍號碼 電話號碼n”);printf (“ %d %s %s

24、%d %dn”,sii.Id,sii.name,sii.sex,sii.room,sii.tel);* 按 宿 舍 號 查 詢 *按宿舍號碼對學生基本信息進行查詢。void QueryByRoom(int x) int i;for (i=0;isp;i+)if ( sii.room = x ) printf (n 學號 姓名 性別 宿舍號碼 電話號碼n);printf ( %d %s %s %d %dn,sii.Id,sii.name,sii.sex,sii.room,sii.tel);* 成 績 查 詢 * 對成績進行查詢要求輸入學生的學號就可以查詢出學生所有的課程成績情況,并且能夠按一定的

25、格式輸出。void QueryMark(int x) int i=0; while(sii.Id!=x) i+; printf(學號: %d 姓名: %sn,sii.Id,sii.name);for (i=0;i=1;i-)for (j=0;jmij+1.e) t=mij;mij = mij+1;mij+1 = t;markput();* 按 實 得 學 分 排 序 *按void sort2()函數(shù)計算所得的實得學分進行排序。void sort2() int i,j;MarkInfo t;for (i=mp-1;i=1;i-)for (j=0;jmij+1.f) t=mij;mij = mij

26、+1;mij+1 = t;markput();* 數(shù) 據(jù) 輸 出 *利用函數(shù)void markput()按設計題目規(guī)定的格式輸出一定格式的信息void markput()int i;for( i=0;imp;i+)printf(n 學號 %d 課程編號 %s 課程名稱 %s 學分 %f 平時成績 %f 實驗成績 %f 卷面成績 %f 綜合成績 %f 實得學分 %fn,mii.Id,mii.courseNo,mii.courseName,mii.a,mii.b,mii.c,mii.d,mii.e,mii.f);6.程序代碼#include typedef struct int Id; /學號ch

27、ar name10; /姓名char sex6; /性別 int room; /宿舍號int tel; /電話號碼 StudentInfo; /定義學生信息的結(jié)構(gòu)體類型typedef struct int Id;char courseNo10; /課程編號char courseName20;/課程名float a; / 課程學分float b; / 平時成績float c; / 實驗成績float d; / 卷面成績float e; / 綜合成績float f; / 實際學分 MarkInfo; /定義課程信息的結(jié)構(gòu)體類型 / 定義結(jié)構(gòu)數(shù)組為全局變量StudentInfo si30; / 學生

28、信息結(jié)構(gòu)數(shù)組MarkInfo mi150; / 學生成績結(jié)構(gòu)數(shù)組int sp=0; / 學生信息結(jié)構(gòu)數(shù)組中學生數(shù)int mp=0; / 學生成績結(jié)構(gòu)數(shù)組中成績數(shù)void ReadFile();void DisplayMainMenu();void DataInput();void DataQuery();void DataDelete();void DataSort();void QueryById(int );void QueryByRoom(int );void QueryMark(int );void sort1();void sort2();void markput();/ 主程序的結(jié)

29、構(gòu)void main()int x;ReadFile(); while (1)DisplayMainMenu();scanf (%d,&x);switch (x)case 1 : DataInput(); break; case 2 : DataQuery(); break; case 3 : DataDelete(); break; case 4 : DataSort(); break; case 5 : exit();void ReadFile( ) FILE *fp;if(fp = fopen(A.txt,r)=NULL)printf(cant open the filen);while

30、 (!feof(fp)fscanf(fp,%d%s%s%d%d, &sisp.Id,sisp.name,&sisp.sex,&sisp.room,&sisp.tel);sp+;fclose (fp);fp = fopen(B.txt,r);while (!feof(fp)fscanf (fp,%d%s%s%f%f%f%f,&mimp.Id,mimp.courseNo,mimp.courseName,&mimp.a,&mimp.b,&mimp.c, &mimp.d);if (mimp.c = -1) mimp.e = 0.3*mimp.b+0.7*mimp.d;else mimp.e = 0.1

31、5*mimp.b+0.15*mimp.c+0.7*mimp.d;if ( mimp.e = 90. ) mimp.f = mimp.a;else if ( mi mp.e = 80. ) mimp.f = mimp.a *0.8;else if ( mimp.e = 70. )mimp.f = mimp.a *0.75;else if ( mimp.e = 60. ) mimp.f = mimp.a *0.6;else mimp.f = 0;mp+;fclose(fp);void DisplayMainMenu()printf (n 1) 數(shù)據(jù)錄入 n 2) 數(shù)據(jù)查詢 n 3) 數(shù)據(jù)刪除 n

32、4) 數(shù)據(jù)排序 n 5) 程序結(jié)束 n );void DataInput()FILE *fp;int i;printf (學生的學號 課程編號 課程名稱 學分 平時成績 實驗成績 卷面成績n);while(1)scanf (%d%s%s%f%f%f%f,&mimp.Id,mimp.courseNo,mimp.courseName,&mimp.a,&mimp.b,&mimp.c, &mimp.d);if(mimp.Id=-1)break;if (mimp.c = -1) mimp.e = 0.3*mimp.b+0.7*mimp.d;else mimp.e = 0.15*mimp.b+0.15*m

33、imp.c+0.7*mimp.d;if ( mimp.e = 90. ) mimp.f = mimp.a;else if ( mi mp.e = 80. ) mimp.f = mimp.a *0.8;else if ( mimp.e = 70. )mimp.f = mimp.a *0.75;else if ( mimp.e = 60. ) mimp.f = mimp.a *0.6;else mimp.f = 0;mp+;fp = fopen(B.txt,r+);for(i=0;imp;i+)fprintf(fp,%d%s%s%f%f%f%f,&mii.Id,mii.courseNo,mii.c

34、ourseName,&mii.a,&mimp.b,&mii.c, &mii.d);fclose(fp);void DataQuery()int x,y,z;printf( n 1) 學生基本情況查詢n 2) 成績查詢n);scanf(%d,&x);if (x = 1) / 查詢學生信息printf (1) 按學號查詢 2) 按宿舍查詢n);scanf(%d,&y);if (y = 1 ) printf ( 輸入學號n); scanf (%d,&z);QueryById(z);if (y = 2) printf ( 輸入宿舍號n); scanf (%d,&z);QueryByRoom(z);if

35、 ( x =2) / 查詢成績信息printf ( 輸入學號n); scanf (%d,&y);QueryMark(y);void DataDelete()FILE *fp;int x;int i=0;int k,d;printf( 輸入學號n);scanf( %d,&x);while( sii.Id != x) i+;if (isp-1) for ( k=i; ksp-1; k+)sik = sik+1; if ( isp) sp-;d = 0; for (k=0;kmp;k+)if ( mik.Id = x ) d+;else mik-d = mik;mp = mp - d;fp = fo

36、pen(D:B.txt,r+);for(i=0;imp;i+)fprintf(fp,%d%s%s%f%f%f%f,&mii.Id,mii.courseNo,mii.courseName,&mii.a,&mii.b,&mii.c, &mii.d);void QueryById(int x)int i;for (i=0;isp;i+)if ( sii.Id = x ) printf (n 學號 姓名 性別 宿舍號碼 電話號碼n);printf ( %d %s %s %d %dn,sii.Id,sii.name,sii.sex,sii.room,sii.tel);void QueryByRoom(i

37、nt x) int i;for (i=0;isp;i+)if ( sii.room = x ) printf (n 學號 姓名 性別 宿舍號碼 電話號碼n);printf ( %d %s %s %d %dn,sii.Id,sii.name,sii.sex,sii.room,sii.tel);void QueryMark(int x) int i=0; while(sii.Id!=x) i+; printf(學號: %d 姓名: %sn,sii.Id,sii.name);for (i=0;i=1;i-)for (j=0;jmij+1.e) t=mij;mij = mij+1;mij+1 = t;

38、markput();void sort2() int i,j;MarkInfo t;for (i=mp-1;i=1;i-)for (j=0;jmij+1.f) t=mij;mij = mij+1;mij+1 = t;markput();void markput()int i;for( i=0;imp;i+)printf(n 學號 %d 課程編號 %s 課程名稱 %s 學分 %f 平時成績 %f 實驗成績 %f 卷面成績 %f 綜合成績 %f 實得學分 %fn,mii.Id,mii.courseNo,mii.courseName,mii.a,mii.b,mii.c,mii.d,mii.e,mii

39、.f);7程序運行結(jié)果顯示主菜單:(1)數(shù)據(jù)錄入功能:對成績進行錄入(2)查詢功能:學生基本情況查詢a、按學號查詢b、按宿舍查詢學生成績查詢(輸入學生學號)(3)排序功能按綜合成績排序按實得學分排序(4)刪除功能(按學生學號刪除)(5)退出功能(按任意鍵即可退出)8編程中遇到的困難及解決方法首先就在本程序的編寫過程中出現(xiàn)的問題進行說明:首先,對于數(shù)據(jù)的刪除存在一定的問題,這個問題是在老師的指導下又經(jīng)過同學們的幫助才解決的,其間,我明白了結(jié)構(gòu)體數(shù)組中數(shù)據(jù)刪除的基本原理和刪除的方法;其次,在程序編寫過程中,我忽視了幾個需要注意的基本語法,比如,有的變量忘記了定義和標識符的使用等問題,這個是在同學的

40、幫助下才檢查出來改正的。這屬于C語言運用的基礎(chǔ)問題,也是因為平時的上機編程實習太少所致,以后還有待于改進;第三,對于數(shù)組中數(shù)據(jù)的存儲原理存在一定的疑問,這個是請同學講解后才加深的理解;第四,就是在程序開始編寫時,整體思路框架的構(gòu)思感覺無從下手,這是一個長期的問題,需要多多接觸程序,理解更多的程序編寫思路才能做到在白那些之前胸有成竹。這次是請教同學幫忙才得以解決的。9總結(jié)心得及良好建議這是我第一次相對比較獨立的編程,從中感受到了小小的進步所帶來的喜悅,更重要的是,通過這次C語言課程設計我意識到了自己在學習上的許多不足,許多感覺會的知識在應用時還是有許多不確定,作為計算機專業(yè)的一名學生,動手能力是

41、很重要的,只要通過實踐才能真正發(fā)現(xiàn)自己的不足,使自己的能力真正有所提高。俗話說:“萬事開頭難。”現(xiàn)在既然開頭已經(jīng)過去了,也大致了解了C語言的學習規(guī)律,課本雖然學完了,但自己需要加強與完善的還有很多。首先,從這個程序說起。這個程序的編寫過程中沒有用到很特殊的算法,基本都是老師上課強調(diào)的一些基本算法,讓人做起來感覺還是挺簡單易懂的,這里也體會到了C語言的靈活性。其次,我認為我這個程序的亮點在于它的整體結(jié)構(gòu)清晰明朗,首先是兩個結(jié)構(gòu)體,然后就是聲明函數(shù),再往下是主函數(shù)選擇執(zhí)行命令,最后是幾個用到的被調(diào)用函數(shù)。再次,我體會到了計算機語言的嚴謹性,C語言課本上的許多微小知識看似微乎其微,實則作用巨大,在程

42、序設計過程中,一處小小的知識死角就可能會使整個程序無法運行,所以計算機語言的學習容不得半點兒馬虎,留不得半處死角,不能忽視任何一處知識。今后我會繼續(xù)努力,尤其通過學院組織的ACM集訓和各種程序設計比賽,使自己的程序設計能力有所提高,爭取成為一名更加優(yōu)秀的計算機專業(yè)的學生。此次課程設計,我在編寫程序,修改程序進一步完成作業(yè)的同時,也深深感受到了計算機高級語言的清晰的層次性和運用的技巧性,我想這一點無論對于我們這些初涉計算機語言的學生而言,還是對于已在計算機專業(yè)任教多年的資深教師來說,都是必須認識到的。認識到這一點,計算機初學者可以在鞏固基礎(chǔ)的同時培養(yǎng)探索更加簡潔的思路的意識,資深教師則可以在計算

43、機語言教授過程中起到提綱挈領(lǐng),誘思探究新的教學方法,使學生在學習計算機語言的時候抓住重點,理解難點,掌握要點。10致謝在這次課程設計的撰寫過程中,我得到了許多人的幫助。首先我要感謝老師在課程設計上給予我的指導、支持和幫助。雖然在檢查運行程序的過程中老師提出了問題,但是我能理解老師的用意,老師的目的并不是難為我們,或許可以說老師要的并不是讓我們完成這次課程設計的設計題目,而是讓我們能夠在課程設計的過程中重溫C語言的知識,真正掌握好這門語言。讓我們能把系統(tǒng)做得更加完善。在此期間,我不僅學到了許多新的知識,而且也開闊了視野,提高了自己的設計能力。其次,我要感謝幫助過我的同學,他們也為我解決了不少我不太明白的設計過程中的難題,同時也非常感謝學院為我提供了良好的課程設計的機房環(huán)境。最后再一次感謝所有在此次C語言課程設計中曾經(jīng)幫助過我的老師和同學們! 19209303 任志鋼 2010年7月13日 星期二33

展開閱讀全文
溫馨提示:
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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

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

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

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


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