2924.課程設計報告家庭理財系統(tǒng)報告和源碼

上傳人:仙*** 文檔編號:37440648 上傳時間:2021-11-03 格式:DOC 頁數(shù):15 大?。?65.50KB
收藏 版權申訴 舉報 下載
2924.課程設計報告家庭理財系統(tǒng)報告和源碼_第1頁
第1頁 / 共15頁
2924.課程設計報告家庭理財系統(tǒng)報告和源碼_第2頁
第2頁 / 共15頁
2924.課程設計報告家庭理財系統(tǒng)報告和源碼_第3頁
第3頁 / 共15頁

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

0 積分

下載資源

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

資源描述:

《2924.課程設計報告家庭理財系統(tǒng)報告和源碼》由會員分享,可在線閱讀,更多相關《2924.課程設計報告家庭理財系統(tǒng)報告和源碼(15頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、 《家庭理財系統(tǒng)》 課程設計報告 源文件及打包安裝文件聯(lián)系本人 姓 名: 學 號: 班 級: 級 班 專 業(yè): 計算機科技與技術 指導教師: 時 間: 10年1月1號 大學 計算機科學與信息學院 目 錄

2、 1 課程設計目的 ………………………………………………… 3 2 課程設計題目描述和要求……………………………………… 3 3 課程設計報告內容……………………………………………… 4 4 總結………………………………………………………………14 5 參考書目……………………………………………………………15 5 附錄……………………………………………………………… 15 一、課程設計目的 通過課程設計,使學生能夠掌握C++語言(VC++)的基本內容及程序設計的基本方法與編程技巧,使學生具有應用計算機解決實際問題的基本能力

3、,培養(yǎng)學生掌握使用計算機處理問題的思維方法與途徑, 培養(yǎng)良好的程序設計風格,使學生能夠獨立編制和調試各種結構的面向對象的C++語言程序。初步掌握軟件開發(fā)過程的問題分析、系統(tǒng)設計、程序編碼、測試等基本方法和技能;提高綜合運用所學的理論知識和方法獨立分析和解決問題的能力; 完成所選設計題目,上機調試通過該程序系統(tǒng)所有功能;編寫設計說明書,內容包括:課程設計的目的、意義;設計任務;總體設計方案;軟件設計(各功能模塊的流程圖及詳細的文字說明);軟件系統(tǒng)的使用說明;收獲、體會等;參考文獻。書寫要整潔、規(guī)范,裝訂成冊。 二、課程設計題目描述和要求 1、開發(fā)系統(tǒng)的功能介紹 (1)增加收支窗體

4、 主要為各家庭收入和消費時增加的項目窗體,包括收支類別、收支屬性、金額,描述。點擊增加按鈕后,可在主頁面顯示剛增加的數(shù)據(jù)。 (2)刪除收支按鈕 主要功能是刪除所選中的收支項目,然后得到所選項目的流水號,進行刪除,如增加了多余的收入,就可以方便的刪除,能及時的準確的刪除不必要的收支項目 (3)修改收支窗體 選要進行修改的信息,修改按鈕,將會彈出修改頁面,修改所要改動的數(shù)據(jù),點修改,能及時的修正數(shù)據(jù)。 (4)收支查詢窗體 可按流水號、收支類別、金額、進行查詢,點擊查詢按鈕后能快速的查詢出所要查詢的收支數(shù)據(jù)。 (5)系統(tǒng)注冊窗體

5、 用自己喜歡的用戶名和密碼進行注冊,方能使用本系統(tǒng),如不進行注冊,不能進入系統(tǒng),失去所有的系統(tǒng)操作。 2、解決的問題 本課程設計的題目為“家庭理財系統(tǒng)”,應用.net開發(fā)平臺實現(xiàn),開發(fā)語言為C#,在開發(fā)的過程中開已出了安裝包(可看附件),安裝及可使用本系統(tǒng),它能解決家庭的時時理財,方便清查詢現(xiàn)有財務和所用財務。一切直觀明了。 三、課程設計報告內容 (一) 需求分析 長期以來人們使用傳統(tǒng)的大腦記憶方式來管理家里的日常消費,其很麻煩,靠大腦的記憶,只能記住很短的時間,所以常常為錢不知去向而煩,而有時常常會想不起一些消費記錄,家里的理財很是混亂等問題,綜上所看,靠人腦記憶理財存在很大

6、的不足。為此,家庭理財系統(tǒng)為家庭解決了上述問題,提供了快速,直觀明了的理財過程,方便使用。 (二)系統(tǒng)設計 根據(jù)家庭的消費和收入記錄要求,和記錄數(shù)據(jù)的一些習慣,該系統(tǒng)實施后,應能達到以下目標: 界面設計友好,美觀,數(shù)據(jù)存儲安全,可靠。 基本的設置保證收入和支出分類管理。 強大的查詢功能,保證數(shù)據(jù)查詢的靈活性。 對增加,刪除,修改,查詢的信息進行精密設計,保證能及時處理信息。 采用人機對話方式,方便日常操作。 系統(tǒng)最大限度地實現(xiàn)了易維護性和易操作性。 (三)操作流程 用戶—>注冊—>登錄—>操作界面—>增加收支->增加收支界面->增加

7、 查詢收支-> 查詢收支界面->查詢 刪除記錄->刪除當前所選定的數(shù)據(jù)項->操作 修改記錄—修改收支界面->修改 操作界面 通訊錄編輯系統(tǒng) 增加收支 登陸 修改記錄 刪除記錄 查詢收支 注冊 查詢收支界面 查詢收支界面 修改記錄界面 增加收支界面 (四)系統(tǒng)功能結構 根據(jù)家庭理財系統(tǒng)的特點,可將其分為:系統(tǒng)登錄、系統(tǒng)注冊用戶,主界面、查詢界面、修改界面、增加界面。其各部分的具體功能模塊如圖: 家庭理財系統(tǒng) 用戶登錄 用戶注冊 主界面

8、 查詢界面 修改界面 增加界面 (五)系統(tǒng)預覽 為了初步了解家庭理財系統(tǒng),下面分別給出系統(tǒng)中的兩個界面。 登錄頁面: 主窗體頁面: (六)構建開發(fā)環(huán)境 系統(tǒng)開發(fā)環(huán)境: 系統(tǒng)開發(fā)環(huán)境:Microsoft Visual Studio 2005集成開發(fā)環(huán)境。 系統(tǒng)開發(fā)語言:C#。 系統(tǒng)數(shù)據(jù)庫:Access. 開發(fā)運行環(huán)境:Windows XP 系統(tǒng)服務運行環(huán)境:M Framework 2.0. 最佳效果:1024*768。 (七)數(shù)據(jù)庫設計 本系統(tǒng)采用Access數(shù)據(jù)庫,名稱為Familydb,其包含3張表,其E-R圖如下:收支記錄 流水號 類別

9、 收支項目 日期 備注 金額 ................................... Familyuser表: Consume表: Remuser表: (八)文件夾組織結構 為了方便對本系統(tǒng)的了解,現(xiàn)將文件系統(tǒng)展示如下: (九)公共類設計 在開發(fā)過程中,經(jīng)常會用到一些公共的模塊,如數(shù)據(jù)庫的連接及操作的類,字串的處理的類等,因此,在開發(fā)系統(tǒng)前,首先要設計 這些公共模塊,下面將介紹家庭理財系統(tǒng)中所需要的數(shù)據(jù)庫操作類,農數(shù)據(jù)庫操作類用來完成數(shù)據(jù)庫的連接操作,以及數(shù)據(jù)庫的查詢,添加,刪除修改操作,現(xiàn)將這幾種操作編寫到一個公

10、共類里,可以減少代碼的編寫工作,有利于代碼的維護。 (1)首先在命空間using system data.sqlclient下創(chuàng)建Conn() 方法 此方法用來連接數(shù)據(jù)庫,返加類型為sqlconnection 代碼如下: public static OleDbConnection Conn() { string constring ="Provider=Microsoft.Jet.OleDb.4.0;"; constring += @"Data Source=App_Date\Familydb.mdb"; OleDbConnection con

11、= new OleDbConnection(constring); return con; } (2)UserAction.cs類為數(shù)據(jù)庫的操作: public static bool DeleteData(string Table, string KeyName, int Id) { string sql = "delete from " + Table + " where " + KeyName + "=" + Id + ""; if (ExcuteUpdateData(sql) != -1)

12、{ return true; } else { return false; } } public static DataSet ExecuteSelectSql(string Select_str) { OleDbConnection con = DBcon.Conn(); OleDbDataAdapter sda = new OleDbDataAdapter(Select_str,

13、 con); DataSet ds = new DataSet(); try { sda.Fill(ds); } catch (Exception ex) { throw new Exception(ex.Message); } finally { con.Close(); sda.Dispose(); }

14、 return ds; } public static OleDbDataAdapter ExecuteSelectSql_AspNetPager(string Select_str) { OleDbConnection con = DBcon.Conn(); OleDbDataAdapter sda = new OleDbDataAdapter(Select_str, con); con.Close(); return sda; } public static

15、int ExcuteUpdateData(string sql) { int action = -1; OleDbConnection con = DBcon.Conn(); OleDbCommand cmd = new OleDbCommand(sql, con); try { con.Open(); action = cmd.ExecuteNonQuery(); } catch (Exception

16、ex) { throw new Exception(ex.Message); } finally { con.Close(); cmd.Dispose(); } return action; } public static bool Base_DeleteData(string Table, string KeyName, int Id) { string

17、 sql = "delete from " + Table + " where " + KeyName + "=" + Id + ""; if (ExcuteUpdateData(sql) != -1) { return true; } else { return false; } } (十)各界面代碼及功能實現(xiàn) (1)登錄界面: 功能:登陸 實現(xiàn)登錄在按鈕loginbtn下代碼: pr

18、ivate void loginbtn_Click(object sender, EventArgs e) { string usern = LoginUser.Text.Trim().ToString(); string userp = UserPassword.Text.Trim().ToString(); string sql = "select userName,userPassword from Familyuser where userName=" + usern + " and userPassword="+userp+""; DataSet ds =

19、new DataSet(); ds = UserAction.ExecuteSelectSql(sql); if (ds.Tables[0].Rows.Count > 0) { MessageBox.Show("登錄成功,將進入主界面"); MainForm mForm = new MainForm(); mForm.Show();

20、 this.Hide(); } } } (2)注冊界面: 功能:注冊。 實現(xiàn)注冊功能:在按鈕(注冊)下 private void rigistbtn1_Click(object sender, EventArgs e) { string sql = "insert into Familyuser(userName,userPassword) values(" + rigistname.Text.Trim().ToString()

21、 + "," + rigistpassword.Text.Trim().ToString() + ")"; if (UserAction.ExcuteUpdateData(sql) != -1) { string sql1 = "insert into remuser(userName,userPassword) values(" + rigistname.Text.Trim().ToString() + "," + rigistpassword.Text.Trim().ToStrin

22、g() + ")"; if (UserAction.ExcuteUpdateData(sql1) != -1) { MessageBox.Show("增加了新用戶"); lform.getusername(rigistname.Text.Trim()); this.Close(); } } }

