



版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、.C 語言實驗報告院系:數(shù)學(xué)與計算科學(xué)學(xué)院班級:信息與計算科學(xué)2 班姓名:學(xué)號:2011年 12月 21日.一、問題描述編寫一個信息管理系統(tǒng),包括姓名、性別、年齡、班級、學(xué)號、地址、各科成績等,要求能進行查找、 排序和計算,按加權(quán)平均排序、按某一課程排序和按學(xué)號排序。二、分析問題,解決問題的步驟1 、輸入初始的學(xué)生信息:輸入信息包括學(xué)生的姓名、性別、年齡、班級、學(xué)號、地址、各科成績等相關(guān)信息;可用函數(shù)voidinput(STUDENT *data, int *len)來實現(xiàn)此操作。2 、 成 績 輸 出 模 塊 : 輸 出 學(xué) 生 的 信 息 以 及 成 績voidoutput(STUDENT
2、 *data, int len):通過學(xué)生的姓名來查看學(xué)生的相關(guān)成績,同時也可以分別通過caverage()、maverage() 、eaverage()和 comaverage()來輸出成績的平均分數(shù)、最高和最低分數(shù)。3、排序模塊:用函數(shù)void sort(STUDENT *data, int len)來實現(xiàn)。4、成績查詢模塊:可用void find(STUDENT *data,intlen)來實現(xiàn)。找到就輸出此學(xué)生全部信息。5、統(tǒng)計功能能:用函數(shù)void stat(STUDENT *data,intlen)來實現(xiàn)。6、退出系統(tǒng):可用一個函數(shù)exit ()來實現(xiàn),首先將信息保存到文件中,釋放
3、動態(tài)創(chuàng)建的內(nèi)存空間,再退出此程序。三、程序編寫#include <stdlib.h>.#include <stdio.h>#include <string.h>#define MAXN 35#define Maxsize325typedef struct student / 學(xué)生信息int no;char nameMaxsize;char sexMaxsize;char ageMaxsize;char adressMaxsize;char glassnumMaxsize;double Chinese;double math;double English;do
4、uble mark_ave;double mark_tot; STUDENT;/*-輸入信息子程序 -*/void input(STUDENT *data, int *len)int no;.putchar('n');printf("%sn", "請輸入新的記錄,如果需要退出當(dāng)前菜單請輸入-1.");printf("%sn", "格式: n 學(xué)號 n");printf("%sn", "姓名性別年齡地址班級學(xué)號語文數(shù)學(xué)英語 ");putchar('n
5、39;);printf("如:n");printf("1n");printf("張三 93 95 89n");scanf("%d", &no);while(no != -1) data*len.no = no;scanf("%s%s %s %s %s %lf%lf%lf",data*,&data*len.sex,&data*len.age,&data*len.adress,&data*len.glassnum,&data*len.C
6、hinese,&data*len.math,&data*len.English);data*len.mark_ave=(data*len.Chinese+data*len.math+data*len.English)/3.0;data*len.mark_tot=data*len.Chinese+data*len.mat h+data*len.English;.(*len)+;scanf("%d", &no);/*-輸出信息子程序 -*/void output(STUDENT *data, int len)int i;system("cls&
7、quot;);printf("%8s", "姓名 ");printf("%8s", "性別 ");printf("%8s", "年齡 ");printf("%8s", "地址 ");printf("%8s", "班級 ");printf("%8s", "語文 ");printf("%8s", "數(shù)學(xué) ");printf
8、("%10s", "英語 ");printf("%12s", "平均分 ");printf("%10s", "總分 ");putchar('n');for (i =0; i < 80; i+).putchar('=');putchar('n');for (i = 0; i< len; i+)printf("%8d", datai.no);printf("%8s", datai.
9、name);printf("%8s", datai.sex);printf("%8s", datai.age);printf("%8s", datai.adress);printf("%8s", datai.glassnum);printf("%8.1lf", datai.Chinese);printf("%8.1lf", datai.math);printf("%10.1lf", datai.English);printf("%12.1lf&q
10、uot;, datai.mark_ave);printf("%10.1lf", datai.mark_tot);putchar('n');for (i =0; i < 80; i+)putchar('=');putchar('n');printf("按回車鍵繼續(xù) .");getchar();.getchar();/*-排序子程序 -*/void sort(STUDENT *data, int len)int i,j,k;STUDENT temp;for (i=0; i<len-1; i+) fo
11、r (k=i, j=i+1; j<len; j+)if (datak.mark_ave > dataj.mark_ave) k=j; if (k != i) temp = datai;datai = datak;datak = temp;/*-查詢子程序 -*/void find(STUDENT *data, int len)int find_no, result ;.int i;lab: result=0;printf("%sn", "請輸入需要查找的學(xué)生的學(xué)號,退出當(dāng)前菜單請輸入 -1.");scanf("%d", &
12、amp;find_no);if (find_no = -1) return;/*exit the fine subprogram*/while( dataresult.no != find_no && result < len) result +;if (result >= len ) printf("%sn", "未查詢到相關(guān)信息 ");goto lab;else system("cls");printf("%sn", "查詢信息如下: ");for (i =0;
13、i < 80; i+)putchar('=');putchar('n');printf("%8s", "學(xué)號 ");printf("%8s", "姓名 ");printf("%8s", "性別 ");.printf("%8s", "年齡 ");printf("%8s", "地址 ");printf("%8s", "班級 "
14、;);printf("%8s", "語文 ");printf("%8s", "數(shù)學(xué) ");printf("%10s", "英語 ");printf("%12s", "平均分 ");printf("%10s", "總分 ");putchar('n');printf("%8d", dataresult.no);printf("%8s", data
15、);printf("%8s", dataresult.sex);printf("%8s", dataresult.age);printf("%8s", dataresult.adress);printf("%8s", dataresult.glassnum);printf("%8.1lf", dataresult.Chinese);printf("%8.1lf", dataresult.math);printf("%10.1lf",
16、dataresult.English);printf("%12.1lf", dataresult.mark_ave);printf("%10.1lf", dataresult.mark_tot);putchar('n');.for (i =0; i < 80; i+)putchar('=');putchar('n');goto lab;/*-統(tǒng)計子程序 -*/void stat(STUDENT *data, int len)int no_59=0, no_69=0, no_79=0, no_89=0,
17、 no_100=0; int i;for (i = 0;i < len; i+) if (datai.mark_ave <=59) no_59+;else if (datai.mark_ave <=69) no_69+;else if (datai.mark_ave <=79) no_79+;else if (datai.mark_ave <= 89) no_89+;else no_100+;system("cls");for (i =0; i < 80; i+)putchar('=');putchar('n
18、9;);.printf("%10s", "分數(shù) ");printf("%10s", "0-59");printf("%10s", "60-69");printf("%10s", "70-79");printf("%10s", "80-89");printf("%10s", "90-100");putchar('n');putchar('
19、;n');printf("%10s", "學(xué)生 ");printf("%10d", no_59);printf("%10d", no_69);printf("%10d", no_79);printf("%10d", no_89);printf("%10d", no_100);putchar('n');for (i =0; i < 80; i+)putchar('=');putchar('n');
20、printf("按回車鍵返回 ");getchar();getchar();./*-顯示信息子程序-*/void paint()int i;system("cls");printf("%55sn",“信計二班學(xué)生成績管理系統(tǒng)n");printf("制作者 :XXn");for (i = 0; i < 80; i+)putchar('=');putchar('n');printf("1輸入信息2輸出信息n");printf("3按平均分排序
21、4按學(xué)號查找 n");printf("5按平均分輸出統(tǒng)計信息6保存到文件 n");printf("0for (i = 0; i<= 79; i+)putchar('=');putchar('n');退出 n");printf("%sn", "請輸入各操作對應(yīng)的序號:");.void save(STUDENT *data, int len)/將數(shù)據(jù)保存到文件int i;FILE *fp;fp=fopen(" 成績統(tǒng)計表 .txt","w&q
22、uot;);fprintf(fp,"%8s", "學(xué)號 ");fprintf(fp,"%8s", "姓名 ");fprintf(fp,"%8s", "性別 ");fprintf(fp,"%8s", "年齡 ");fprintf(fp,"%8s", "地址 ");fprintf(fp,"%8s", "班級 ");fprintf(fp,"%8s&quo
23、t;, "語文 ");fprintf(fp,"%8s", "數(shù)學(xué) ");fprintf(fp,"%10s", "英語 ");fprintf(fp,"%12s", "平均分 ");fprintf(fp,"%10sn", "總分 ");fprintf(fp,"=n");putchar('n');.for (i = 0; i< len; i+)fprintf(fp,"%8
24、d", datai.no);fprintf(fp,"%8s", );fprintf(fp,"%8s", datai.sex);fprintf(fp,"%8s", datai.age);fprintf(fp,"%8s", datai.adress);fprintf(fp,"%8s", datai.glassnum);fprintf(fp,"%8.1lf", datai.Chinese);fprintf(fp,"%8.1lf", datai.math);fprintf(fp,"%10.1lf", datai.English);fprintf(fp,"%12.1lf", datai.mark_ave);fprintf(fp,"%10.1lfn", datai.mark_tot);fprintf(fp,"=
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年中國八合一讀卡器數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年中國儀表顯示盤數(shù)據(jù)監(jiān)測研究報告
- 云南省紅河州、文山州2024-2025學(xué)年高二上學(xué)期1月期末統(tǒng)一檢測物理試題(含答案)
- 安徽省安慶市潛山市北片中學(xué)2024-2025學(xué)年九年級下學(xué)期2月中考歷史模擬試題(含答案)
- 2019-2025年軍隊文職人員招聘之軍隊文職管理學(xué)題庫附答案(基礎(chǔ)題)
- 2019-2025年軍隊文職人員招聘之軍隊文職管理學(xué)與服務(wù)強化訓(xùn)練試卷A卷附答案
- python考試試題及答案
- 2025年反腐倡廉知識競賽試卷及答案
- 植物新品種知識培訓(xùn)課件
- 綠色物流園區(qū)建設(shè)項目合同
- Unit 1 Home 單元測試卷 重難點提優(yōu)卷(含答案)譯林版(2024)七年級英語下冊
- 5.2 做自強不息的中國人 (課件)-2024-2025學(xué)年統(tǒng)編版道德與法治七年級下冊
- 《材料科學(xué)與工程專業(yè)生產(chǎn)實習(xí)》課程教學(xué)大綱
- 陵園墓地代理居間
- 2025年寧夏警官職業(yè)學(xué)院高職單招職業(yè)技能測試近5年常考版參考題庫含答案解析
- 從入門到精通:2025年化妝基本步驟
- 移動傳輸匯聚機房施工項目
- 頂管選型及適應(yīng)性評估方案
- 熱性驚厥診斷治療與管理專家共識(2017版)
- 防腐工安全操作規(guī)程范文(2篇)
- 2025年湖北日報傳媒集團招聘筆試參考題庫含答案解析
評論
0/150
提交評論