




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、C#語言編程實訓報告系部:*班級:*學號:*姓名:*指導教師:*評語:一、 設計題目:學生成績管理系統二、 設計目的:通過編寫學生成績管理系統:掌握循環結構、數組結構、結構體的設計和應用;熟練方法的調用、選擇結構的具體應用、排序檢索功能的設計;最終提高面向對象編程、分析與解決實際問題的能力。三、 項目實現的功能:(1)實現學生信息的輸入、輸出、查詢和刪除;(2)計算學生的總成績和平均成績;(3)按總成績排序并顯示;(4)檢索功能,按姓名、學號進行檢索;(5)能夠正常退出程序。四、 設計原理:根據學生成績管理系統使用要求,程序要實現添加、刪除、查詢、正確退出功能,而這就用到了數組結構、循環結構、
2、結構類型、檢索方法和退出程序的方法。因為功能要選擇性實現,用到了選擇結構的Switch語句,首先計算Switch后表達式的值,然后判斷是否等于case常量表達式的值,以決定程序功能的執行。Student結構體的應用方便了學生不同信息的輸入;在整個程序中用循環結構和數組結構實現信息的輸入、輸出、計算和檢索;數組實現儲存,但是刪除信息時要注意數組長度和元素的改變;整個程序中結構、信息的刪除和方法的調用是重點。選擇數字3選擇數字4選擇數字5選擇數字6While(ture);選擇數字2調用searchno()查詢信息;break;調用searchname()查詢信息;break;調用score()查詢
3、成績信息;break;Environment.Exit(0)退出;break;調用Delete()刪除信息;break;調用Add()添加信息;break;選擇數字1從Main()方法中調用Check()方法開始程序的運行執行do循環體中的語句,進行選擇數字的輸入通過Switch語句計算輸入的選擇數字五、 程序流程圖: 開始 是 否 是 否 是 否 是 否 是 否 是 真 結束六、 使用及調試說明:運行程序出現控制臺界面后,按照界面顯示的功能選項,根據需求進行選擇,每次選擇后按Enter鍵:1、選擇1進入添加信息界面,按提示輸入各項信息;2、選擇2進入刪除信息界面,按提示輸入要刪除的學生信息;
4、3、選擇3進入查詢界面,按學號進行查詢;4、選擇4進入查詢界面,按姓名進行查詢;5、選擇5顯示排序后的成績單;6、選擇6退出程序;七、 源程序代碼:using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace 學生信息管理 public struct Student /定義名為student的結構 public int no; /學號 public double chnese, math;/各科成績public double english, csharp;public d
5、ouble ave, all; /平均成績、總成績 public string name; /學生姓名 public void ShowStuInfo() /該方法用于顯示學生信息 /輸出學生信息 Console.WriteLine("n學生信息:"); Console.Write("學號:0",no,);Console.Write("t姓名:0",name);Console.Write("t語文:0",chnese);Console.Write("t數學:0",math);Console.Wr
6、ite("t英語:0",english);Console.Write("tC#:0",csharp);Console.Write("t平均:0",ave);Console.Write("t總成績:0",all);Console.WriteLine(); class Smanage /學生管理類 int x = 0;/聲明數組stud Student stud = new Student10; public void Add() /用Add()方法添加學生信息 /學生信息的輸入并以student的結構中定義的數組儲存
7、 Console.WriteLine("請輸入要添加的學生信息:"); Console.WriteLine("n請輸入學號:"); studx.no =int.Parse(Console.ReadLine(); Console.WriteLine("n請輸入姓名:"); = Console.ReadLine(); Console.WriteLine("n語文成績:"); studx.chnese=double.Parse(Console.ReadLine(); Console.WriteLin
8、e("n數學成績:"); studx.math=double.Parse(Console.ReadLine( ); Console.WriteLine("n英語成績:"); studx.english=double.Parse(Console.ReadLine(); Console.WriteLine("n C #成績:");studx.csharp=double.Parse(Console.ReadLine();/定義數組對輸入成績儲存 doubleinfom=new doublestudx.chnese, studx.math,s
9、tudx.english, studx.csharp ; /以循環計算總成績、平均成績 for (int i = 0; i < infom.Length; i+) studx.all += infomi; studx.ave = studx.all / 4; studx.ShowStuInfo();/顯示計算后學生信息 x= x+1; public void Delete() /刪除信息 int n = -1; int no = int.Parse(Console.ReadLine();/用循環對獲取的no進行判斷 for (int i = 0; i < x; i+) if (no
10、 = studi.no) n = i; for (int c = n + 1; c < x; c+) /交換數組索引值對指定元素進行刪除 studc - 1 = studc; x=x- 1; break; Console.WriteLine("學號為0的學生已刪除!", no); if (n = -1) Console.WriteLine("輸入信息有誤,請重新輸入!"); public void Searchno() /信息查詢(按學號) int n = -1; int no = int.Parse(Console.ReadLine();/用循環
11、對獲取的no進行判斷 for (int i = 0; i < x; i+) /對輸入的no判斷 if (no = studi.no) n = i; /判斷后輸出顯示 studi.ShowStuInfo(); break; if (n = -1) Console.WriteLine("輸入信息有誤,請重新輸入!"); public void Searchname() /信息查詢(按姓名) int n = -1; string name = Console.ReadLine();/用循環對獲取的字符串進行判斷 for (int i = 0; i < x; i+) /
12、對輸入的字符串判斷 if (name = ) n = i; /判斷后輸出顯示 studi.ShowStuInfo(); break; if (n = -1) Console.WriteLine("輸入信息有誤,請重新輸入!"); public void score() /信息查詢(成績單) /用循環對成績進行排序 for (int i = x - 1; i >= 0; i-) for (int j = 0; j <= i; j+) if (studj.all < studj + 1.all) /用冒泡排序法對學生成績排序 studx =
13、 studj; studj = studj + 1; studj + 1 = studx; break; int mc = new intx; /用循環輸出排序后成績 for (int i = 0; i < x; i+) mci = i + 1; Console.Write(mci+"t" ); Console.Write(studi.no+"t" ); Console.Write(+"t" ); Console.Write(studi.chnese+"t" ); Console.Writ
14、e(studi.math+"t" ); Console.Write(studi.english+"t" ); Console.Write(studi.csharp+"t" );Console.Write(studi.ave+"t" );Console.Write(studi.all +"t" );Console.WriteLine(); public void Check() /操作模塊 do Console.WriteLine("請選擇:n1、添加學生信息 n2、刪除學生信息 n3、
15、查詢(按學號) n4、查詢(按姓名)n5、查詢(成績單)n6、退出"); /輸入number int number=int.Parse(Console.ReadLine(); if (number > 6 | number < 1) /對輸入的number判斷 Console.WriteLine("輸入有誤請重新輸入"); switch (number) case 1: Add(); /調用Add()方法添加學生信息 break; case 2: Console.WriteLine("請輸入要刪除學生的學號:"); Delete()
16、; /調用Delete()方法刪除學生信息 break; case 3: Console.WriteLine("請輸入學號:"); Searchno(); /調用該方法按學號查詢學生信息 break; case 4: Console.WriteLine("請輸入姓名:"); Searchname(); /調用該方法按姓名查詢學生信息 break; case 5: Console.WriteLine("成績單:"); Console.WriteLine("名次t學號t姓名t語文t數學t英語t C #t平均t總成績")
17、; score(); /調用該方法顯示排序后的成績單break; case 6: Environment.Exit(0); /調用該方法退出程序break; Console.WriteLine("n是否繼續!"); while (true); / class Test public static void Main(string args) /在主程序中對Check()方法調用 Smanage myuser = new Smanage(); myuser.Check(); 八、 設計總結:這是進入大學的第一次編程實訓,兩周的時間編出一個學生成績管理的控制臺應用程序,因為以前
18、上機練習的時間很少,再加上對學習到的知識點沒有系統的認識,所以剛開始編寫起來比較困難,感覺每一天都是很茫然的過,不過這只是開始,誰都會有這種心理。編程靠的就是毅力,不能因為困難就放棄。接下來的時間里,通過同學之間的討論對這次編程所需要的程序結構逐漸明白了,結構雖然有了,但是細節更重要,在編程是因為一個字母的不同都會影響到整個程序的運行,因此每一次編寫程序都要有細心和耐心。編出的程序一定要有自己的想法,這樣才能達到鍛煉自己的目的,并且能讓自己在熟練掌握所學的知識的同時收獲成功的喜悅。這一次兩周的編程實訓過程中,讓我收獲了不少:編程過程中最為重要的是我對細心謹慎也理解深,每次調試程序出現錯誤時會感到很苦惱,可能是一個符號一個字母或者,程序就會出錯,而這樣的錯誤又很小還不容易找到,這時我們就要有耐心和細心的去找,因為程序都是我們辛苦編出來的,不能輕易的就放棄。在這為期兩周的實訓中掌握并理解了方法的調用和循環
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 西安職業技術學院《軟件設計V:軟件工程導論》2023-2024學年第二學期期末試卷
- 南通大學《小學心理輔導設計》2023-2024學年第二學期期末試卷
- 新鄉工程學院《大數據挖掘及應用》2023-2024學年第二學期期末試卷
- 宜昌科技職業學院《晶體光學實驗》2023-2024學年第二學期期末試卷
- 四川體育職業學院《電工電子》2023-2024學年第二學期期末試卷
- 西安理工大學《虛擬儀器實踐》2023-2024學年第二學期期末試卷
- 西安科技大學《實驗診斷學見習》2023-2024學年第二學期期末試卷
- 廣州美術學院《外科護理學(Ⅱ)》2023-2024學年第二學期期末試卷
- 中華女子學院《電子商務基礎與應用》2023-2024學年第二學期期末試卷
- (高清版)DBJ 08-56-1996 建筑幕墻工程技術規程(玻璃幕墻分冊)
- 浙江寧波鎮海區2025屆中考生物對點突破模擬試卷含解析
- 2025屆八省聯考語文試卷評析及備考策略 課件
- 脫硫塔拆除施工方案
- 北京二十中2025屆高考英語二模試卷含解析
- 《高速公路電動汽車清障救援作業規范》
- 五年級下冊異分母分數加減法練習200題有答案
- 急性心衰的急救護理與流程
- 我的家鄉江西吉安
- 肺栓塞病人的術后護理
- 國開2024年秋《心理健康教育》形考任務1-9答案
- 電力運維管理平臺方案設計
評論
0/150
提交評論