當前位置:編程學習大全網 - 編程語言 - c語言編程目標代碼

c語言編程目標代碼

簡易教學管理系統的設計與實現——半年研究的成果

用C-FREE寫的。看論壇,好像很多人沒學多少章節,但學到的東西比我們從課本上學到的還多。

哎,學校開的C班,還有半年就要上完了。以後能做什麽?!

#定義M 25

#定義N 6

# include & ltstdio.h & gt

# include & ltstdlib.h & gt

# include & ltmath.h & gt

結構學生

{

int num

char name[20];

int score[N];

浮動大街;

} ST[M];

柯城結構

{

int num

char kcname[20];

飄雪粉;

浮動大街;

雙bzc

}課程[N];

結構同濟

{

int exc

int good

int mid

int pass

int nopass

}同濟[N];

/*讀取數據文件WL0114.txt */

void read_dat1()

{

int i,j;

char str 1[100];

FILE * fp

FP = fopen(" D:\ \ wl 0114 . txt "," r ");

如果(fp==0)

{

printf("無法打開");

退出(0);}

fgets(str1,10000,FP);

for(I = 0;我& ltm;i++)

{

fscanf(fp," %d%s ",& amp聖[我]。num,st[i]。姓名);

for(j = 0;j & ltn;j++)

fscanf(fp," %d ",& amp聖[我]。score[j]);

}

fclose(FP);

}

/*讀取數據文件WL01kc.txt */

void read_dat2()

{

FILE * fp

int k;

char str 2[100];

fp=fopen("D:\\WL01kc.txt "," r ");

如果(fp==0)

{

printf("無法打開");

退出(0);

}

fgets(str2,100,FP);

for(k = 0;k & ltn;k++)

fscanf(fp," %d%s%f ",& amp課程[k]。num,當然[k]。kcname & amp;課程[k]。雪粉);

fclose(FP);

}

/*計算每個學生N門課程的加權平均值*/

void jqave()

{ FILE * fp/* * * * * *自動創建CTJ0114.txt文件* * * * * */

FP = fopen(" D:\ \ ctj 0114 . txt "," w ");

Fprintf(fp,“排名名英文C語言線性代數離散數學高等數學密碼學平均\ n”);

fclose(FP);

int i,j;

float s=0,sum

for(I = 0;我& ltn;i++)

s+=課程[i]。雪粉;

for(I = 0;我& ltm;i++)

{

sum = 0;

for(j = 0;j & ltn;j++)

sum+=st[i]。分數[j]*課程[j]。雪粉;

聖[我]。ave =(int)(sum * 10.0/s+0.5)/10.0;

}

}

/*計算每門課程的平均分和標準差*/

void course_ave()

{

int i,j;

浮動總和;

for(I = 0;我& ltn;i++)

{ sum = 0;

for(j = 0;j & ltm;j++)

sum+=st[j]。得分[I];

當然[我]。ave = sum/M;}

for(I = 0;我& ltn;i++)

{

sum = 0;

for(j = 0;j & ltm;j++)

sum+=(st[j].分數[i]-課程[I]。ave)*(st[j]。分數[i]-課程[I]。ave);

當然[我]。bzc = sqrt(sum/M);

}

}

/*每門課程的及格和不及格統計*/

虛空教程_同濟()

{

int i,j;

for(I = 0;我& ltm;i++)

{

for(j = 0;j & ltn;j++)

{

if(st[i]。score[j]& gt;=90)同濟[j]。exc+= 1;

else if(st[i].score[j]& gt;=80)同濟[j]。好+= 1;

else if(st[i].score[j]& gt;=70)同濟[j]。mid+= 1;

else if(st[i].score[j]& gt;60)同濟[j]。pass+= 1;

else同濟[j]。nopass+= 1;

}

}

}

/*使用函數course_tongji()的統計結果得到如下課程成績分布示意圖*/

void course_tjpic()

