




下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、鄭州輕工業學院實訓報告實訓名稱:學生成績管理系統姓 名:褚超院係):軟件學院專業班級:網絡軟件幵發 14-01班學 號:指導教師:孫海燕成 績:時間:2015年1月5日至 2015年1月9日目錄實訓任務書 實訓進度日歷 實訓報告實訓感想實訓任務書、題目“學生成績管理系統”設計二、學生信息專業學號姓名三、用戶需求及約束條件1用C語言實現 “學生成績管理系統”。2、設計“學生成績管理系統”的用戶界面,系統啟動進入后,只能通過界面菜單指令才能退岀。3、“學生成績管理系統”具有以下功能:1)系統啟動后,彈岀一個用戶界面,能實現人機交互的功能。而且只能通過界面菜單命令實現各種功能(包括系統退岀功能)。2
2、)錄入學生成績(信息有:班級、姓名、學號、五門課程成績);3)計算每門功課的平均成績和學生五門功課的平均成績并存檔。下面的功能必須是第 3)項功能完成以后才能進行。4 )輸岀學生的信息和對應的原始成績以及平均成績;5)按平均成績進行排序,輸岀排序后的學生信息以及對應的課程成績和平均成績。6)對成績修改,分別有兩種模式,一種是按學號查找后進行修改;另一種是按姓名查找后進行修改;修改后重新排序學生的順序,并輸出學生信息和對應課程成績和平均成績。7 )增補遺漏的學生以及對應的信息和對應的課程成績,并計算岀平均成績,增補以后重新排序學生順序,并輸出學生信息和對應課程成績和平均成績。8)附加功能:把學生
3、信息和對應的課程成績和平均成績存入到文件中。9)附加功能:輸岀文件中的內容。10)附加功能:試著從文件中導入數據到成績管理系統中,然后進行管理。四、設計要求、技術參數及設計規格1、 原始成績由老師統一給岀,在Excel表中;2、設計的系統能夠運行,提交源程序、目標文件和可執行文件;3、 提交實訓報告,實訓報告中列寫:1)軟件需求分析;2)軟件規格說明和設計要求;3)對數據的管理方案;4)“學生成績管理系統”設計的思路和整體框架;5)各功能或者模塊實現的思路(或者用帶注釋的程序代替)并交待模塊之間的接口關系;6)“學生成績管理系統”設計的結果(可以用一些屏幕拷貝的圖來補充說明)4、程序設計環境為
4、 Visual C+ 6.0 或DEV C+5、所有的設計工作需要同學自己真實地、獨立地完成。五、工作量天/日期任務描述通過標準2015 年上午:熟悉系統功能,文檔通過1月5日完成三項任務(用文檔記錄):1)軟件需求分析;2)軟件規格說方案通過明和設計要求;3)對數據的管理方案。數據結構通過下午:構思“學生成績管理系統”的思路和整體框架。設計的函數框架通過設計數據結構(命名),設計函數框架(命名,考慮參數的類型和要求數據傳遞接口正常,main函個數,即考慮數據之間的傳遞關系)。設計被系統調用的 main函數;數能運行。實現界面函數;設計各功能子函數的框架;2015 年上午:實現成績錄入功能;各
5、子函數調試通過,能被main函1月6日下午:實現計算平均成績功能;實現輸出功能;數成功調用,其子功能能實現。2015 年上午:實現排序功能;各子函數調試通過,能被main函1月7日下午:實現修改功能;實現增補功能 (選做);數成功調用,其子功能能實現。2015 年上午:實現查找功能,按學號查找、按姓名查找;各子函數調試通過。1月8日下午:實現自身特色功能,如登陸、鏈表操作、文件存儲數據;2015 年上午:完善“成績管理系統的各項功能”。撰寫實訓報告。系統能正確運行,界面友好);1月8日實踐能力強的同學實現附加功能。各功能能夠實現,性能良好操作方下午:繼續寫實訓報告并且驗收設計的項目。便。備注:
6、做得慢的同學選做部分可不做。六、考核形式、考核時間、考核指標及成績評定實訓成績由下面構成:實訓紀律、實訓態度和平時表現占20%;實訓結果占30%實訓報告占30%;實踐操作能力占20%。考核形式:1)老師每日對學生的考察、評估和考核;2)最后對實訓項目完成的質量進行考核和驗收。完成期限:2015年01月09日指導教師簽章: 孫海燕專業負責人簽章:崔建濤教學院長簽章宋勝利實訓進度日歷題 目學生成績管理系統指導教師孫海燕、張玲、 陳明學生班軟件學院網絡軟件14-01網絡軟件14-02 ,.net技14-02學年學期14 15學年第1學期級天實訓任務詳細描述教師實訓任務的指導(解決方案、實現步驟、技
7、術路線、難點提示)通過標準15年1月5日上午完成:1)軟件需求 分析;2)軟件規格 說明和設計要求;3) 對數據的管理方案。對軟件功能進行分類。用戶界面操作簡單、功能完備,系統啟動后先錄 入數據,再求平均成績;平均成績求岀后, 其他 的功能才能實現。數據結構可以采用數組也可以采用鏈表。文檔通過 驗收下午構思“學生成績管理 系統”的思路和整體 框架。設計數據結構(命 名),設計函數框架(命名,考慮參數的 類型和個數,即考慮 數據之間的傳遞關 系)設計被系統調用的 main函數;設計界面 函數;如果采用數組管理數據結構,則數組必須按地址 傳遞,這樣數據才能在各個函數間共享。難點1:系統的退岀,ex
8、it()函數需要包含 stdlib.h 難點2:清屏函數 clrscr();難點3:數據的傳遞設計的函 數框架通 過調試, 要求數據 傳遞接口 正常, mai n 函 數能運 行。15年1月6日上午設計數據錄入函數, 從鍵盤讀數據到數 組中,或者創建鏈表難點1 :數據輸入完后,怎樣控制結束?用一個 什么標志。難點2 :結構體數組中的子域又是一個數組時, 數據不能直接從鍵盤讀入,需用一個臨時變量中 轉一下。難點3 :從鍵盤錄入數據時, 要給完全的提示信 息,便于操作指導。各子函數 調試通 過,能被 mai n 函 數成功調 用下午計算平均成績的函數實現;輸出原始成績;難點4 :想一想:在錄入數據
9、時數據保存到一數 組,那么在算平均值時, 怎樣能接觸到此數組中 的數據。輸出按照一定的格式,好看。各子函數 調試通過,能被main 函數成功調 用。15年1月7日上午排序功能實現并輸 出排序后的成績。按平均成績排序。排序的算法可以是泡泡法或者選擇法等思考1 :你還可以分別在每個班中按平均成績排 序嗎?思考2:能輸岀有不及格課程的同學信息和成績 嗎?各子函數 調試通 過,能被 mai n 函 數成功調 用。下午實現查找功能按姓名查找以后,再修改;按學號查找以后,再修改; 如果要用對半查找法,需要數據是有序的。各子函數 調試通 過,能被 mai n 函 數成功調用。15年1月8日上午能對某一學生信
10、息 和成績進行修改; 能增加學生的信息(選做);查找到某一學生, 修改某一屬性,如果需要重新 排序,重新排序,把結構存入文件;難點:怎樣從鍵盤中把成績存入文件。增加后重新排序,重新輸出。難點:怎樣從文件中讀出數據下午自定義功能實現女口:登陸:密碼輸入顯示 * ;等15年1月9日上午完成實訓報告難點:清晰、明確、簡單、評價合理、有自己的 見解、創新。實訓報告內容:任務書、實訓進度計劃、 大綱性 的目錄、正文、實訓感想、附件。實訓報告要求裝訂整齊。系統能正 確運行, 界面友 好); 各功能能 夠實現, 性能良好 操作方 便。下午驗收程序 討論系統能正 確運行, 界面友 好); 各功能能 夠實現,
11、性能良好 操作方 便。制訂教師:孫海燕、張玲實訓報告1. 軟件需求分析1.1、用C語言編寫程序實現 “學生成績管理系統”。1.2 、設計“學生成績管理系統”的用戶界面,系統啟動進入后,只能通過界面菜單指令 才能退出。1.3 、系統啟動后,彈出一個用戶界面,能實現人機交互的功能。而且只能通過界面菜單 命令實現各種功能(包括系統退出功能);1.4 、錄入學生成績(信息有:班級、姓名、學號、五門課程成績);1.5 、計算每門功課的平均成績和學生五門功課的平均成績并存檔;1.6 、輸出學生的信息和對應的原始成績以及平均成績;1.7 、按平均成績進行排序,輸出排序后的學生信息以及對應的課程成績和平均成績
12、;1.8 、對成績修改,有兩種模式,一種是按學號查找后進行修改;另一種是按姓名查找后 進行修改;修改后重新排序學生的順序,并輸出學生信息和對應課程成績和平均成績;1.9 、增補遺漏的學生以及對應的信息和對應的課程成績,并計算出平均成績,增補以后 重新排序學生順序,并輸出學生信息和對應課程成績和平均成績;1.10 、附加功能:把學生信息和對應的課程成績和平均成績存入到文件中;1 . 1 1 、附加功能:輸出文件中的內容;1.12 、附加功能:試著從文件中導入數據到成績管理系統中,然后進行管理。2系統詳細設計及實現2.1 、系統用戶界面盡量居中,體現美觀效果;2.2 、編寫的程序具有人機交互功能;
13、2.3 、通過菜單選擇軟件的功能;2.4 、軟件只能由菜單退出系統;2.5 、操作信息提示(界面友好);2.6 、具有攔截一些誤操作錯誤的功能;2.7 、按原始成績格式輸出。設計要求:2.1 、根據老師給出的數據寫入;2.2 、設計的系統能夠運行,提交源程序、目標文件和可執行文件;2.3 、提交實訓報告,實訓報告中列寫;2.4 、程序設計環境為 DEV C+;2.5 、所有的設計工作需要同學自己真實地、獨立地完成。3、對數據的管理方案 結構體數組和文件:輸入的數據可以保存在文件中,下次重新打開程序,原先已輸 入的數據還在;(難度中等)顯示主菜單界面 */ 將信息加載到內存中 */ 輸入指定的學
14、生信息 */ 添加指定的學生信息 */ 將數組保存到磁盤 */ 輸出所有學生信息 */ 輸出指定的學生信息 */ 排序 */ 查找 */ 按學生學號查找 */ 修改指定的學生信息 */ 刪除 */ 刪除所有學生信息 */ 刪除指定的學生信息 */以下為該程序的定義部分typedef struct studentchar clas5;char ID5;char name15;double score5;double sum;double avg;STU;在此處,我將學生的班級、學號和姓名都定義為 char 型,方便整體的使用。特別是 后面的部分子函數中用到的字符串比較函數 strcmp ,方便了
15、排序比較;將學生的成績定義為雙精度實型變量( double ),為了使計算的平均分更為精確。講此定義放在程序的頭部,作為整個程序使用。 為了使后面的子函數調用方便、 簡介,我用到 typedef struct student 定義。以下是該程序的函數聲明部分/* 以下是該程序的函數聲明部分 */void Display(void); /* void Load(STU stu, int *n);/*void InputOne(STU stu, int i);/*void Add(STU stu, int *n);/*void Save(STU stu, int n);/*void Output(
16、STU stu, int n);/*void Print(STU *s); /* void Sort(STU stu, int n); /* void Find(STU stu, int n); /* int FindID(STU stu, int n, char clas, char ID); /* void Edit(STU stu, int n);/*void Del(STU stu, int *n);/*void DeleteAll(STU stu, int *n); /* void DeleteOne(STU stu, int *n);/*以上是該程序的全部聲明部分,這些聲明函數與下
17、文的各功能函數相互對應,且順序依次排列,方便查找和修改。在這些聲明的函數中,用到了引用數組以及指針,方便 了下面各功能函數的使用以及調用。以下是該程序的主函數部分int main()STU stuN;int n;int select;Load(stu, &n);while(1)Display(); scanf("%d", &select); switch(select)case 1: /* 輸入 */ Add(stu, &n); break;case 2:/* 輸出 */ Output(stu, n); break;case 3:/* 排序 */ S
18、ort(stu, n); break;case 4:/* 查找 */Find(stu, n); break;case 5:/* 修改 */Edit(stu, n); break;case 6:/*刪除 */Del(stu, &n); break;case 7:/*退出 */return 0;以上是該函數的函數部分,用到了 switch 語句,分別針對 7 種功能分情況列出。在 下面的各分函數中,處理完的數據值會根據具體需要返還到主函數中,并且顯示在主界 面中。方便用戶查看。利用 switch 的好處在于,分情況列出各種需要的可能性,條例清 晰,可讀性強,并且十分方便。以下是該程序的主界
19、面部分/* 以下為該程序的主界面 */ void Display()system("cls");鄭州輕工業學院考試成績管理系統 n");班級 : 網絡軟件開發 14-01 班 n");printf(" printf("n");printf(" printf("n"); printf("n");printf(" printf(" * printf(" printf("n");1:作者 : 褚超 n"); *n"
20、;);輸入學生資料n");printf("2:輸出學生成績3:資料進行排序n");printf("n");printf("4:查找學生資料5:修改學生資料n");printf("n");printf("6:刪除學生資料7:退出管理系統n");printf("n");printf("*n");n");printf(" 歡迎進入成績管理系統, 請選擇(你只需輸入 17 中的其中一個數字便可進行下一步操作)以上為該程序實際操作的主界
21、面,具有 6 大基本功能。用戶可以根據需要進行相關操作,實現所需要的功能。在此界面中,用到了清屏函數,方便用戶更好的體驗該程序, 不至于界面混亂。void Load(STU stu, int *n)FILE *fp;int i;if(fp=fopen("d:student.dat", "r+") = NULL) /* *n = 0; return;for(i=0; fread(&stui,sizeof(STU),1,fp)!=0;i+); /* *n = i;/*以 'r+' 打開可讀寫的文件 */將信息讀取到 stu 中 */這
22、里 *n 的作用為記錄文件中當前學生數量 */ 關閉文件 */fclose(fp); /* /*/以上是該程序的從文件中讀取數據的函數部分。用到了指針,從所指定的文件 student.dat 讀取到輸入后保存在該文件中的信息, 并顯示在主界面中。 用戶可以直接將 該文件拷貝到指定文件夾中,當執行一次源代碼的編譯后,該系統就知道了這些數據所 在的文件,當用戶執行程序運行時,選擇相關的功能時,便可直接在主界面顯示,無需 再次輸入信息。這樣以來,該程序就具有了很強的實用性與使用性,方便了用戶處理數 據。以下是該程序的輸入部分/* 輸入第 i 個學生信息, 保存到 stu 數組中 */void Inp
23、utOne(STU stu, int i)int j;/* 輸入學生信息 */printf(" 請輸入學生班級、學號、姓名 ( 數據間以空格隔開 ):"); scanf("%s%s%s", &stui.clas, &stui.ID, &);/* 輸入五門課程成績并累加 */printf(" 請依次輸入課程 1、2、3、4、5 成績(數據間以空格隔開 ):");stui.sum = 0.0;for(j=0; j<5; j+)scanf("%lf", &stui.
24、scorej);stui.sum += stui.scorej;/* 計算五門課程的平均分 */stui.avg = stui.sum / 5;/* 調用 InputOne 函數添加若干學生信息,并把新添加的學生信息依次保存到文件中 */ void Add(STU stu, int *n)int i=0;char s = 'y'while(s = 'y')InputOne(stu, (*n)+);/* 添加第 n+1 個學生的信息 */printf(" 是否繼續添加 (請輸入 y or n)n");scanf(" %c",
25、 &s);Save (stu, *n);void Save(STU stu, int n)FILE *fp;if(fp=fopen("d:student.dat", "w") = NULL)printf(" 打開文件失敗 n");exit(0);fwrite(stu, n * sizeof(stu0), 1, fp);fclose(fp);/ye*'以上為該程序的第一個功能函數部分,可實現學生信息的錄入功能,所錄入的文件 即 student.dat 。用戶可以根據需要輸入一個或多個學生信息。 只需要在輸入一個學生信 息
26、完成后,判斷是否繼續錄入學生信息即可。當輸入 y 時,可繼續輸入一個或多個學生 信息,操作與之前相同;當輸入其它字母時,輸入學生信息結束,程序返回到該程序的 原始主界面。可繼續選擇其它相關操作。方便用戶處理數據,解決了單次功能實現后, 程序退出的問題。以下是該程序的輸出部分/* 輸出所有學生信息 */void Output(STU stu, int n)int i;/* 打印數據表頭 */printf(" 您需要的所有學生成績如下 :n"); printf("n");printf("%8s%8s%8s%8s%8s%8s%8s%8s%8s%8s&
27、quot;, " 班級 ", " 學號 ", " 姓名 ", " 成績 1", " 成績 2", " 成績 3", " 成績 4", " 成績 5", " 總分 ", " 平均分 ");for(i=0; i<n; i+)Print(&stui);system("pause");void Print(STU *s)int i;/* 打印所有學生的信息 */print
28、f("%8s%8s%8s", s->clas, s->ID, s->name);for(i=0; i<5; i+)printf("%8.2f", s->scorei);printf("%8.2f%8.2f", s->sum, s->avg);printf("n");/*/以上是學生信息輸出部分的函數,系統會自動打印出表頭信息。相關的學生信息會在其下一行依次展開并與表頭對齊。程序實現了信息的讀出功能,方便了用戶的查看與 處理。其中,輸出的學生成績都采用了 double 型,并
29、保留兩位有效數字,使數據更為準 確。F面給出輸出學生信息時的主界面顯示情況以下是該程序的排序部分/* 對學生的信息進行排序 */void Sort(STU stu, int n)int select;int ScoreAsc(const void *a, const void *b);int ScoreDes(const void *a, const void *b);int NameAsc(const void *a, const void *b);printf("1: 按總成績升序排列 n"); printf("n");printf("2:
30、 按總成績降序排列 n"); printf("n");printf("3: 按學生姓名排序 n");scanf("%d", &select);switch(select)case 1: qsort(stu, n, sizeof(stu0), ScoreAsc); break; case 2: qsort(stu, n, sizeof(stu0), ScoreDes); break; case 3: qsort(stu, n, sizeof(stu0), NameAsc); break; default: return
31、;Output(stu, n);/* 以下是按成績升序排序的分函數 */int ScoreAsc(const void *a, const void *b)return (STU *)a)->sum > (STU *)b)->sum ? 1 : -1;/* 以下是按成績降序排列的分函數 */int ScoreDes(const void *a, const void *b)return (STU *)a)->sum < (STU *)b)->sum ? 1 : -1;/* 以下是按學生姓名升序排列的分函數 */int NameAsc(const void *
32、a, const void *b)return strcmp(STU *)a)->name, (STU *)b)->name);/ye*'以上為該程序的排序函數部分,該函數實現了排序的功能,并且可以分別根據總成績的高低進行升序以及降序排序,也可以根據學生的姓名進行排序。在這里,為了使三種 排序功能方便處理、簡潔,我用到了switch語句,根據三種情況分別判斷。并根據用戶需要,將特定的排序方式信息反饋給用戶,用戶可以直接在該程序的主界面進行查看, 方便用戶處理學生信息。下面給出資料進行排序中的按總成績降序排列主界面顯示情況I按總成績升序排列左按總咸績降序排列土按學生姓名排序|
33、憊需要的所有學生成績如下:班級學號姓容成績1成績2成績3成績4成績5總分平均分6025qun88,0089,0094.0083.0082,00436.0087, 206024guang78.0085.0089.0092.0090,00434.0086.806013lin89.0088.0093.0081.0083.00434.0086.806018chenxi80.0094,0082.0080.0087.00432.0086,406011vang73.0085,0092.008St00S4,00427.0085,4060310qun73.0079.0030.0083*00S8.00408.00
34、81.606038bo80.0081.0032.0073.0085.00407.0031.406017ddd77,0073,0079.0083,0080,00392.0078.406028 dongfbi73.0079.0030.0082.0077.00391.0078. 206016kang77*0076.0078.0079.0078.00388. 0077.6060271117S,0076,0065.0082.0080.00381.0076. 206031deng81.0055.0073.OQ6S,0066-0。373.0074.606021hua65*0077.0075.0078. QQ
35、74.00369.0073.806035h&gang75.0076.0073.0072.0071.00367.0073.406029feisianc71,0065.0072.0077,0074.00359.0071. BO6015ling67.0058.0076.0079.0076.00356.0071. 20以下是該程序的查找部分/* 按學號查找學生信息 */void Find(STU stu, int n)int index;char clas5,ID5;printf(" 請輸入班級和學號 ( 數據間以空格隔開 ):");scanf("%s%s&quo
36、t;, clas, ID);index = FindID(stu, n, clas, ID);if(index > 0)Print(&stuindex);elseprintf(" 該學生信息不存在 !n");system("pause");/* 分別對學生班級和學號進行確定 */int FindID(STU stu, int n, char clas, char ID)int i;for(i=0; i<n; i+) /* 一旦找到該學生信息,則會自動返回對應的下標 */if(strcmp(stui.ID, ID)=0 &&am
37、p; strcmp(stui.clas, clas) =0)return i;return -1;/*/以上是查找學生信息的功能函數部分。在此,因為有多個班級的信息存在,因此, 避免不了學號一致的情況出現。可學號相同的學生,班級肯定不相同,因此為了使查找 的學生信息是用戶所需要的信息。我在查找函數中,同時查找學生班級與學生學號,這 樣以來,就可以確定所需要查找的學生信息在主界面反饋給用戶時是正確的。因此就需 要用到一個 if 語句,只有在班級和學號都一致的情況下,才將信息返回給用戶,否則輸 出該學生的信息不存在。這樣以來,學生信息的查找功能就得以實現了。 下面給出查找學生成績的主界面顯示情況以
38、下是該程序的修改部分/* 修改指定的學生信息 */ void Edit(STU stu, int n)int i, index;char s;char clas5,ID5;printf(" 請輸入班級和學號 ( 數據間以空格隔開 ):");scanf("%s%s", clas, ID);index = FindID(stu, n, clas, ID);if(index < 0)printf(" 該學生信息不存在 !n");return;printf(" 以下是修改前的學生信息 n");Print(&s
39、tuindex);/* 修改學生成績 */printf(" 是否修改成績 ?( 請輸入 y or n)n");scanf(" %c", &s);if(s = 'y')stuindex.sum = 0;printf(" 請輸入五門學科的成績 ( 數據間以空格隔開 ):"); for(i=0; i<5; i+)scanf("%lf", &stuindex.scorei);stuindex.sum += stuindex.scorei;stuindex.avg = stuindex.
40、sum / 5;Save(stu, n);/*/以上是修改學生信息的函數部分,用戶可以通過輸入需要查找的學生的班級和學號先找到該學生的具體信息,主界面也會在同一時間將該學生的信息反饋到程序的主界面用戶可以通過判斷來確定是否修改學生信息,如用戶確定修改該學生的信息,就會顯示請輸入需要修改的學生的成績。用戶只需要將更新后的成績再次輸入,就可以完成學生信息的修改功能,并且將該次更新的成績存儲到指定的 2 文件中,覆蓋原來的該學生信 息。這樣以來,學生成績修改的功能就可以完成了。 下面給出修改學生資料主界面顯示情況 (待修改狀態 )F面給出修改學生資料主界面顯示情況(修改完成狀態)以下是該程序的刪除部
41、分/* 刪除 */void Del(STU stu, int *n)int select;printf("1: 刪除指定的學生信息 n"); printf("n");printf("2: 刪除所有的學生信息 n"); scanf("%d", &select);switch(select)case 1: DeleteOne(stu, n); break;case 2: DeleteAll(stu, n); break;/* 從文件中刪除全部學生信息 */void DeleteAll(STU stu, int
42、*n)char s;FILE *fp;printf(" 信息是否全部刪除? ( 請輸入 y or n)n");scanf(" %c", &s);if(s = 'y')fp = fopen("d:student.dat", "w"); /*以 'w' 方式打開可覆蓋原來的文件 */0*/*n = 0;/* 內存中的數組 stu 中元素個數變為printf(" 刪除完成! n");fclose(fp);/* 刪除指定的學生信息 */ void DeleteOn
43、e(STU stu, int *n)int i, index;FILE *fp;char clas5,ID5;printf(" 請輸入班級和學號 ( 數據間以空格隔開 ):"); scanf("%s%s", clas, ID);index = FindID(stu, *n, clas, ID); if(index < 0)printf("n 該學生信息不存在! n"); return;for(i=index; i < *n-1; i+)stui = stui+1;(*n)-;if(fp=fopen("d:stud
44、ent.dat", "w")=NULL) /*以 'w' 的方式打開可清除文件 */printf(" 打開文件失敗! n");exit(0);printf("n 刪除成功 n");Save(stu, *n); /* 保存到文件 */ /*/以上是該程序的刪除功能函數部分,當用戶選擇該項功能時。會彈出兩個選擇項, 分別是刪除指定的學生信息與刪除全部的學生信息。用戶可以根據需要進行具體的操作 當確定需要刪除學生信息時,同樣需要輸入需要刪除的學生的班級與學號,這樣,就可 以確定刪除的學生信息就是我們需要刪除的那個學
45、生的信息。這樣以來,刪除學生信息 的功能,就可以實現了。F面給出刪除學生資料主界面顯示情況(待刪除狀態)F面給出刪除學生資料主界面顯示情況(刪除完成狀態)實訓感想回想,5天的C語言實訓經歷,讓我受益匪淺。從一開始做的時候的各種迷茫 (沒有 思路、對大程序產生恐懼、 不知如何下手 )到現在的思路清晰, 雖然這幾天走來實在不易, 但我覺得還是非常值得的。這次實訓讓我對編程有了更深層次的理解,我越來越喜歡C語言了。現在想想,這樣的一個程序才算是真正的一個程序,之前的一個個小的題目, 一個小的問題,一個小的程序,只是這樣一個程序的一部分。當我把那些小程序綜合放 在一塊,進行整體的處理,最終變成一個可讀
46、性很高的、整體性很強的大程序時,我明 白了小程序就是大程序的分支,只要將小程序處理好,再融入到一個整體中,一個看似 復雜的大程序就可以迎刃而解了。記得,剛開始學C語言的時候,覺得很難。一句簡單的 This is a C program ,加頭 加尾都有四五行,我在想如果是一個很大的內容,那要打多少,一定很麻煩吧!就覺得 那是好大的一個工程,很難實現。現在想想,只要用心去學,掌握完成 C 語言的語法技 巧,是可以完成的。我現在對 C 語言的認識就是,把數學的思想應用在程序上,體現在 各種函數上,面對一個程序題時,首先要有思路,該怎樣去處理。然后開始對需要處理 的數據進行定義,需要幾個變量,變量的
47、類型是什么。如果是數組的話,還要考慮這個 數組有多大,需要定義多長的數組才能夠用。然后就是編寫程序的核心部分,將數學的 算法思想,用函數體現出來,通過賦值語句,引用,互換等,完成數據間的計算。在程 序輸出的部分,確定好需要輸出數據的控制符,比如如果是 int 型,那輸出時的控制符 就用%d將各種數據對應的輸入輸出,就基本上可以完成一個程序。這周 C 語言的實訓,讓我明白。做出一個程序系統并不是一件簡單的事,雖然說也 不是非常難的那種,但是卻很考驗一個人的耐心以及細心程度。第一天的時候,其實, 我不知道該怎樣做,一直坐在電腦旁想啊想,往往想的一頭霧水。這么大的一個程序, 要怎么入手。后來明白,我不該把它想的這么復雜,而是應該像平時那些小程序一樣, 一個一個來,然后合起來成為一個大的程序。當思路清晰以后,我明白該怎么去寫才能 寫成。所以我覺得思路很重要,然后就是對語法的靈活運用,這樣,才能自由的編寫一 個程序。為什么要學習程序設計?計算機的本質是“程序的機器”,程序和指令的思想是計 算機系統中最基本的概念。學習程序設計能使我們了解計算機事怎樣工作的,更好地理 解和應用計算機;能使我們懂得怎樣讓計算機按照人們的意圖進行工作;學習使用計算 機處理問題的方法,能培養我們分析問題和解決問題的能力以及具有編寫程序的初步能 力。非計算機專業的學生學習程序設計,可以了解軟
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 山西省忻州市部分學校2025屆九年級下學期中考二模數學試卷(含解析)
- 疼痛醫療服務行業行業痛點與創新解決方案案例分析報告
- 2025年工業污染場地修復技術選擇與成本效益評估與政策實施效果報告
- 醫藥流通行業供應鏈成本控制與可持續發展研究
- 2025年新能源汽車廢舊電池回收利用產業技術創新趨勢預測與市場前景分析報告
- 綠色轉型對資源型城市生態環境保護的推動與影響報告
- 零售私域流量運營實戰技巧與用戶忠誠度管理報告
- 食品飲料包裝行業可持續發展目標與路徑規劃報告
- 2025年環境影響評價公眾參與機制與環境保護公眾參與效果評估指標體系創新報告
- 2025年四川省德陽市中考理綜物理試題【含答案、解析】
- 車輛收費及管理制度
- 新能源汽車全生命周期碳足跡測算模型及減排策略
- T/CAS 612-2022碳中和管理體系要求
- 2025-2030中國顯微鏡行業市場深度調研及發展趨勢與投資戰略研究報告
- 平臺合伙人合同協議書
- 運維安全保密措施
- 糧食加工消防安全管理規定
- 《智能駕駛技術解析》課件
- 信息管理崗試題及答案
- GA/T 2160-2024法庭科學資金數據檢驗規程
- 2024北京西城區五年級(下)期末語文試題及答案
評論
0/150
提交評論