版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、商洛學院C語言課程設計報告題目:學生信息管理系統(tǒng)院系名稱:計算機科學系專業(yè)名稱:信息管理與信息系統(tǒng)指導老師:趙國強小組成員:張少勃,張煌,李榮貴,楊鵬坤,李橋一. 設計目的1. 通過本次試驗,能更好的對鏈表結構體、部分的相關知識有一個系統(tǒng)的復習和提高。2. 從實驗中找出自己在對整體程序設計上的缺陷,并在以后加以改進。二. 設計內容 編寫學生信息管理系統(tǒng),包含數(shù)據(jù)的插入、顯示、修改、刪除、查找,文件的讀寫。三概要設計1功能模塊圖(1)用戶進入模塊(2) 主菜單(3) 插入模塊當用戶輸入選擇使用的功能為 1時,進入插入功能顯示如下界面:在輸入完成后按enter鍵顯示如下:輸入y則繼續(xù)輸入,輸入n則
2、返回主菜單。(4) 查詢模塊當用戶輸入選擇使用的功能為 2時,進入查詢功能顯示如下界面:輸入學號 1則顯示:按enter 返回主菜單。(5)顯示模塊當用戶輸入選擇使用的功能為 3時,進入顯示所有信息功能顯示如下界面:按enter 鍵返回主菜單。(6) 刪除模塊當用戶輸入選擇使用的功能為 4時,進入刪除功能顯示如下界面:輸入要刪除的學號信息,按enter 鍵,系統(tǒng)就會進行刪除信息,刪除成功后顯示如下:按enter鍵返回主菜單。(7) 修改模塊當用戶輸入選擇使用的功能為 5時,進入修改功能顯示如下界面:修改完成后輸入n返回主菜單,按y繼續(xù)修改。(8)退出若要退出,在主菜單界面輸入 6 則會退出本系
3、統(tǒng)。2各個模塊詳細的功能描述。(1) 用戶進入界面:每次都進入必須輸入密碼才能進入主菜單。(2) 主菜單:通過數(shù)據(jù)的錄入(或打開存儲的文件)實現(xiàn)信息的修改、插入、刪除、查找,然后打印輸出。四詳細設計主函數(shù)1功能函數(shù)的調用關系圖用戶登錄主菜單顯示信息修改信息插入信息查詢信息刪除信息通過學號刪除通過學號修改通過學號查詢2重點設計及編碼1.密碼輸入:相關代碼:void first() int i;doprintf("*學生信息管理系統(tǒng)中*n"); printf("*系統(tǒng)初始化*n"); printf("初始密碼:");scanf("
4、;%d",&i); fflush(stdin); system("cls");while(i!=123);2.插入信息:相關代碼:void insert(int count,struct stu st) char b; printf("ttt學生信息添加n"); for(;b!='n') if(n=30) printf("滿員無法添加"); break;system("cls"); printf("nttt請輸入學號:"); scanf("%d&quo
5、t;,&stn.num); printf("nttt請輸入姓名:"); scanf("%s",); printf("nttt請輸入性別:"); scanf("%s",stn.sex); printf("nttt請輸入家庭住址:"); scanf("%s",stn.add); n+; printf("ttt是否繼續(xù)yn:");fflush(stdin); scanf("%c",&b);system(&quo
6、t;cls"); fflush(stdin); while(b!='y') if(b='n')break; if(b!='y')printf("ntttyn"); scanf("%c",&b); fflush(stdin); ; fflush(stdin); printf("ttt返回功能菜單");3.查詢信息相關代碼:void quer(struct stu st)int m=1; int t; int x; x=0; printf("tttt請輸入要查詢的
7、學號:"); scanf("%d",&t); system("cls"); for(x=0;x<=30;x+) if(stx.num=t) head(); printf("%dt%st%st%sn",stx.num,,stx.sex,stx.add);m=0;if(m=1)printf("tt無查詢信息"); fflush(stdin); 4.顯示信息在主菜單上輸入3時進入,則顯示所有插入的信息。相關代碼:void disp(int count,struct stu st)
8、int j=0; system("cls"); head(); for(;j<n;j+)printf("%dt%st%st%sn",stj.num,,stj.sex,stj.add); 5.刪除信息相關代碼:void del(struct stu st) int m=1; int t; int x; int x1; x=0; printf("ttt請輸入要刪除的學生的學號:"); scanf("%d",&t); for(x=0;x<=n&&m;x+) if(stx
9、.num=t) for(x1=x;x1<=n;x1+) stx1=stx1+1;m=0; printf("已刪除該信息n"); n-; if(m=1)printf("無需要刪除的信息n"); fflush(stdin); 6.修改信息。相關代碼:void del(struct stu st) int m=1; int t; int x; int x1; x=0; printf("ttt請輸入要刪除的學生的學號:"); scanf("%d",&t); for(x=0;x<=n&&m
10、;x+) if(stx.num=t) for(x1=x;x1<=n;x1+) stx1=stx1+1;m=0; printf("已刪除該信息n"); n-; if(m=1)printf("無需要刪除的信息n"); fflush(stdin); 五測試數(shù)據(jù)及運行結果(1) 插入信息(打開文件)進入插入界面輸入圖上內容。按n選擇退出。(2)查找信息在選擇菜單上輸入2 彈出讓用戶輸入要查找的學號信息。在輸入后按enter 鍵會出現(xiàn)如下界面:(3)顯示信息在選擇菜單上輸入3 按回車鍵會顯示系統(tǒng)存儲的所有的信息。(4) 刪除信息在主菜單上輸入4后會有提示讓用
11、戶輸入要刪除的學號信息,輸入后則會刪除該學號的相關所有信息。檢查時進入 查看信息 功能,進入后則沒有顯示該學號的相關信息。(5) 修改信息修改后進入 查看信息 功能 ,打印出的數(shù)據(jù)中沒有修改前的信息。六調試情況,設計技巧及體會 好的方面,界面之間的轉換,盡量減少了系統(tǒng)的缺陷,提示語句人性化,便于使用函數(shù)的調用及返回值,系統(tǒng)設置密碼可以保護用戶的信息不外泄。 但是,程序可讀性不太高,注釋說明語句太少,程序做出來是給別人使用的,以后的學習中應該注意。七附錄 (電子版源代碼)#include "stdio.h"#include "string.h"#inclu
12、de "stdlib.h"#include "windows.h"void enter();int readdata();void stra();int save();void disp(int,struct stu st);void quer(struct stu st);void insert(int ,struct stu st);void del(struct stu st);void modfix(struct stu st);void head();void restra();saveflag=0;struct stu int num; ch
13、ar name30; char sex4; char add40;int n=0;struct stu st30,*p=st;FILE *fp;int main()enter();readdata();stra();save();fclose(fp);return 0; void enter() int i;doprintf("*學生信息管理系統(tǒng)中*n"); printf("*系統(tǒng)初始化*n"); printf("初始密碼:");scanf("%d",&i); fflush(stdin); system(&
14、quot;cls");while(i!=123);int readdata()FILE *fp;if(fp=fopen("stdata.txt","r")=NULL)printf("數(shù)據(jù)文件無法打開,請檢查數(shù)據(jù)文件。n");return 0;while(!feof(fp)fscanf(fp,"%dt%st%st%sn",&stn.num,,stn.sex,stn.add);n+;fclose(fp); return 1;int save() /保存數(shù)據(jù) int q;if(fp=fo
15、pen("stdata.txt","w")=NULL) printf("ttt文件無法打開n"); return 0;for(q=0;q<n;q+) fprintf(fp,"%dt%st%st%sn",stq.num,,stq.sex,stq.add); fclose(fp); return 1;void stra() int i;char c;do for(i=0;i<5;i+)printf("n"); printf("n"); restra()
16、; printf("*n"); restra(); printf("* 歡迎使用學生信息查詢系統(tǒng) *n"); restra(); printf("* _*n"); restra(); printf("* 1.插入信息 2. 查詢信息 *n"); restra(); printf("* 3.顯示信息 4. 刪除信息 *n"); restra(); printf("* 5.修改信息 6. 退出系統(tǒng) *n"); restra(); printf("* *n");
17、 restra(); printf("*n"); restra(); printf("選擇使用的功能"); scanf("%c",&c); fflush(stdin); switch(c) case '1':restra();printf("功能1n"); insert(n,p); save(p); getchar();break; case '2':restra();printf("功能2n"); quer(p); getchar();break; ca
18、se '3':restra();printf("功能3n"); disp(n,p); getchar();break; case '4':restra();printf("功能4n"); del(p); save(); getchar();break; case '5':restra();printf("功能5n"); modfix(p); save(); getchar();break; case '6':printf("n");restra();p
19、rintf("您選擇了退出本系統(tǒng)!n謝謝使用您的使用!"); break; system("cls"); while(c!='6');if(c='6') int k;printf("n"); restra(); if(saveflag=1) fflush(stdin); printf("學生數(shù)據(jù)已經(jīng)改動,是否保存【y/n】:"); k=getchar(); fflush(stdin); if(k='y') save(st); printf("ntt數(shù)據(jù)保存成
20、功!謝謝使用本系統(tǒng)!"); void restra() int i;for(i=0;i<=1;i+)printf("t");void disp(int count,struct stu st) int j=0; system("cls"); head(); for(;j<n;j+)printf("%dt%st%st%sn",stj.num,,stj.sex,stj.add); void quer(struct stu st)int m=1; int t; int x; x=0; printf(&q
21、uot;tttt請輸入要查詢的學號:"); scanf("%d",&t); system("cls"); for(x=0;x<=30;x+) if(stx.num=t) head(); printf("%dt%st%st%sn",stx.num,,stx.sex,stx.add);m=0;if(m=1)printf("tt無查詢信息"); fflush(stdin); void insert(int count,struct stu st) char b; printf(&q
22、uot;ttt學生信息添加n"); for(;b!='n') if(n=30) printf("滿員無法添加"); break;system("cls"); printf("nttt請輸入學號:"); scanf("%d",&stn.num); printf("nttt請輸入姓名:"); scanf("%s",); printf("nttt請輸入性別:"); scanf("%s",stn
23、.sex); printf("nttt請輸入家庭住址:"); scanf("%s",stn.add); n+;saveflag=1; printf("ttt是否繼續(xù)yn:");fflush(stdin); scanf("%c",&b);system("cls"); fflush(stdin); while(b!='y') if(b='n')break; if(b!='y')printf("ntttyn"); scanf("%c",&b); fflush(stdin); ; fflush(stdin); printf("ttt返回功能菜單");void del(struct stu st) int m=1; int t; int x; int x1; x=0; printf("ttt請輸入要刪除的學生的學號:"); scanf("%d",&t); for(x=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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年通信設備采購與維護合同2篇
- 電梯安裝工程2025年度技術咨詢合同6篇
- 二零二五年度論壇活動策劃服務合同模板6篇
- 二零二五版搬家服務及家居清潔維護合同3篇
- 二零二五年度廢鋼市場供應與環(huán)保處理服務合同3篇
- 二零二五版房屋買賣及鄰里關系協(xié)調服務合同3篇
- 二零二五年度股東干股合作企業(yè)社會責任履行合同3篇
- 幼兒園2025年度食品供應合同2篇
- 二零二五版租賃房屋改造裝修合同3篇
- 二零二五年酒店股權分割與資產重組咨詢合同3篇
- 2023社會責任報告培訓講稿
- 2023核電廠常規(guī)島及輔助配套設施建設施工技術規(guī)范 第8部分 保溫及油漆
- 2025年蛇年春聯(lián)帶橫批-蛇年對聯(lián)大全新春對聯(lián)集錦
- 表B. 0 .11工程款支付報審表
- 警務航空無人機考試題庫及答案
- 空氣自動站儀器運營維護項目操作說明以及簡單故障處理
- 新生兒窒息復蘇正壓通氣課件
- 法律顧問投標書
- 班主任培訓簡報4篇(一)
- 成都市數(shù)學八年級上冊期末試卷含答案
- T-CHSA 020-2023 上頜骨缺損手術功能修復重建的專家共識
評論
0/150
提交評論