23、 (3)主界面: 功能:數(shù)據(jù)的顯示,時間顯示,各窗口跳轉。 顯示數(shù)據(jù)代碼:在窗體加載時 private void MainForm_Load(object sender, EventArgs e) { string sql = "select * from Consume"; datexianshi.DataSource = UserAction.ExecuteSelectSql(sql); datexianshi.DataMember = UserAction.ExecuteSelectSql(sql).Tables[0].TableName

24、; 顯示當前時間:在窗體加載時 DateTime dt = DateTime.Now; string date = dt.ToLongDateString(); string time = dt.ToLongTimeString(); lbtime.Text = date + time; } (4) 增加收支界面 功能:增加收支 實現(xiàn)增加收支代碼: private void button1_Click(object sender, EventArgs e) { int money1 = Convert.ToI

25、nt32(textBox1.Text); string sql = "insert into Consume(Type,Category,ConsumeMoney,Discription) values(" + comboBox1.Text + "," + comboBox2.Text + "," + money1 + "," + textBox2.Text + ")"; if (UserAction.ExcuteUpdateData(sql) != -1) { MessageBox

26、.Show("添加成功"); MainForm ifrom = new MainForm(); ifrom.Show(); this.Close(); } } (5)查詢界面 功能:按各類別查詢 主要代碼:如按流水號(ID)查詢 private void button1_Click(object sender, EventArgs e) { if (selectbox.Text.Trim()

27、.ToString()!="") { int idd=Convert.ToInt32(selectbox.Text); string sql = "select * from Consume where ID="+idd+""; dataGridView1.DataSource = UserAction.ExecuteSelectSql(sql); dataGridView1.DataMember = UserAction.Execu

28、teSelectSql(sql).Tables[0].TableName; dataGridView1.Columns[0].HeaderCell.Value = "流水號"; dataGridView1.Columns[1].HeaderCell.Value = "日期"; dataGridView1.Columns[2].HeaderCell.Value = "類別"; dataGridView1.Columns[3].HeaderCell.Value =

29、 "收支項目"; dataGridView1.Columns[4].HeaderCell.Value = "金額"; dataGridView1.Columns[5].HeaderCell.Value = "備注"; } else { MessageBox.Show("流水號為空了"); } } (6)修改界面 功能:實

