2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩13頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、<p>  課 程 設(shè) 計(jì) 說(shuō) 明 書</p><p>  課程名稱: 高級(jí)語(yǔ)言程序設(shè)計(jì) </p><p>  設(shè)計(jì)題目: 學(xué)生成績(jī)管理 </p><p>  院 部: 計(jì)算機(jī)科學(xué)與信息工程學(xué)院 </p><p>  學(xué)生姓名:

2、 </p><p>  學(xué) 號(hào): </p><p>  專業(yè)班級(jí): </p><p>  指導(dǎo)教師: </p><p><b>  2013年 6月</b></p&

3、gt;<p>  課 程 設(shè) 計(jì) 任 務(wù) 書</p><p><b>  目 錄</b></p><p><b>  1 前言1</b></p><p><b>  2 需求分析1</b></p><p><b>  3 概要設(shè)計(jì)1</b&

4、gt;</p><p><b>  4 詳細(xì)設(shè)計(jì)2</b></p><p>  5 改進(jìn)或增加功能模塊說(shuō)明4</p><p><b>  6 程序測(cè)試4</b></p><p>  7 課程設(shè)計(jì)總結(jié)5</p><p><b>  8 致 謝5</

5、b></p><p><b>  9 參考文獻(xiàn)5</b></p><p><b>  10 源程序5</b></p><p><b>  學(xué)生成績(jī)管理</b></p><p><b>  1 前言</b></p><p>

6、  編寫一個(gè)程序來(lái)實(shí)現(xiàn)算術(shù)計(jì)算器。通過(guò)結(jié)構(gòu)體數(shù)組和共用體數(shù)組來(lái)存放輸入的每一數(shù)字或運(yùn)算符號(hào)的記錄(包括1、2、3等數(shù)字,+、--、*、等運(yùn)算符號(hào)),然后將其信息存入文件中。輸入一個(gè)算術(shù)計(jì)算式,就在屏幕上顯示結(jié)果。</p><p><b>  2 需求分析</b></p><p><b>  2.1要求</b></p><p&g

7、t;  (1)用C語(yǔ)言實(shí)現(xiàn)程序設(shè)計(jì);</p><p> ?。?)利用結(jié)構(gòu)體、共用體進(jìn)行相關(guān)信息處理;</p><p> ?。?)畫出查詢模塊的流程圖;</p><p> ?。?)系統(tǒng)的各個(gè)功能模塊要求用函數(shù)的形式實(shí)現(xiàn);</p><p> ?。?)界面友好(良好的人機(jī)互交),程序要有注釋。</p><p><b&g

8、t;  2.2任務(wù)</b></p><p> ?。?)定義一個(gè)結(jié)構(gòu)體類型數(shù)組,輸入0~9及+、--、*等符號(hào)的信息,將其信息存入文件中;</p><p> ?。?)輸入簡(jiǎn)單的加減乘除算術(shù)計(jì)算式,并在屏幕上顯示計(jì)算結(jié)果;</p><p> ?。?)畫出部分模塊的流程圖;</p><p><b> ?。?)編寫代碼;<

9、/b></p><p> ?。?)程序分析與調(diào)試。</p><p><b>  2.3運(yùn)行環(huán)境</b></p><p>  (1)WINDOWS2000/XP系統(tǒng)</p><p> ?。?)TurboC2.0編譯環(huán)境</p><p><b>  2.4開(kāi)發(fā)工具</b>&

10、lt;/p><p><b>  C語(yǔ)言</b></p><p><b>  3 概要設(shè)計(jì)</b></p><p><b>  3.1系統(tǒng)流程圖</b></p><p>  3.2查詢函數(shù)流程圖</p><p><b>  4 詳細(xì)設(shè)計(jì)</b&

