新學生信息管理系統(tǒng)C語言課程設計說明書_第1頁
新學生信息管理系統(tǒng)C語言課程設計說明書_第2頁
新學生信息管理系統(tǒng)C語言課程設計說明書_第3頁
新學生信息管理系統(tǒng)C語言課程設計說明書_第4頁
新學生信息管理系統(tǒng)C語言課程設計說明書_第5頁
已閱讀5頁,還剩13頁未讀 繼續(xù)免費閱讀

付費下載

下載本文檔

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

文檔簡介

1、*實踐教學*xx 理工大學軟件學院計算機應用基礎課程設計題目:學生信息管理系統(tǒng)專業(yè)班級:軟件 1班姓名:xx學號:xx指導教師:xx成績: _方案書摘要此次我們設計的是學生信息管理系統(tǒng),在程序中運行學生信息創(chuàng)建模塊,列出模塊,刪除模塊,查找模塊,保存模塊等,在程序中用到了選擇結構,循環(huán)結構,結構體,數組,文件操作,自定義函數等。關鍵詞 :結構體;文件操作;數組;循環(huán)結構;選擇結構;自定義函數方案書目錄1 需求分析···············&#

2、183;····································12 總體設計············&

3、#183;·······································12.1程序的總體設計········&#

4、183;·································12.2數據結構···············

5、·······························23 詳細設計··················

6、;··································43.1主控模塊設計··············&

7、#183;·····························43.2列出模塊···················

8、;···························54 主要函數功能描述·····················

9、··························64.1 主函數 main()·····················

10、83;······················64.2 列出函數print_list()························

11、···············75 測試與調試·································

12、3;··············86 個人設計小結與心得體會·································&#

13、183;·····11參考文獻 ···········································&

14、#183;···········11附件 1 程序源代碼 ····································

15、···········11方案書1 需求分析(1) 問題根據需求,該系統(tǒng)所應包含的信息有以下一些 :息學生的基本信:學號、姓名、性別、 QQ、電話根據需求,該系統(tǒng)所應實現的功能有以下一些:各種基本數據的錄入。如:學生基本信息錄入。各種基本數據的修改。即:允許對已經錄入的數據重新進行編輯、修改。例如修改學生信息中張三的電話信息各種基本數據的刪除。例如將張三的信息從學生信息中刪除基于各種數據的查詢。例如輸入學號 1,查詢學號為 1 的名字、性別、 QQ和電話。各種基本信息的瀏覽。例如對保存

16、的學生信息的瀏覽。(2) 系統(tǒng)采用 C語言實現,開發(fā)環(huán)境為 VC,可以運行在操作系統(tǒng) windows98 及以上皆可。(3)運行要求能不受限制的錄入學生信息。界面友好,操作方便,例如刪除前需要提示用戶是否刪除。容錯性強,例如數據導出時,如果文件不存在需要提示用戶。2 總體設計2.1 程序的總體設計在系統(tǒng)設計方面需采用模塊化 ,把一個復雜的問題簡單化 ,化成幾個簡單的模塊來處理 ,.但是在劃分的同時又必須要了解各自的功能 ,它們之間應該有自己的獨立性 ,同時又存在相互的聯(lián)系 .通訊記錄時以二進制的形式進行存儲和輸入 ,一般程序從整體到部分 ,先進行整體概括 ,然后在逐步細化完善本系統(tǒng)由一個圖來表

17、示為方案書主菜單創(chuàng)列刪修查插保建出除改找入存圖 1 系統(tǒng)總圖本通訊管理系統(tǒng)可以概括的劃分為以下幾大模塊:1 輸入創(chuàng)建模塊2 列出菜單模塊3 刪除數據模塊4 修改數據模塊5 查找數據模塊6 插入數據模塊7 保存數據模塊8 退出系統(tǒng)2.2 數據結構退出根據系統(tǒng)要求,系統(tǒng)中需要保存的數據學生的信息,其結構如下:數據項名稱數據項系統(tǒng)表數據類型數據長度備注示學生學號num學生姓名name學生 QQqq學生性別sex學生電話phone使用語言創(chuàng)建的結構體如下:#include<stdio.h>#include<stdlib.h>#include<string.h>int

