版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、佛山科學(xué)技術(shù)學(xué)院實驗報告實驗名稱 小型學(xué)生信息管理系統(tǒng) 實驗項目 編寫一學(xué)生信息管理系統(tǒng),用來管理學(xué)生基本信息及成績信息專業(yè)班級 姓名 XXX 學(xué)號 指導(dǎo)教師 成績 日期 一、 試驗?zāi)康谋緦嶒灋閷W(xué)生提供了一個既動手又動腦,上機實踐的機會。學(xué)生通過分析和解決該實驗,將課本上的理論知識和實際有機地結(jié)合起來,鍛煉學(xué)生分析、解決較復(fù)雜問題的能力,提高學(xué)生編寫綜合系統(tǒng)程序的能力。二、 實驗內(nèi)容編寫一個學(xué)生信息管理系統(tǒng),主要用來管理學(xué)生基本信息及成績信息。系統(tǒng)功能模塊如下圖:顯 示主菜單數(shù)據(jù)輸入數(shù)據(jù)修改數(shù)據(jù)輸出退出數(shù)據(jù)處理查詢排序統(tǒng)計平均分不及格科 目具體要求為:1. 建立學(xué)生信息,每個學(xué)生的信息應(yīng)包括:
2、學(xué)號、姓名、性別、班級、至少3門課程的成績;2. 數(shù)據(jù)輸入:輸入學(xué)生的各項信息;3. 數(shù)據(jù)修改:根據(jù)輸入學(xué)生的學(xué)號可以選擇修改該學(xué)生的信息;4. 數(shù)據(jù)處理:可以選擇處理方式為:排序、查詢、統(tǒng)計。其中:a) 排序:按學(xué)號排序b) 查詢:根據(jù)學(xué)號查詢成績c) 統(tǒng)計:可以選擇統(tǒng)計各學(xué)生的平均成績或統(tǒng)計所有存在不及格科目的學(xué)生;5. 數(shù)據(jù)輸出:輸出學(xué)生的相應(yīng)結(jié)果信息;6. 退出:退出整個學(xué)生信息管理系統(tǒng)。7. 輸出結(jié)果截屏的第一條記錄一定要反映出你自己的真實信息。三、 程序組織結(jié)構(gòu)圖、函數(shù)調(diào)用關(guān)系圖四、 程序清單#include<stdio.h>#include<iostream.h
3、>#include<string.h>struct studentchar num10;char name10;char sex4;char clas20;int yw,sx,yy;float ave;stu100;int i,j;void InputData()char x;while(1)printf("t學(xué)號:");scanf("%s",stui.num); printf("t姓名:"); scanf("%s",); printf("t性別:"); sc
4、anf("%s",stui.sex); printf("t班級:"); scanf("%s",stui.clas); printf("t語文:"); scanf("%d",&stui.yw); printf("t數(shù)學(xué):"); scanf("%d",&stui.sx); printf("t英語:"); scanf("%d",&stui.yy);stui.ave=float(stui.yw+stu
5、i.sx+stui.yy)/3.0);i+;printf("t是否繼續(xù)輸入數(shù)據(jù)(Y.N)");cin>>x;if(x='n'|x='N') break;void EditData()int count=0;char str10;printf("n請輸入學(xué)生學(xué)號:");cin>>str;while (count<i)if(strcmp(str,stucount.num)=0)printf("學(xué)號 姓名 性別 班級 語文 數(shù)學(xué) 英語n");printf("-n&quo
6、t;);printf("%-11s",stucount.num); printf("%-13s",); printf("%-8s",stucount.sex); printf("%-16s",stucount.clas); printf("%-6d",stucount.yw); printf("%-6d",stucount.sx); printf("%-4d",stucount.yy);printf("n");
7、printf("-n");break;count+;if(count>=i)printf("n查無此人");elseprintf("nt修改數(shù)據(jù):n"); printf("t學(xué)號:");scanf("%s",stui.num); printf("t姓名:"); scanf("%s",); printf("t性別:"); scanf("%s",stui.sex); printf("t班
8、級:"); scanf("%s",stui.clas); printf("t語文:"); scanf("%d",&stui.yw); printf("t數(shù)學(xué):"); scanf("%d",&stui.sx); printf("t英語:"); scanf("%d",&stui.yy);stucount.ave=float(stucount.yw+stucount.sx+stucount.yy)/3.0); void sx()
9、struct student temp;int a,b,c;for(a=0;a<i-1;a+)c=a;for(b=a+1;b<i;b+)if(stub.ave>stuc.ave)c=b;temp=stub;stub=stuc;stuc=temp;printf("排序后結(jié)果為:n"); printf("學(xué)號 姓名 性別 班級 語文 數(shù)學(xué) 英語n"); printf("-n");for(c=0;c<i;c+)printf("%-11s",stuc.num); printf("%-13s
10、",); printf("%-8s",stuc.sex); printf("%-16s",stuc.clas); printf("%-6d",stuc.yw); printf("%-6d",stuc.sx); printf("%-4d",stuc.yy);printf("n");printf("-n");void cx() int count=0;char str10;printf("n請輸入要查詢的學(xué)生學(xué)號:&quo
11、t;);cin>>str;while (count<i) if(strcmp(str,stucount.num)=0)printf("學(xué)號 姓名 性別 班級 語文 數(shù)學(xué) 英語n");printf("-n");printf("%-11s",stucount.num); printf("%-13s",); printf("%-8s",stucount.sex); printf("%-16s",stucount.clas); printf
12、("%-6d",stucount.yw); printf("%-6d",stucount.sx); printf("%-4d",stucount.yy);printf("n");printf("-n");break;count+;if(count>=i)printf("n無該學(xué)號學(xué)生");elseprintf("n");void tjpjf() int count=0; stui.ave=float(stui.yw+stui.sx+stui.yy)/
13、3.0); printf("學(xué)號 姓名 平均分 n");printf("-n"); for(j=0;j<i;j+)while(count<i) for(j=0;j<i;j+) printf("%-21s",stucount.num); printf("%-21s",);printf("%-6.2f",stucount.ave);count+; printf("n");printf("-n"); void tjbh
14、grs() int j,count=0;printf("有不及格科目的學(xué)生是:n");printf("學(xué)號 姓名 性別 班級 語文 數(shù)學(xué) 英語n");printf("-n");for(j=0;j<i;j+)if(stuj.yw<60|stuj.sx<60|stuj.yy<60) printf("%-11s",stucount.num); printf("%-13s",); printf("%-8s",stucount.sex)
15、; printf("%-16s",stucount.clas); printf("%-6d",stucount.yw); printf("%-6d",stucount.sx); printf("%-4d",stucount.yy); printf("n");count+; printf("-n");void tj()char x;while(1)printf("tn");printf("t 1.統(tǒng)計平均分 2.統(tǒng)計不及格學(xué)生信息 3.返回 n&q
16、uot;); printf("tn");printf("nt請選擇具體的統(tǒng)計內(nèi)容:");cin>>x;printf("n"); switch(x) case '1':tjpjf();break; case '2':tjbhgrs();break; case '3':break;if(x='3')break;printf("n");void DataProc()char x;while(1)printf("t n"); p
17、rintf("t 處 理 數(shù) 據(jù) n"); printf("t n"); printf("t n"); printf("t 1.按學(xué)號排序 n"); printf("t 2.查詢 n"); printf("t 3.統(tǒng)計 n"); printf("t 4.返回主菜單 n"); printf("t n"); printf("t n"); printf("nt請選擇具體的處理內(nèi)容:");cin>&
18、gt;x; printf("n");switch(x) case '1':sx();break; case '2':cx();break; case '3':tj();break; case '4':break;if(x='4')break;printf("n");void DataOutput() int count=0; printf("學(xué)號 姓名 性別 班級 語文 數(shù)學(xué) 英語n");printf("-n");while(count
19、<i) printf("%-11s",stucount.num); printf("%-13s",); printf("%-8s",stucount.sex); printf("%-16s",stucount.clas); printf("%-6d",stucount.yw); printf("%-6d",stucount.sx); printf("%-6d",stucount.yy);count+; printf(&quo
20、t;n");printf("-n");void main()char x; while(1) printf("t*n"); printf("t* *n"); printf("t* 學(xué) 生 信 息 管 理 系 統(tǒng) *n"); printf("t*-*n"); printf("t* 1.輸入數(shù)據(jù) *n"); printf("t* 2.修改數(shù)據(jù) *n"); printf("t* 3.處理數(shù)據(jù) *n"); printf("t
21、* 4.輸出數(shù)據(jù) *n"); printf("t* 5.退出 *n"); printf("t* *n"); printf("t*n"); printf("nt請選擇需要進(jìn)行的操作:"); cin>>x; printf("n"); switch (x) case '1':InputData();break; case '2':EditData();break; case '3':DataProc();break; case
22、39;4':DataOutput();break; case '5':printf("謝謝使用!n");break; if(x='s') break; printf("n");五、 運行結(jié)果六、 實驗總結(jié)(調(diào)試分析、體會、致謝)從這一次的綜合實驗中,我感觸很深可以這么說,為了這個實驗花費比較的功夫。就我個人來說,其實我很害怕與電腦,程序有關(guān)的東西,可能因為一直以來很少接觸電腦吧,對于相關(guān)的東西比較難理解。很認(rèn)真去學(xué),還是感覺很吃力。每次上課或做實驗,發(fā)現(xiàn)自己在這方面很跟上大家的腳步。比如說,我去做了題,但是不能理解
23、,也記不住。但是,這次的綜合實驗二做起來相對之前,我發(fā)現(xiàn)自己有了進(jìn)步。從開始著手做,我就發(fā)現(xiàn)這個實驗所需要的知識在前面的實驗已經(jīng)做過了。特別是綜合實驗一。我是像做實驗一那樣去完成這個實驗的。首先把整個函數(shù)的結(jié)構(gòu),關(guān)系圖先寫出來。在把程序?qū)懗鰜頃r,先寫主函數(shù),然后把第一層函數(shù)的空函數(shù)寫出來,調(diào)試主函數(shù)與第一層的空函數(shù)。第二步就是按照主菜單的順序,把第一層函數(shù)寫出來,輸入數(shù)據(jù)的函數(shù)很快就寫好,調(diào)試也沒有任何問題。在寫修改數(shù)據(jù)的函數(shù)就沒那么容易,我參照了老師的程序,但是很奇怪,調(diào)試沒問題,可當(dāng)我輸入數(shù)據(jù)后,進(jìn)行第二的修改數(shù)據(jù)時,出現(xiàn)的數(shù)據(jù)一直是學(xué)號為1的學(xué)生的數(shù)據(jù)。我找了一天是哪的問題,卻完全沒頭緒,然后我就求助舍友了,舍友幫我看了很久,她也找不到。等我返回去看流程圖,才發(fā)現(xiàn)原來少了“if(strcmp(str,stucount.num)=0)”這條件。接下來就是處理數(shù)據(jù)的函數(shù),我個人感覺這里,既簡單又比較難的。這個函數(shù)里面又包含里按學(xué)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024大學(xué)校園廣播稿(16篇)
- 高邑縣京廣鐵路物流特色小鎮(zhèn)(提報)
- 華為交換機基本配置6個實驗報告
- 蝸牛課件教學(xué)課件
- 非遺項目計劃書模板范文
- 一年級數(shù)學(xué)(上)計算題專項練習(xí)集錦
- 汽車行駛、轉(zhuǎn)向與制動系統(tǒng)檢修 第2版 課件項目九 汽車行駛穩(wěn)定性系統(tǒng)檢修
- 城市軌道交通列車自動控制系統(tǒng)維護(hù) 課件 3.3 DCS 系統(tǒng)認(rèn)知
- 大學(xué)學(xué)習(xí)總結(jié)集錦
- 科技與實驗報告
- 《插秧歌》教學(xué)課件
- 民間故事:一幅壯錦
- 一元一次方程市優(yōu)質(zhì)課課件
- 《中國古代文學(xué)》試題庫(精心整理)
- 關(guān)于修改單位養(yǎng)老保險參保人員關(guān)鍵信息的申請
- 企業(yè)團(tuán)建產(chǎn)品策劃方案
- 《公司治理》教學(xué)教案
- 初三數(shù)學(xué)試卷講評課教學(xué)設(shè)計
- C++程序設(shè)計全套課件完整版ppt教學(xué)教程最新最全
- 建筑裝修裝飾工程技術(shù)標(biāo)
- 廣州開放大學(xué)電子政務(wù)終結(jié)性考核答卷
評論
0/150
提交評論