30、現(xiàn)數(shù)據(jù)的修改 其它實現(xiàn)代碼為: private void bupdate_Click(object sender, EventArgs e) { string date = year.Text + - + month.Text + - + day.Text; int idd = Convert.ToInt32(txtliushui.Text); int money1 = Convert.ToInt32(txtmoney.Text); string sq

31、l = "update Consume set ConsumeDate=" + date + ",Type=" + cobtype.Text + ",Category=" + comshou.Text + ",ConsumeMoney=" + money1 + " ,Discription=" + txtdiscription .Text.ToString()+ " where id=" + idd + ""; if (UserAction.ExcuteUpdateData(sql) == 1) {

32、 MessageBox.Show("修改成功"); string sql1 = "select * from Consume"; datexianshi.DataSource = UserAction.ExecuteSelectSql(sql1); datexianshi.DataMember = UserAction.ExecuteSelectSql(sql1).Tables[0].TableName; }

33、 } 四、總結 這次的課程設計牽扯到了很多以前學到的一些東西,或許在某個方面是反映我這三年來的所學的成果。在開發(fā)這個系統(tǒng)的過程中,碰到很多的問題,有些是大的,而有些是很小的問題,只是自己沒有仔細的看清楚,沒有注意細節(jié)問題。不過在解決了問題后,卻是不一樣的心情,首先是讓我放松了,畢竟是難題解決了。第二是充實了很多,因為在解決了問題的同時,我又學到了一點。 在編制過程中,我首先考慮到了界面的友好性,并在界面設計時不采用煩瑣的細節(jié),使界面簡單、清晰,便于操作。本次編制中的不足之處是因為是首次嘗試這個管理系統(tǒng),可能在實際應用中有些功能不到位,我將不斷提高自己