18、 num;/*char name10;/*char qq10;/*int sex;/*int phone;/*intchar10char10intint學生學號 */學生姓名 */學生 QQ*/學生性別 */學生電話 */方案書LIST;LIST L100;int main(void)void revise_list ()/*自定義函數 - 修改數組 */void print_list()/*自定義函數 - 列出菜單 */void delete_list()/*自定義函數 - 刪除文件 */void insert_list()/*自定義函數 - 創(chuàng)建文件 */voidfind_list()/*

19、自定義函數 - 查找文件 */voidinto_list()/*自定義函數 - 插入文件 */void save_list()/*自定義函數 - 保存文件 */方案書3 詳細設計3.1 主控模塊設計控制整個程序的運行,通過主函數模塊分別調用各個模塊,實現各項功能,流程如下圖開始密碼界面菜單界面輸入選擇12345670創(chuàng)列刪修查插保退建出除改找入存出調用子函數結束圖 2 主模塊流程圖方案書注釋1 主控是用 switch 多分支選擇結構來實現功能選擇3.2 列出模塊列出模塊是通過循環(huán)結構變化個個列出數組自定義數組Lkey 信息開始inti; i=0i<key輸出一個記錄i+結束圖 3 列出模

20、塊流程圖方案書4 主要函數功能描述4.1 主函數 main()函數原型:#include<stdio.h>#include<stdlib.h>#include<string.h>#define EXIT -1#define LEN sizeof(struct list)int key=0; /*stdlib- 標準庫頭文件 .sizeof-運算符 .string- 字符串 .typedef-定義類型 */ typedef struct listint num;/* 學生學號 */char name10;/* 學生姓名 */int qq;/* 學生 QQ*/c

21、har sex10;/* 學生性別 */long int phone;/* 學生電話 */LIST;LIST L100;int main(void)/* 主函數 */int choice,y;printf("ttt*學生信息管理系統(tǒng)*");printf("請輸入密碼: ");scanf("%d",&y);if(y=123)doprintf("nnnttt*學生信息管理系統(tǒng)*");printf("ntttt*=*n");printf(" tttt1.*創(chuàng)建 *n");p