{

int i,j;

printf(" \ n * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * \ n ");

printf(" \ n各課程成績分布示意圖\ n ");

Printf("\n 0。返回主菜單1。英語2。c語言3。線性代數4。離散數學5。高等數學6。密碼學。\ n ");

printf(" \ n * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * \ n ");

while(1){

Printf("輸入課程號(1-6):");

scanf("%d ",& ampj);

開關(j){

案例1:案例2:案例3:案例4:案例5:案例6:{

Printf("\t\t%10s等級分布圖\n ",課程[j-1]。kcname);

Printf("優秀:\ t ");for(I = 0;我& ltm;i++)if(I & lt;同濟[j-1]。exc)printf(" = ");printf(" \ n ");

printf(" Good:\ t ");for(I = 0;我& ltm;i++)if(I & lt;同濟[j-1]。good)printf(" = ");printf(" \ n ");

printf(" Medium:\ t ");for(I = 0;我& ltm;i++)if(I & lt;同濟[j-1]。mid)printf(" = ");printf(" \ n ");

printf(" Pass:\ t ");for(I = 0;我& ltm;i++)if(I & lt;同濟[j-1]。pass)printf(" = ");printf(" \ n ");

Printf("失敗:\ t ");for(I = 0;我& ltm;i++)if(I & lt;同濟[j-1]。no pass)printf(" = ");printf(" \ n ");}破;

案例0:退貨;

默認:printf("輸入錯誤!\ n ");打破;

}

}}

/*統計失敗的學生並輸出他們的信息*/

空st _同濟()

{

int i,j;

printf(" \ n學生編號名稱課程名稱學分\ n ");

for(I = 0;我& ltm;i++)

{

for(j = 0;j & ltn;j++)

{

if(st[i]。score[j]& lt;60)

printf(" \ n % 2d % 10s % 15s % 10.1f % 10d \ n ",st[i]。num,st[i]。名稱,課程[j]。kcname,課程[j]。雪粉,聖[我]。score[j]);

否則繼續;

}

}

}

/*使用函數jqave()的結果對學生進行排名*/

int paim(浮點t)

{

int i,n = 0;

for(I = 0;我& ltm;i++)

{

if(t & lt;聖[我]。ave)n++;

否則繼續;

}返回n+1;

}

/*統計優秀學生並顯示其信息*/

void st_tongji2()

{

int i,j;

printf(" \ n學生姓名英語C語言線性離散高數密碼學平均排名\ n ");

for(I = 0;我& ltm;i++)

{

for(j = 0;j & ltn;j++)

{

if(st[i]。ave & gt=92||paim(st[i].ave)& lt;=5||(st[i].ave & gt= 88 & amp& amp聖[我]。score[j]& gt;=99))

{

printf("\n%2d%9s ",st[i]。num,st[i]。姓名);

for(j = 0;j & ltn;j++)

printf("%8d ",st[i].score[j]);

printf(" % 10.1f % 4d \ n ",st[i]。帕依姆大街。ave));

}

否則繼續;

}

}

}

/*將排名後的班級成績單寫入MC0114.txt */

void Write_cjd()

{

FILE * fp

int i,j;

FP = fopen(" D:\ \ MC 0114 . txt "," w ");

如果(fp==0)

{

printf("未能建立新文件!\ n ");

退出(0);

}

Fprintf(fp,“排名名英文C語言線性代數離散數學高等數學密碼學平均\ n”);

for(I = 0;我& ltm;i++)

{

fprintf(fp," %3d%4d%10s ",paim(st[i].ave),st[i]。num,st[i]。姓名);

for(j = 0;j & ltn;j++)

fprintf(fp," %10d ",st[i]。score[j]);

fprintf(fp," %10.1f\n ",st[i]。ave);

} printf("文件創建成功,完整路徑:D:\ \ MC 0114 . txt \ n \ n ");

fclose(FP);

}

/*將每門課程的及格和不及格統計寫入MC0114.txt */

void Write_course()

{

FILE * fp

int i,j;浮動t;

FP = fopen(" D:\ \ KC 0114 . txt "," w ");

如果(fp==0)

{

printf("未能建立新文件!\ n ");

退出(0);

}

Fprintf(fp,“編號課程平均分標準差”);

for(I = 0;我& ltn;i++)

fprintf(fp," % d % 10s % 10.1f % 1f % 1d % 10d % 10d % 10d % 10d % 10d % 10d \ n ",課程[i]。num,當然[我]。kcname,課程[i]。ave,當然[我]。bzc,同濟[i]。exc,同濟[i]。好,同濟[我]。mid,同濟[i]。通,同濟[我]。no pass);

Printf("文件創建成功,完整路徑:D:\ \ KC 0114 . txt \ n \ n ");

fclose(FP);

}

