C語言實驗報告-學(xué)生信息資源管理系統(tǒng)_第1頁
C語言實驗報告-學(xué)生信息資源管理系統(tǒng)_第2頁
C語言實驗報告-學(xué)生信息資源管理系統(tǒng)_第3頁
C語言實驗報告-學(xué)生信息資源管理系統(tǒng)_第4頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論