22、rintf(" tttt2.*列出 *n");printf(" tttt3.*刪除 *n");printf(" tttt4.*修改 *n");printf(" tttt5.*查找 *n");printf(" tttt6.*插入 *n");printf(" tttt7.*保存 *n");printf(" tttt0.*退出 *n");printf(" tttt請選擇 :");scanf("%d",&choice

23、);switch(choice)方案書case 1:insert_list();break;case 2:print_list();break;case 3:delete_list();break;case 4:revise_list(); break;case 5:find_list();break;case 6:into_list();break;case 7:save_list();break;case 0:exit(0);default:printf("input againn");while(1);elseprintf(" 密碼錯誤!請重啟程序!&quo

24、t;);fflush(stdin);getchar();return 0;功能描述:通過 if 選擇結構實現加密正確輸入密碼后進入主菜單, 否則提示“密碼密碼錯誤! 請重啟程” 進入主菜單后用 switch 多分支選擇結構來調用子函數來實現對學生信息的創(chuàng)建、修改、插入等。流程圖如圖2 所示。4.2 列出函數 print_list()函數原型:void print_list()/* 列出菜單 */int i;for(i=0;i<key;i+)printf(" 學號 t 姓名 tQQ 號t 性別 t 電話 tn");printf("%dt%st%dt%st%dn

25、 ",Li.num,L,Li.qq,Li.sex,Li.phone);if(key=0)printf("the shuzu is NULL!n");功能描述:通過 for 循環(huán)結構改變 i 的值調用 Li 保存的值逐個顯示。流程圖如圖 3 所示方案書5 測試與調試1 主程序測試測試數據:輸入密碼 123圖 4測試結果:程序運行沒有錯誤,如下圖 5菜單選項測試:輸入數據請選擇: 1方案書圖 6測試結果:程序運行沒有錯誤,如下圖 72 列出測試測試數據:輸入 2,如下方案書圖 8測試結果程序運行有錯誤,如下圖 9錯誤是性別、電話沒有對其修改后如下圖 10方

26、案書6 個人設計小結與心得體會為期一個星期的C 語言實訓結束了,在這一個星期內我的感觸頗深。因為在寫程序中實在是遇到了太多的困難了,這讓我意識到自己對C 語言知識的貧乏。我們只學會了簡單的指針和函數, 這些應付考試是絕對沒有問題了的,然而應用在實際的程序設計當中卻是遠遠不夠的??上攵?,驗收過程很不滿意,這讓我覺得很對不起老師的一番含辛茹苦。所以哪怕我的驗收過程不是很理想都好,我交實訓報告的時候也一定要把這個學生信息管理系統(tǒng)理解透徹!在整個編程過程中,我堅持虛心的向同學請教問題, 同時自己也在網上查找各種信息, 通過不斷地改正,我終于知道編好一個完美的程序是多么的不容易?。?!同時,在不斷的犯

27、錯中,我也了解了許多以前不知道的東西。做得不好的,也請老師多多見諒,以后我一定會好好改進的!最后,衷心地多謝老師辛苦的指導!參考文獻【1】姜靈芝,余健 . C 語言課程設計案例精編 . 北京 : 清華大學出版社 ,2008【2】王新,孫雷 . C 語言課程設計 . 北京 : 清華大學出版社 ,2009【3】游洪躍、彭駿、譚斌 .C 語言程序設計實驗與課程設計教程. 北京 : 清華大學出版社 ,2011【4】王連相 .C/C+程序設計上機指導與測試 . 北京 : 中國鐵道出版社, 2006 【5】 C 語言函數手冊,機械工業(yè)出版社, 1999附件 1 程序源代碼#include<stdio

28、.h>#inc lude<stdlib.h>#include<string.h>#define EXIT -1#define LEN sizeof(struct list)int key=0; /*stdlib- 標準庫頭文件 .sizeof-運算符 .string- 字符串 .typedef-定義類型 */ typedef struct listint num;/* 學生學號 */char name10;/* 學生姓名 */int qq;/* 學生 QQ*/char sex10;/* 學生性別 */long int phone;/* 學生電話 */LIST;LI

29、ST L100;void revise_list ()/* 修改數組( revise-修改) */inti,j,k;int num;char name10;int qq;char sex10;long int phone;printf(" 請選擇修改項學號");方案書scanf("%d",&j);for(k=0;k<key;k+)if(j=Lk.num)break;printf(" 您要修改成為:");printf("tt 學號 tt");scanf("%d",&num);

30、printf("tt 姓名 tt");scanf("%s",name);printf("ttQQ 號 tt");scanf("%d",&qq);printf("tt 性別 tt");scanf("%s",sex);printf("tt 電話 tt");scanf("%d",&phone);Lk.num=num;strcpy(L,name);/* 拷貝字符串 */Lk.qq=qq;strcpy(Lk.sex,s

31、ex);Lk.phone=phone;void print_list()/* 列出菜單 */int i;for(i=0;i<key;i+)printf(" 學號 t 姓名 tQQ 號t 性別 t 電話 tn");printf("%dt%st%dt%st%dn ",Li.num,L,Li.qq,Li.sex,Li.phone);if(key=0)printf("the shuzu is NULL!n");void delete_list()/* 刪除文件 */int i,j,k;printf(" 您要刪除的是

32、:n");scanf("%d",&j);for(k=0;k<key;k+)if(j=Lk.num)break;if(k>=key)printf(" 您輸入的數據有誤,請重新輸入:");for(i=k;i<key;i+)Li=Li+1;key-;void insert_list()/* 創(chuàng)建文件 */int num;char name10;int qq;char sex10;long int phone;printf("tt 學號 tt");scanf("%d",&num)

33、;printf("tt 姓名 tt");scanf("%s",name);printf("ttQQ號tt");scanf("%d",&qq);printf("tt 性別 tt");scanf("%s",sex);printf("tt 電話 tt");scanf("%d",&phone);Lkey.num=num;方案書strcpy(L,name);Lkey.qq=qq;strcpy(Lkey.sex,se

34、x);Lkey.phone=phone;key+;voidfind_list()/* 查找文件 */int i,num;printf(" 請輸入你要查找的學號 :"); scanf("%d",&num);for (i=0;i<key;i+)if(Li.num=num)printf(" 學號 t 姓名 tQQ 號t 性別 t 電話 tn"); printf("%dt%st%dt%st%dn ",Li.num,L,Li.qq,Li.sex,Li.phone); break;if(i>=k

35、ey)printf(" 無此人信息,請重新選擇:");voidinto_list()/* 插入文件 */int i,j,k;int num;char name10;int qq;char sex10;long int phone;printf("ttt您要插入項是 :t");scanf("%d",&j);if (j>0&&j<=key)for(i=key;i>=j;i-)Li=Li-1;key+;printf(" 請輸入你要插入的內容:n");printf("tt 學號 tt");scanf("%d",&num);printf("tt 姓名 tt");scanf("%s",name);printf("ttQQ號tt");scanf("%d",&qq);printf("tt 性別 tt");scanf("%s",sex);printf("tt 電話 tt");scanf("%d",&am

溫馨提示

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

評論

0/150

提交評論