學生個人收支系統課程設計_第1頁
已閱讀1頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p><b>  工學系課程設計報告</b></p><p>  設 計 題 目:學生個人收支系統設計 </p><p>  系 別:工學系 </p><p>  專 業(yè) (方 向):信息管理與信息系統 </p><p>

2、;  年 級、 班: </p><p>  學 生 姓 名: </p><p>  學 生 學 號: </p><p>  指 導 教 師: </p><p>  2013 年 月 日</p>

3、;<p><b>  目錄</b></p><p>  一、系統開發(fā)的背景1</p><p>  二、系統分析與設計1</p><p> ?。ㄒ唬┫到y功能要求1</p><p> ?。ǘ┫到y模塊結構設計1</p><p>  三、系統的設計與實現2</p>

4、<p><b>  (一)主菜單2</b></p><p> ?。ǘ┎樵兡吃率罩闆r3</p><p> ?。ㄈ┎榭词罩判?</p><p>  (四)修改某月收支情況5</p><p><b>  四、系統測試6</b></p><p>

5、; ?。ㄒ唬y試main()函數6</p><p><b>  五、總結8</b></p><p>  六、附件(代碼、部分圖表)9</p><p>  學生個人收支系統設計</p><p><b>  一、系統開發(fā)的背景</b></p><p>  為了查詢某同學每

6、月的全部收入及各項開支情況,包括收入,伙食消費,日常用品費用,水電費,醫(yī)療費,娛樂等,因此設計出此“學生個人收支系統”。另外此系統為防止有錄入數據錯誤的情況,因此進入系統后可以輸入和修改某月的收支情況。為了使月收支大小更加直觀,因此系統可以對每月的開支從小到大進行排序。</p><p><b>  二、系統分析與設計</b></p><p><b>  系統

7、功能要求</b></p><p>  可以查詢該同學某月的收支情況;可以查看該同學月收入排序、月支出排序以及某月開支的排序;可以修改提前錄入的數據。</p><p>  查看某月收支基本信息(收入、伙食消費、日常用品費用、水電網費、醫(yī)療費),并對其開支從小到大進行排序;</p><p><b>  查看收支排序;</b></p

8、><p>  (1)、查看學生收入排序表</p><p> ?。?)、查看學生支出排序表</p><p><b>  修改某月收支情況;</b></p><p><b>  系統模塊結構設計</b></p><p>  通過對系統功能的分析,學生個人收支系統功能如圖X所示。<

9、;/p><p>  圖1 學生個人收支系統功能圖</p><p>  通過上圖的功能分析,把整個系統劃分為3個模塊:</p><p>  該學生某月收支信息瀏覽,該模塊主要實現:該學生某月收支信息的輸出,借助函數結構體struct和函數輸出語句printf來實現;學生該月支出排序(由小到大)將要比較的數據都存入一個一維數組中,然后運用枚舉排序法;{shuchu()函數、

10、daxiao()函數}</p><p>  查看月收入排序和月支出排序,該模塊主要實現,該學生月收入排序,引用結構體變量對buy[12].get運用枚舉排序法進行排序;該學生月支出排序,引用結構體變量buy[12].get、buy[12].unuse,將buy[i].get-buy[i].unuse的值運用for循環(huán)存入到新數組e[12]中,然后運用枚舉排序法;{paixu()函數、shouru()函數、zhic

11、hu()函數}</p><p>  修改某月收支情況,定義新數組x[8],然后運用scanf與for循環(huán)從鍵盤輸入某月新的收支情況存放到x[8]中,然后將x[8]里每個元素賦值給buy[某月]; {paixu()函數}</p><p>  三、系統的設計與實現</p><p><b>  主菜單</b></p><p>