/*顯示每個學生的成績*/

void st_cjd()

{

FILE * fp

int i,j;

FP = fopen(" D:\ \ ctj 0114 . txt "," a ");

Printf("輸入學號:");

scanf("%d ",& ampI);

如果(i & gt= 0 & amp& amp我& lt=M)

{printf ("Rank name英語C語言線性代數離散數學高等數學密碼學平均分\ n ");

fprintf(fp," %2d%4d%10s ",paim(st[i-1])。ave),st[i-1]。編號,ST[識別號1]。姓名);

printf("%3d%4d%10s ",paim(st[i-1])。ave),st[i-1]。編號,ST[識別號1]。姓名);

for(j = 0;j & ltn;j++){fprintf(fp," %8d ",st[i-1]。score[j]);

printf("%8d ",st[i-1]。score[j]);}

fprintf(fp," %10.1f\n ",st[i-1]。ave);

printf("%10.1f\n ",st[i-1]。ave);fclose(FP);

printf(" \ n該學生的成績已保存到:d:\ \ ctj 0114 . txt \ n \ n ");

}

Else {printf("無效學號!\ n ");ST _ CJD();}

}

void main_chaxun()

{

int n;

printf(" \ n * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * \ n ");

Printf("\n學生詳細成績查詢系統\ n ");

Printf("\n 1。輸出指定學生的成績。2.顯示不及格學生的名單。3.顯示優秀學生名單。4.返回主菜單。\ n ");

printf(" \ n * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * \ n ");

While(1){ printf("執行查詢命令:");

scanf("%d ",& ampn);

開關(n)

{ case 1:ST _ CJD();打破;

案例二:st _同濟();打破;

案例三:ST _ Tongji 2();打破;

案例四:退貨;

默認:printf("輸入錯誤!\ n ");打破;

}}}

void main_menu()

{ int n;

printf(" \ n & amp;& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp\ n ");

Printf("\n簡單的教學管理系統\ n ");

Printf("\n1。制作班級成績單2。創建每門課程分數的統計3。查詢學生成績4。查詢課程成績分布5。不幹了。\ n ");

printf(" \ n & amp;& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp& amp\ n ");

while(1){ printf(" Execute command:");

scanf("%d ",& ampn);

開關(n)

{ case 1:Write _ CJD();打破;

案例二:Write _ course();打破;

案例三:main _ chaxun();main_menu()。

案例四:course _ TJ pic();main_menu()。

情況五:出口(0);

默認:printf("輸入錯誤!\ n ");打破;

}}}

主()

{

read _ dat 1();

read _ dat 2();

jqave();

course _ ave();

課程_同濟();

main_menu()。

}

兩個數據文件的內容

(1)兩個數據文件

/* Wl0114.txt文件內容*/

學生姓名英語C語言線性代數離散數學高等數學密碼學

劉** 91 92 93 94 95 96

2 *** 85 92 67 75 93 86

3 *** 88 76 91 92 93 77

4楊欣65 94 54 91 88 66

5拓跋葉93 85 33 54 94 90

梁瀟90 94 89 90 92 91

7程東69 98 92 59 58 90

8周風力92 89 86 94 59 92

9田小雨89 78 92 88 70 74

10秦宇89 69 77 74 68 90

11花小霜90 92 93 91 89 78

12劉瑩瑩91 85 59 88 65 92

13公羊羽毛89 68 91 89 87 88

項少龍88 77 66 55 87 94

15董帥民89 92 77 91 65 67

16 AG 88 56 88 78 69 89

17華清肖89 65 82 94 84 89

王小寶69 58 44 24 33 55

19谷神92 91 90 93 94 91

20陸健85 89 84 81 83 92

21余59 91 80 85 85 84

22梁文靜85 84 94 92 93 94

23萬回西藏91 94 85 83 81 61

鳴人85 57 93 94 58 68

25武大85 81 87 86 80 72

/* WL01LC.txt文件內容*/

課程名稱課程學分數量

1英語6.0

2 C語言4.0

3線性代數5.0

4離散數學4.5

5高等數學3.0

6密碼學2.0

  • 上一篇:無損檢測技術專業課程
  • 下一篇:如何在電腦上打出愛的符號
  • copyright 2024編程學習大全網