34、,爭取今后在編制程序時,能編寫出有個性且應用性較強的管理系統(tǒng)。 通過這次課程設計,對應用.net C# winform開發(fā)設計,我付出了大量的時間,但是,我得到的收獲遠遠不是這些時間可以衡量的,它將是我終生的財富,必將給我今后的學習和工作帶來更多的收益。通過對此課題的開發(fā),使我對用.net C# winform開發(fā)系統(tǒng)有了一個比較清楚的認識,體會到理論和實踐的重要性。由于自己的分析設計和程序經(jīng)驗不足,該系統(tǒng)設計和實現(xiàn)過程中,還有許多沒有完善的地方,比如用戶界面設計不夠美觀,異常出錯處理比較差等多方面問題,這些都有待進一步完善和提高。對于文中出現(xiàn)的不足和系統(tǒng)中出現(xiàn)的問題敬請老師指導。 參考書目: C#大學教程 C# .net窗體開發(fā)一百例 C#高級編程第四版 附 錄: 一般數(shù)據(jù)庫文件默認在App_Date文件夾下 如果使用VS2005打開本站項目文件fimily.sln。建議打開前務必安裝VS2005 點擊運行即可(F5)。另外本軟件已做好安裝程序,運行之前確定安裝了M Framework 2.0. 程序見附件

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

相關資源

更多
正為您匹配相似的精品文檔

相關搜索

關于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

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

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


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