11、gt;</p><p>  在程序的開(kāi)頭部分定義了結(jié)構(gòu)體類型,用來(lái)存放按鈕信息,代碼如下。</p><p>  struct s_button /*按鍵的結(jié)構(gòu)體*/</p><p><b>  {</b></p><p>  int sx,sy,ex,ey;</p><p>  char *h

12、ead;</p><p>  int press;</p><p>  }button[17]; /*圖表按鍵數(shù)*/</p><p>  char far *vid_mem;</p><p>  static int tx=32,ty=3; /*靜態(tài)變量*/</p><p>  float v1=0.0,v2=0

13、.0;</p><p>  用輸入函數(shù)input()來(lái)輸入按鍵放在s_button數(shù)組中。</p><p>  再定義結(jié)構(gòu)體棧,代碼如下。</p><p>  struct stack /*結(jié)構(gòu)體棧*/</p><p><b>  {</b></p><p>  char s[20];<

14、/p><p>  int tos,top;</p><p><b>  }stack;</b></p><p><b>  char tag;</b></p><p>  用于數(shù)據(jù)的輸入和存放。</p><p>  進(jìn)而定義了表格窗口函數(shù),窗口畫線函數(shù)和邊界線函數(shù),代碼如下。&l

15、t;/p><p>  int form_win() /*表格窗口初始化*/</p><p><b>  {</b></p><p>  textbackground(WHITE); /*窗口背景顏色*/</p><p>  clrscr(); /*清零*/</p><p>  draw_win

16、(); /*窗口畫線*/</p><p>  active_button(); /*窗口按鍵*/</p><p>  out_text_win(); /*輸出文本窗口*/</p><p>  window_xy(32,3); /*計(jì)算結(jié)果窗口*</p><p>  draw_win() /*邊框畫線窗口*/</p>

17、<p><b>  … … …</b></p><p>  draw_border(int sx,int sy,int ex,int ey,int attrib) /*邊界線函數(shù)*/</p><p><b>  … … …</b></p><p>  通過(guò)這些為形成整個(gè)界面提供了大的前提。</p&g

18、t;<p>  接著通過(guò)“write_char()”,“active_button()”,“ write_top()”,“make_button()”,“out_text_win()”, “get_key()” ,“window_xy()”等一系列的函數(shù),使得計(jì)算器的整個(gè)外型呈現(xiàn)了出來(lái)。</p><p>  為了輸入方便一些,就接著定義的小鍵盤的輸入函數(shù):key_choice() 把小鍵盤數(shù)字鍵和運(yùn)

19、算鍵的鍵值通過(guò)“get_data(bx,by);send1()”和計(jì)算器界面按鍵連接起來(lái),使得通過(guò)小鍵盤相應(yīng)的鍵就能獲得計(jì)算器相應(yīng)的值。</p><p>  再就是計(jì)算器運(yùn)算的主程序,代碼如下。</p><p>  put_string() /*計(jì)算機(jī)運(yùn)算函數(shù)*/</p><p><b>  {</b></p><p>

20、;  float result;</p><p><b>  tx=32;</b></p><p>  switch(tag) /*根據(jù)運(yùn)算符號(hào)計(jì)算*/</p><p><b>  {</b></p><p>  case '+': result=v1+v2;break; /*做

21、加法*/</p><p>  case '-':result=v1-v2;break; /*做減法*/</p><p>  case'*':result=v1*v2;break; /*做乘法*/</p><p>  case '/': result=v1/v2;break; /*做除法*/</p>

22、<p>  default :result=v1; /*若不計(jì)算輸出0*/</p><p><b>  }</b></p><p>  sprintf(stack.s,"%.3f",result); /*輸出結(jié)果保留小數(shù)點(diǎn)后三位*/</p><p>  通過(guò)switch來(lái)實(shí)現(xiàn)相應(yīng)的計(jì)算,輸出保留三位小數(shù)的結(jié)

23、果。</p><p><b>  … … …</b></p><p>  最后mian()函數(shù),代碼如下。</p><p><b>  main()</b></p><p><b>  {</b></p><p>  init_stack();</

24、p><p>  vid_mem=(char far *)0xb8000000;</p><p>  if(!form_win())</p><p><b>  {</b></p><p>  printf("can't form the device,press any key to leave!...&q

25、uot;);</p><p><b>  getch();</b></p><p><b>  exit();</b></p><p><b>  }</b></p><p><b>  menu();</b></p><p>  

26、calculator();</p><p><b>  }</b></p><p>  通過(guò)調(diào)用上面定義的函數(shù)實(shí)現(xiàn)了計(jì)算器整個(gè)功能。</p><p>  5 改進(jìn)或增加功能模塊說(shuō)明</p><p><b>  6 程序測(cè)試</b></p><p>  1.測(cè)試系統(tǒng)能否正確顯示

27、菜單選項(xiàng)</p><p>  執(zhí)行程序后,顯示本系統(tǒng)的菜單選項(xiàng)界面,如圖6-1所示。</p><p>  圖6-1 學(xué)生成績(jī)管理主菜單界面</p><p>  2.測(cè)試系統(tǒng)能否正確輸入學(xué)生信息</p><p><b>  輸入如下數(shù)據(jù):</b></p><p>  學(xué)號(hào) 性別 姓名

28、 語(yǔ)文 數(shù)學(xué) 英語(yǔ) 計(jì)算機(jī)</p><p>  0001 女 wangfang 87 90 89 76</p><p>  0002 男 lihua 79 88 90 80</p><p>  0003 女

29、 zhaoxin 80 96 78 87</p><p>  進(jìn)入主菜單界面后,輸入數(shù)字1進(jìn)入輸入學(xué)生信息界面,根據(jù)提示輸入學(xué)生信息和成績(jī),輸入完一條信息后提示用戶是否繼續(xù)輸入下一條學(xué)生信息,如果輸入“Y”或“y”,則繼續(xù)輸入下一條學(xué)生信息,否則返回主界面,輸入信息界面如圖6-2所示。</p><p>  圖6-2 輸入學(xué)生信息界面<

30、/p><p><b>  7 課程設(shè)計(jì)總結(jié)</b></p><p><b>  8 致 謝</b></p><p><b>  9 參考文獻(xiàn) </b></p><p>  [1]張福祥. C語(yǔ)言程序設(shè)計(jì)[M]. 遼寧大學(xué)出版社,2008.1</p><p

31、>  [2]張福祥,王萌.C語(yǔ)言程序設(shè)計(jì)習(xí)題解答與實(shí)驗(yàn)實(shí)訓(xùn)[M].沈陽(yáng):遼寧大學(xué)出版社,2008.</p><p>  [3]牛莉,劉遠(yuǎn)軍等.計(jì)算機(jī)等級(jí)考試輔導(dǎo)教程[M].北京:中國(guó)鐵道出版社,2008.</p><p><b>  10 源程序</b></p><p>  /*頭文件 student.h*/</p>&l

32、t;p>  #ifndef STUDENT_H /*防止student.h被重復(fù)引用*/</p><p>  #define STUDENT_H</p><p>  #include<stdio.h> /*標(biāo)準(zhǔn)輸入/輸出函數(shù)庫(kù)*/</p><p>  #include<stdli

33、b.h> /*標(biāo)準(zhǔn)函數(shù)庫(kù)*/</p><p>  #include<string.h> /*字符串函數(shù)庫(kù)*/</p><p>  #define TITLE "學(xué)生成績(jī)管理系統(tǒng)" /*標(biāo)題文字*/ </p><p>  #define MAX 10</p>

34、<p>  #define MENU_MAIN_COUNT 9 /*主菜單的選項(xiàng)個(gè)數(shù)*/ </p><p>  #define MENU_SEARCH_COUNT 4 /*查詢子菜單的選項(xiàng)個(gè)數(shù)*/</p><p>  #define MENU_CALC_COUNT 3 /*計(jì)算子菜單的選項(xiàng)個(gè)數(shù)*/</p><p

35、>  #define MENU_SORT_COUNT 5 /*排序子菜單的選項(xiàng)個(gè)數(shù)*/</p><p>  typedef struct student{</p><p>  char name[MAX]; /*姓名*/</p><p>  char num[MAX]; /*學(xué)號(hào)*/</p><p>

36、;  char sex[MAX]; /*性別*/</p><p>  int chinese; /*語(yǔ)文成績(jī)*/ </p><p>  int mathematic; /*數(shù)學(xué)成績(jī)*/</p><p>  int english; /*英語(yǔ)成績(jī)*/</p><p> 

37、 int computer; /*計(jì)算機(jī)成績(jī)*/</p><p>  int index; /*名次*/</p><p>  struct student *next; /*指向下一個(gè)學(xué)生的指針*/</p><p><b>  }stu;</b></p><p> 

38、 stu* head; /*student結(jié)構(gòu)體鏈表的頭節(jié)點(diǎn)*/</p><p>  /*主要處理函數(shù)聲明*/</p><p>  void input_record(); /*輸入學(xué)生成績(jī)的處理*/</p><p>  void show_record(); /*顯示學(xué)生成績(jī)的處理*/</p><p>  voi

39、d search_record(); /*查詢學(xué)生成績(jī)的處理*/</p><p>  void update_record(); /*更新學(xué)生成績(jī)*/</p><p>  void delete_record(); /*刪除學(xué)生成績(jī)*/</p><p>  void calculate(); /*計(jì)算學(xué)生成績(jī)*/ </p&g

40、t;<p>  void sort(); /*學(xué)生成績(jī)排序*/</p><p>  void save_to_file(); /*保存到文件的處理*/</p><p>  void exit_system(); /*退出系統(tǒng)*/</p><p>  /*查詢子函數(shù)聲明*/</p><p&g

41、t;  void search_by_id(); /*通過(guò)學(xué)號(hào)檢索學(xué)生的處理*/</p><p>  void search_by_name(); /*通過(guò)姓名檢索學(xué)生的處理*/</p><p>  void search_by_sex(); /*通過(guò)性別檢索學(xué)生的處理*/</p><p>  void search_exit(); /*退

42、出子菜單,返回上級(jí)菜單*/</p><p><b>  #endif</b></p><p>  /*主控函數(shù) Master.c*/</p><p>  #include"student.h"</p><p>  /*字符數(shù)組menu_main中儲(chǔ)存的是主菜單要顯示的字符*/</p>&

43、lt;p>  char menu_main[]=</p><p><b>  "|\n"</b></p><p>  "| 1 輸入學(xué)生成績(jī)\n"</p><p>  "| 2 顯示學(xué)生成績(jī)\n"</p><p>  "| 3 查詢學(xué)生成績(jī)\n&

44、quot;</p><p>  "| 4 更新學(xué)生成績(jī)\n"</p><p>  "| 5 刪除學(xué)生成績(jī)\n"</p><p>  "| 6 計(jì)算學(xué)生成績(jī)\n"</p><p>  "| 7 排序?qū)W生成績(jī)\n"</p><p>  &quo

45、t;| 8 保存文件\n"</p><p>  "| 9 退出系統(tǒng)\n"</p><p><b>  "|\n";</b></p><p>  /*函數(shù)指針數(shù)組menu_main_func儲(chǔ)存的是主菜單中8個(gè)功能函數(shù)的</p><p>  *地址分別對(duì)應(yīng)1-8個(gè)菜單項(xiàng)*/

46、</p><p>  void main()</p><p><b>  {</b></p><p>  print_menu_main(); //顯示主菜單等待用戶入</p><p><b>  }</b></p><p>  /*顯示主菜單界面*/</

47、p><p>  void print_menu_main()</p><p><b>  {</b></p><p>  int selected=0;/*用戶選擇的菜單項(xiàng)*/</p><p>  system("cls");/*清屏*/</p><p>  print_menu_

48、title(TITLE);/*顯示標(biāo)題*/</p><p>  printf(menu_main); /*顯示菜單字符*/</p><p>  printf("====================================================\n");</p><p>  /*如果用戶沒(méi)有選擇或者選擇錯(cuò)誤,循環(huán)等待

49、*/</p><p>  while(!(selected>=1&&selected<=MENU_MAIN_COUNT))</p><p><b>  {</b></p><p>  printf(">請(qǐng)選擇:");</p><p>  scanf("%d&

50、quot;,&selected);</p><p>  getchar();</p><p>  if(selected>=1&&selected<=MENU_MAIN_COUNT)</p><p><b>  break;</b></p><p>  printf("\n&

51、gt;輸入錯(cuò)誤?。ㄗⅲ赫?qǐng)選擇1-%d)\n",MENU_MAIN_COUNT);</p><p><b>  }</b></p><p>  menu_main_func[selected-1]();/*調(diào)用用戶選擇菜單項(xiàng)對(duì)應(yīng)的函數(shù)指針數(shù)組中的函數(shù)*/</p><p><b>  }</b></p>

52、<p>  /*輸入模塊 Input.c*/</p><p>  #include"student.h"</p><p>  /*輸入學(xué)生信息函數(shù)*/</p><p>  void input_record()</p><p><b>  {</b></p><p>

53、;  char continue_input='N';</p><p>  stu* pLastStu=NULL;</p><p>  stu* pNewStu=(stu*)malloc(sizeof(stu));/*創(chuàng)建一個(gè)stu*/</p><p>  pNewStu->next=NULL;</p><p>  cr

54、eate_stu_by_input(pNewStu);/*讓用戶為創(chuàng)建的stu賦值*/</p><p>  if(head==NULL)/*一個(gè)都沒(méi)有*/</p><p><b>  {</b></p><p>  head=pNewStu;</p><p><b>  }</b></p>

55、;<p><b>  else</b></p><p><b>  {</b></p><p>  pLastStu=get_last_student(head);/*找到最后一個(gè)*/</p><p>  pLastStu->next=pNewStu;</p><p><b

56、>  }</b></p><p>  printf("繼續(xù)輸入學(xué)生成績(jī)?(Y 繼續(xù),N 返回菜單)");</p><p>  getchar();</p><p>  continue_input=getchar();</p><p>  if(continue_input=='n'||c

57、ontinue_input=='N')</p><p><b>  {</b></p><p>  print_menu_main();/*不繼續(xù)輸入,將顯示主菜單*/</p><p><b>  }</b></p><p><b>  else</b><

58、/p><p><b>  {</b></p><p>  input_record();/*再次調(diào)用這個(gè)函數(shù)輸入新的學(xué)生成績(jī)*/</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  指導(dǎo)教師評(píng)

59、語(yǔ):</b></p><p><b>  1、課程設(shè)計(jì)報(bào)告:</b></p><p>  a、內(nèi)容: 不完整□ 完整 □ 詳細(xì) □</p><p>  b、方案設(shè)計(jì): 較差 □ 合理 □ 非常合理□</p><p>  c、實(shí)現(xiàn): 未實(shí)現(xiàn)

60、□ 部分實(shí)現(xiàn)□ 全部實(shí)現(xiàn)□ </p><p>  d、文檔格式: 不規(guī)范□ 基本規(guī)范□ 規(guī)范 □</p><p>  2、出勤: 全勤 □ 缺勤 次</p><p><b>  3、上機(jī)測(cè)試: </b></p><p>  a、未能完全

61、理解題目,測(cè)試情況較差 □</p><p>  b、部分理解題目,部分測(cè)試情況正確 □</p><p>  c、理解題目較清楚,測(cè)試情況基本正確 □</p><p>  d、理解題目透徹,測(cè)試情況正確 □</p><p>  課程設(shè)計(jì)報(bào)告成績(jī): ,占總成績(jī)比例: 40% &l

62、t;/p><p>  課程設(shè)計(jì)其它環(huán)節(jié)成績(jī):</p><p>  環(huán)節(jié)名稱: 出勤 ,成績(jī): ,占總成績(jī)比例: 20% </p><p>  環(huán)節(jié)名稱: 上機(jī)測(cè)試 ,成績(jī): ,占總成績(jī)比例: 40% </p><p>  總 成 績(jī): </p>&

溫馨提示

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

評(píng)論

0/150

提交評(píng)論