版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、C#語言編程實訓(xùn)報告系部:*班級:*學(xué)號:*姓名:*指導(dǎo)教師:*評語:一、 設(shè)計題目:學(xué)生成績管理系統(tǒng)二、 設(shè)計目的:通過編寫學(xué)生成績管理系統(tǒng):掌握循環(huán)結(jié)構(gòu)、數(shù)組結(jié)構(gòu)、結(jié)構(gòu)體的設(shè)計和應(yīng)用;熟練方法的調(diào)用、選擇結(jié)構(gòu)的具體應(yīng)用、排序檢索功能的設(shè)計;最終提高面向?qū)ο缶幊獭⒎治雠c解決實際問題的能力。三、 項目實現(xiàn)的功能:(1)實現(xiàn)學(xué)生信息的輸入、輸出、查詢和刪除;(2)計算學(xué)生的總成績和平均成績;(3)按總成績排序并顯示;(4)檢索功能,按姓名、學(xué)號進(jìn)行檢索;(5)能夠正常退出程序。四、 設(shè)計原理:根據(jù)學(xué)生成績管理系統(tǒng)使用要求,程序要實現(xiàn)添加、刪除、查詢、正確退出功能,而這就用到了數(shù)組結(jié)構(gòu)、循環(huán)結(jié)構(gòu)、
2、結(jié)構(gòu)類型、檢索方法和退出程序的方法。因為功能要選擇性實現(xiàn),用到了選擇結(jié)構(gòu)的Switch語句,首先計算Switch后表達(dá)式的值,然后判斷是否等于case常量表達(dá)式的值,以決定程序功能的執(zhí)行。Student結(jié)構(gòu)體的應(yīng)用方便了學(xué)生不同信息的輸入;在整個程序中用循環(huán)結(jié)構(gòu)和數(shù)組結(jié)構(gòu)實現(xiàn)信息的輸入、輸出、計算和檢索;數(shù)組實現(xiàn)儲存,但是刪除信息時要注意數(shù)組長度和元素的改變;整個程序中結(jié)構(gòu)、信息的刪除和方法的調(diào)用是重點。選擇數(shù)字3選擇數(shù)字4選擇數(shù)字5選擇數(shù)字6While(ture);選擇數(shù)字2調(diào)用searchno()查詢信息;break;調(diào)用searchname()查詢信息;break;調(diào)用score()查詢
3、成績信息;break;Environment.Exit(0)退出;break;調(diào)用Delete()刪除信息;break;調(diào)用Add()添加信息;break;選擇數(shù)字1從Main()方法中調(diào)用Check()方法開始程序的運(yùn)行執(zhí)行do循環(huán)體中的語句,進(jìn)行選擇數(shù)字的輸入通過Switch語句計算輸入的選擇數(shù)字五、 程序流程圖: 開始 是 否 是 否 是 否 是 否 是 否 是 真 結(jié)束六、 使用及調(diào)試說明:運(yùn)行程序出現(xiàn)控制臺界面后,按照界面顯示的功能選項,根據(jù)需求進(jìn)行選擇,每次選擇后按Enter鍵:1、選擇1進(jìn)入添加信息界面,按提示輸入各項信息;2、選擇2進(jìn)入刪除信息界面,按提示輸入要刪除的學(xué)生信息;
4、3、選擇3進(jìn)入查詢界面,按學(xué)號進(jìn)行查詢;4、選擇4進(jìn)入查詢界面,按姓名進(jìn)行查詢;5、選擇5顯示排序后的成績單;6、選擇6退出程序;七、 源程序代碼:using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace 學(xué)生信息管理 public struct Student /定義名為student的結(jié)構(gòu) public int no; /學(xué)號 public double chnese, math;/各科成績public double english, csharp;public d
5、ouble ave, all; /平均成績、總成績 public string name; /學(xué)生姓名 public void ShowStuInfo() /該方法用于顯示學(xué)生信息 /輸出學(xué)生信息 Console.WriteLine("n學(xué)生信息:"); Console.Write("學(xué)號:0",no,);Console.Write("t姓名:0",name);Console.Write("t語文:0",chnese);Console.Write("t數(shù)學(xué):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 /學(xué)生管理類 int x = 0;/聲明數(shù)組stud Student stud = new Student10; public void Add() /用Add()方法添加學(xué)生信息 /學(xué)生信息的輸入并以student的結(jié)構(gòu)中定義的數(shù)組儲存
7、 Console.WriteLine("請輸入要添加的學(xué)生信息:"); Console.WriteLine("n請輸入學(xué)號:"); 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數(shù)學(xué)成績:"); 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();/定義數(shù)組對輸入成績儲存 doubleinfom=new doublestudx.chnese, studx.math,s
9、tudx.english, studx.csharp ; /以循環(huán)計算總成績、平均成績 for (int i = 0; i < infom.Length; i+) studx.all += infomi; studx.ave = studx.all / 4; studx.ShowStuInfo();/顯示計算后學(xué)生信息 x= x+1; public void Delete() /刪除信息 int n = -1; int no = int.Parse(Console.ReadLine();/用循環(huán)對獲取的no進(jìn)行判斷 for (int i = 0; i < x; i+) if (no
10、 = studi.no) n = i; for (int c = n + 1; c < x; c+) /交換數(shù)組索引值對指定元素進(jìn)行刪除 studc - 1 = studc; x=x- 1; break; Console.WriteLine("學(xué)號為0的學(xué)生已刪除!", no); if (n = -1) Console.WriteLine("輸入信息有誤,請重新輸入!"); public void Searchno() /信息查詢(按學(xué)號) int n = -1; int no = int.Parse(Console.ReadLine();/用循環(huán)
11、對獲取的no進(jìn)行判斷 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();/用循環(huán)對獲取的字符串進(jìn)行判斷 for (int i = 0; i < x; i+) /
12、對輸入的字符串判斷 if (name = ) n = i; /判斷后輸出顯示 studi.ShowStuInfo(); break; if (n = -1) Console.WriteLine("輸入信息有誤,請重新輸入!"); public void score() /信息查詢(成績單) /用循環(huán)對成績進(jìn)行排序 for (int i = x - 1; i >= 0; i-) for (int j = 0; j <= i; j+) if (studj.all < studj + 1.all) /用冒泡排序法對學(xué)生成績排序 studx =
13、 studj; studj = studj + 1; studj + 1 = studx; break; int mc = new intx; /用循環(huán)輸出排序后成績 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、添加學(xué)生信息 n2、刪除學(xué)生信息 n3、
15、查詢(按學(xué)號) n4、查詢(按姓名)n5、查詢(成績單)n6、退出"); /輸入number int number=int.Parse(Console.ReadLine(); if (number > 6 | number < 1) /對輸入的number判斷 Console.WriteLine("輸入有誤請重新輸入"); switch (number) case 1: Add(); /調(diào)用Add()方法添加學(xué)生信息 break; case 2: Console.WriteLine("請輸入要刪除學(xué)生的學(xué)號:"); Delete()
16、; /調(diào)用Delete()方法刪除學(xué)生信息 break; case 3: Console.WriteLine("請輸入學(xué)號:"); Searchno(); /調(diào)用該方法按學(xué)號查詢學(xué)生信息 break; case 4: Console.WriteLine("請輸入姓名:"); Searchname(); /調(diào)用該方法按姓名查詢學(xué)生信息 break; case 5: Console.WriteLine("成績單:"); Console.WriteLine("名次t學(xué)號t姓名t語文t數(shù)學(xué)t英語t C #t平均t總成績")
17、; score(); /調(diào)用該方法顯示排序后的成績單break; case 6: Environment.Exit(0); /調(diào)用該方法退出程序break; Console.WriteLine("n是否繼續(xù)!"); while (true); / class Test public static void Main(string args) /在主程序中對Check()方法調(diào)用 Smanage myuser = new Smanage(); myuser.Check(); 八、 設(shè)計總結(jié):這是進(jìn)入大學(xué)的第一次編程實訓(xùn),兩周的時間編出一個學(xué)生成績管理的控制臺應(yīng)用程序,因為以前
18、上機(jī)練習(xí)的時間很少,再加上對學(xué)習(xí)到的知識點沒有系統(tǒng)的認(rèn)識,所以剛開始編寫起來比較困難,感覺每一天都是很茫然的過,不過這只是開始,誰都會有這種心理。編程靠的就是毅力,不能因為困難就放棄。接下來的時間里,通過同學(xué)之間的討論對這次編程所需要的程序結(jié)構(gòu)逐漸明白了,結(jié)構(gòu)雖然有了,但是細(xì)節(jié)更重要,在編程是因為一個字母的不同都會影響到整個程序的運(yùn)行,因此每一次編寫程序都要有細(xì)心和耐心。編出的程序一定要有自己的想法,這樣才能達(dá)到鍛煉自己的目的,并且能讓自己在熟練掌握所學(xué)的知識的同時收獲成功的喜悅。這一次兩周的編程實訓(xùn)過程中,讓我收獲了不少:編程過程中最為重要的是我對細(xì)心謹(jǐn)慎也理解深,每次調(diào)試程序出現(xiàn)錯誤時會感到很苦惱,可能是一個符號一個字母或者,程序就會出錯,而這樣的錯誤又很小還不容易找到,這時我們就要有耐心和細(xì)心的去找,因為程序都是我們辛苦編出來的,不能輕易的就放棄。在這為期兩周的實訓(xùn)中掌握并理解了方法的調(diào)用和循環(huán)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- flash 課件教學(xué)課件
- 自愿放棄孩子協(xié)議書(2篇)
- 購買籽種合同范本(2篇)
- 高中技術(shù)《技術(shù)與設(shè)計II》課堂強(qiáng)化練習(xí)
- 節(jié)婦吟課件教學(xué)課件
- 南京航空航天大學(xué)《短片創(chuàng)作》2021-2022學(xué)年第一學(xué)期期末試卷
- 南京工業(yè)大學(xué)浦江學(xué)院《數(shù)值分析》2023-2024學(xué)年第一學(xué)期期末試卷
- 畢業(yè)論文(設(shè)計)-香榭美臨住宅樓工程施工組織設(shè)計
- 深圳人民醫(yī)院幕墻工程施工組織設(shè)計
- 《致橡樹》說課稿
- 數(shù)據(jù)恢復(fù)業(yè)務(wù)合同
- 智能化工程監(jiān)理實施細(xì)則
- 《民法典》全文學(xué)習(xí)PPT
- zzf微血管減壓術(shù)治療舌咽神經(jīng)痛
- SPECTRO MAXx 06直讀光譜儀操作規(guī)程
- PCS9700 監(jiān)控后臺操作方法培訓(xùn)
- creo自頂向下設(shè)計方法
- 物流配送中心規(guī)劃與設(shè)計課件
- 常用截止閥尺寸表
- 2013三無班組評定標(biāo)準(zhǔn)
- 二年級《看圖寫話》教學(xué)設(shè)計
評論
0/150
提交評論