12、  分析:程序運行首先要看到主菜單,考慮到在后面的運行步驟中會出現返回上級菜單操作,故將主菜單定義成函數。</p><p>  void zhucaidan()</p><p><b>  {int a;</b></p><p>  printf("*******************************************

13、*********************\n");</p><p>  printf("\t\t\t學生個人收支系統設計\n");</p><p>  printf("1、查詢某月收支情況\n2、查看收支排序\n3、修改某月收支情況\n4、退出\n");</p><p>  printf("選擇:\n&q

14、uot;);</p><p>  scanf("%d",&a);</p><p>  printf("*****************************************************************\n");</p><p><b>  switch(a)</b>

15、</p><p>  { case 1:chaxun(); break;</p><p>  case 2:paixu();break;</p><p>  case 3:xiugai();break;</p><p>  case 4:break;</p><p>  default:printf("輸入錯

16、誤!\n"); </p><p><b>  }</b></p><p><b>  }</b></p><p><b>  查詢某月收支情況</b></p><p>  void chaxun()</p><p>  {struct stu;

17、</p><p><b>  int y;</b></p><p><b>  for(;;)</b></p><p>  {printf("****************************************************************\n");</p>

18、<p>  printf("請輸入月份,查詢該月收支情況!\n結束查詢請輸入0\n");</p><p>  scanf("%d",&y);</p><p>  if(1<=y&&y<=12)</p><p>  {shuchu(y);</p><p> 

19、 printf("對該月支出做出從小到大排序:\n");</p><p>  daxiao(y);}</p><p>  else if(y==0)</p><p>  {printf("歡迎下次查詢\n");zhucaidan();}</p><p><b>  else </b>

20、;</p><p>  printf("輸入錯誤!\n");</p><p>  printf("****************************************************************\n");</p><p><b>  }</b></p><

21、;p><b>  }</b></p><p><b>  查看收支排序</b></p><p>  排序又分為收入排序和支出排序。</p><p>  void paixu()</p><p><b>  {int d;</b></p><p> 

22、 printf("****************************************************************\n");</p><p>  printf("1、查看學生收入排序表\n2、查看學生支出排序表\n3、返回主菜單\n選擇:\n");</p><p>  scanf("%d",&

23、;d);</p><p>  printf("****************************************************************\n");</p><p><b>  switch(d)</b></p><p>  { case 1:shouru();break;</p&g

24、t;<p>  case 2:zhichu();break;</p><p>  case 3:zhucaidan();</p><p>  default:printf("輸入錯誤!\n"); </p><p><b>  }</b></p><p><b>  }</

25、b></p><p>  void shouru()</p><p>  {int i,j,k,m;float t;</p><p>  for(i=0;i<11;i++)</p><p>  for(j=i+1;j<12;j++)</p><p>  if(buy[i].get>buy[j].

26、get)</p><p>  {t=buy[i].get;k=buy[i].month;buy[i].get=buy[j].get;buy[i].month=buy[j].month;buy[j].get=t;buy[j].month=k;}</p><p>  printf("***************************************************

27、*************\n");</p><p>  printf("\t\t學生收入排序表(升序)\n");</p><p>  for(i=0;i<12;i++)</p><p>  printf("收入%f元\t第%d月\n",buy[i].get,buy[i].month);</p>

28、<p>  printf("****************************************************************\n");</p><p>  printf("1、退出\n2、返回上級菜單\n選擇:\n");</p><p>  scanf("%d",&m);</

29、p><p><b>  switch(m)</b></p><p>  { case 1:break;</p><p>  case 2:paixu();</p><p>  default:printf("輸入錯誤!\n");</p><p><b>  }</

30、b></p><p><b>  }</b></p><p>  void zhichu()</p><p>  {int i,j,k,m;float t,e[12];</p><p>  for(i=0;i<12;i++)</p><p>  e[i]=buy[i].get-buy[

31、i].unuse;</p><p>  for(i=0;i<11;i++)</p><p>  for(j=i+1;j<12;j++)</p><p>  if(e[i]>e[j])</p><p>  {t=e[i];k=buy[i].month;e[i]=e[j];</p><p>  buy[i

32、].month=buy[j].month;e[j]=t;buy[j].month=k;}</p><p>  printf("****************************************************************\n");</p><p>  printf("\t\t學生支出排序表(升序)\n");</

33、p><p>  for(i=0;i<12;i++)</p><p>  printf("支出%f元\t第%d月\n",e[i],buy[i].month);</p><p>  printf("****************************************************************\n"

34、;);</p><p>  printf("1、退出\n2、返回上級菜單\n選擇:\n");</p><p>  scanf("%d",&m);</p><p><b>  switch(m)</b></p><p>  { case 1:break;</p>

35、<p>  case 2:paixu();</p><p>  default:printf("輸入錯誤!\n");</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  修改某月收支情況</b&

36、gt;</p><p>  void xiugai()</p><p>  {int y,i;float x[8];</p><p><b>  for(;;)</b></p><p>  {printf("****************************************************

37、************\n");</p><p>  printf("輸入要修改的月份:\n結束修改請輸入0\n");</p><p>  scanf("%d",&y);</p><p>  if(1<=y&&y<=12)</p><p>  {shuch

38、u(y);</p><p>  printf("請錄入新的數據:\n");</p><p>  for(i=1;i<8;i++)</p><p>  scanf("%f",&x[i]);</p><p>  buy[y-1].get=x[1];buy[y-1].eat=x[2]; buy[

39、y-1].dayuse=x[3]; buy[y-1].water=x[4]; buy[y-1].doctor=x[5];</p><p>  buy[y-1].play=x[6]; buy[y-1].unuse=x[7];</p><p>  shuchu(y);}</p><p>  else if(y==0)</p><p>  {pri

40、ntf("修改結束!\n");zhucaidan();}</p><p><b>  else </b></p><p>  printf("輸入錯誤!\n");</p><p>  printf("************************************************

41、****************\n");</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  四、系統測試</b></p><p>  測試main()函數</p><p>  測試該函

42、數使用的測試方法,測試的具體步驟,測試用例的選取,測試的結果。</p><p><b>  查詢</b></p><p><b>  排序</b></p><p><b>  修改</b></p><p><b>  五、總結</b></p>

43、<p>  系統完成了學生個人收支系統記錄某同學每月的全部收入及各項開支情況,包括收入,伙食消費,日常用品費用,水電費,醫(yī)療費,娛樂等。進入系統后可以輸入和修改某月的收支情況,可以對每月的開支從小到大進行排序,可以根據輸入的月份查詢每月的收支情況的功能。</p><p>  系統有多次返回主菜單后無法退出系統的不足。</p><p>  我的收獲:學會了熟練使用結構體數據類型;

溫馨提示

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

評論

0/150

提交評論