當前位置:編程學習大全網 - 編程語言 - 中國第二年c語言程序設計專題

中國第二年c語言程序設計專題

# include & ltiostream.h & gt

# include & ltstdio.h & gt

# include & ltstdlib.h & gt

# include & ltstring.h & gt

# include & ltconio.h & gt

#定義添加3

#定義N 2

結構學生

{

字符編號[10];

字符名稱[10];

char en[10];

char mt[10];

char comp[10];

雙av;

} stu[N];

void creat file();

void insert();

void search 1();

void search 2();

void show();

void平均值();

void fail();

void del();

void sort list();

void sort list 1();

void sort list 2();

void add _ show(void);

FILE * fp

void main()

{ int k;

系統(“cls”);/*清空屏幕*/

While (1) /*主菜單*/

{ printf(" \ n \ n \ n \ n ");

printf(" \ t \ t \ t \ t學生成績管理系統\ n \ n ");

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

printf(" \ t \ t * \ t 1-輸入數據* \ n ");

printf(" \ t \ t * \ T2-插入數據* \ n ");

printf(" \ t \ t \ t * \ T3-查詢函數(姓名/學號)* \ n ");

printf(" \ t \ t * \ T4-計算平均分* \ n ");

printf(" \ t \ t \ t * \ t5-顯示失敗的人數* \ n ");

printf(" \ t \ t * \ T6-刪除學生記錄* \ n ");

printf(" \ t \ t * \ T7-排序函數(學號/年級)* \ n ");

printf(" \ t \ t * \ t8-顯示函數* \ n ");

printf(" \ t \ t * \ T9-添加*\n後顯示");

printf(" \ t \ t * \ t0-退出系統* \ n ");

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

CIN & gt;& gtk;

開關(k)

{

案例1:creat file();打破;//輸入數據

案例2: {

Printf("請輸入三組添加的學生信息:\ n \ n \ n ");

insert();

}

打破;//插入數據

案例三:

{ int m;

系統(“cls”);

while(1)

{

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

printf(" \ t \ t * \ t 1-名稱查找* \ n ");

printf(" \ t \ t * \ T2-學號搜索* \ n ");

printf(" \ t \ t * \ t0-退出系統* \ n ");

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

Printf("請輸入壹個選項\ n ");

CIN & gt;& gtm;

開關(m)

{

案例1:search 1();打破;

案例二:search 2();打破;

案例0:退貨;打破;//退出

默認值:puts(" \ t \ t \ t輸入了錯誤的選項");

printf(" \ t \ t \ t按任意鍵返回");

getchar();

}

系統(“cls”);

}

}

打破;//查詢功能

情況四:平均();打破;//計算平均分

情況五:fail();打破;//顯示失敗的人數。

案例6:del();打破;//刪除學生記錄

案例7:

{

int n;

系統(“cls”);

while(1)

{

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

printf(" \ t \ t * \ t 1-學號排序* \ n ");

printf(" \ t \ t * \ T2-成績排名* \ n ");

printf(" \ t \ t * \ t0-退出系統* \ n ");

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

Printf("請輸入壹個選項\ n ");

CIN & gt;& gtn;

開關(n)

{

case 1:sort list 1();打破;//學號排序

案例二:sort list 2();打破;//結果排名

案例0:退貨;打破;//退出

默認值:puts(" \ t \ t \ t輸入了錯誤的選項");

printf(" \ t \ t \ t按任意鍵返回");

getchar();

}

系統(“cls”);

}

}

案例八:show();

打破;

案例九:add _ show();

打破;

案例0:出口(1);打破;

默認值:puts(" \ t \ t \ t輸入了錯誤的選項!");

printf(" \ t \ t \ t按任意鍵返回...");

getchar();}

系統(“cls”);

}

}

Void creatfile() //輸入學生信息。

{

int I;

If ((FP = fopen ("TT。txt "," WB ")= = null)//調用庫函數fopen()檢查文件是否正常打開。

{

Printf("無法打開文件!\ n ");

退出(1);

}

Printf("請輸入學生信息:\ n ");

Printf("學號\ tname \英語成績\ t數學成績\ t計算機成績\ n ");

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

{

scanf("%s%s%s%s%s ",stu[i]。num,stu[i]。姓名,斯圖[我]。恩,斯圖[我]。mt,斯圖[我]。comp);

int en=atoi(stu[i])。en);

int mt=atoi(stu[i])。mt);

int comp=atoi(stu[i])。comp);

斯圖[我]。av = double((en+mt+comp)/3.0);

cout & lt& lt"平均值= "

if(fwrite(& amp;stu[i],sizeof(結構學生),1,fp)!=1)

Printf("文件寫入錯誤\ n ");

}

getchar();

fclose(FP);

}

空心嵌件()

{

int I;

If ((FP = fopen ("TT。txt "," a b+ ")= = null)//調用庫函數fopen()檢查文件是否正常打開。

{

Printf("無法打開文件!\ n ");

退出(1);

}

Printf("學號\ tname \英語成績\ t數學成績\ t計算機成績\ n ");

struct student g[add];

for(I = 0;我& lt添加;i++)

{

scanf("%s%s%s%s%s ",g[i]。數字,g[i]。名稱,g[i]。恩,g[i]。mt,g[i]。comp);

if(fwrite(& amp;g[i],sizeof(結構學生),1,fp)!=1)

Printf("文件寫入錯誤\ n ");

}

getchar();

fclose(FP);

add _ show();

}

VoidaAverage()//計算平均值。

{

int I;

if((fp=fopen("tt.txt "," r b+ ")= = NULL)

{

printf("打不開文件!\ n ");

退出(1);

}

Printf("學號\ tname \英語成績\ t數學成績\ t計算機成績\ t平均成績\ n ");

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

{

int en=atoi(stu[i])。en);

int mt=atoi(stu[i])。mt);

int comp=atoi(stu[i])。comp);

斯圖[我]。av = double((en+mt+comp)/3.0);

}

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

{

cout & lt& lt斯圖[我]。num & lt& lt" \ t " & lt& lt斯圖[我]。名稱& lt& lt" \ t \ t " & lt& lt斯圖[我]。en & lt& lt" \ t \ t " & lt& lt斯圖[我]。mt & lt& lt" \ t \ t " & lt& lt斯圖[我]。comp & lt& lt" \ t \ t " & lt& lt斯圖[我]。av & lt& ltendl

}

getchar();

fclose(FP);

}

Void fail() //失敗的人數。

{ int v = 0;

if((fp=fopen("tt.txt "," Rb ")= = NULL)

{

printf("打不開文件!\ n ");

退出(1);

}

Printf("學號\ tname \英語成績\ t數學成績\ t計算機成績\ n ");

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

{

弗雷德(& ampstu[i],sizeof(struct student),1,FP);

cout & lt& lt斯圖[我]。num & lt& lt" \ t " & lt& lt斯圖[我]。名稱& lt& lt" \ t " & lt& lt斯圖[我]。en & lt& lt" \ t " & lt& lt斯圖[我]。mt & lt& lt" \ t " & lt& lt斯圖[我]。comp & lt& lt" \ t " & lt& lt斯圖[我]。av & lt& ltendl

}

cout & lt& lt“* * * * * * * * * *平均成績不及格的學生* * * * * * * *”< & lt;endl

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

{雙p;

p=stu[i]。av;

如果(p & lt60.0){

v++;

弗雷德(& ampstu[i],sizeof(struct student),1,FP);

cout & lt& lt斯圖[我]。num & lt& lt" \ t " & lt& lt斯圖[我]。名稱& lt& lt" \ t " & lt& lt斯圖[我]。en & lt& lt" \ t " & lt& lt斯圖[我]。mt & lt& lt" \ t " & lt& lt斯圖[我]。comp & lt& lt" \ t " & lt& lt斯圖[我]。av & lt& ltendl

}

}

cout & lt& lt“失敗的人數是”

getchar();

fclose(FP);

}

Void del() //刪除

{ show();

int j,w,I;

if((fp=fopen("tt.txt "," w b+ ")= = NULL)

{

printf("打不開文件!\ n ");

退出(1);

}

cout & lt& lt"請輸入已刪除的學號:";

CIN & gt;& gtw;

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

int num=atoi(stu[j].num);

如果(數量==w)

斯圖[j]。num[0]= ' \ 0 ';

斯圖[j]。name[0]= ' \ 0 ';

斯圖[j]。mt[0]= ' \ 0 ';

斯圖[j]。en[0]= ' \ 0 ';

斯圖[j]。comp[0]= ' \ 0 ';

(char)斯圖[j]。av;

斯圖[j]。av = ' \ 0}

cout & lt& lt”\ n”;

}

Printf("學號\ tname \英語成績\ t數學成績\ t計算機成績\ n ");

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

{

弗雷德(& ampstu[i],sizeof(struct student),1,FP);

cout & lt& lt斯圖[我]。num & lt& lt" \ t " & lt& lt斯圖[我]。名稱& lt& lt" \ t " & lt& lt斯圖[我]。en & lt& lt" \ t " & lt& lt斯圖[我]。mt & lt& lt" \ t " & lt& lt斯圖[我]。comp & lt& lt" \ t " & lt& lt斯圖[我]。av & lt& ltendl

}

getchar();

fclose(FP);

}

Void sortlist1() //按學號排序。

{

int i,j;

if((fp=fopen("tt.txt "," r b+ ")= = NULL)

{

printf("打不開文件!\ n ");

退出(1);}

cout & lt& lt”排序前的順序是\ n”;

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

{

弗雷德(& ampstu[i],sizeof(struct student),1,FP);

printf("%s\t%s\t%s\t%s\t%s ",stu[i]。num,stu[i]。姓名,斯圖[我]。恩,斯圖[我]。mt,斯圖[我]。comp);

cout & lt& ltendl

}

cout & lt& lt“* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * \ n”;

cout & lt& lt”\ n \ n \ n”;

Printf("學號\ tname \英語成績\ t數學成績\ t計算機成績\ n ");

結構學生t;

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

for(j = 0;j & ltn-1-I;j++)

if(stu[j].num & gt斯圖[j+1]。數字)

{

t = stu[j];

stu[j]= stu[j+1];

stu[j+1]= t;//冒泡

}

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

cout & lt& lt斯圖[我]。num & lt& lt" \ t " & lt& lt斯圖[我]。名稱& lt& lt" \ t " & lt& lt斯圖[我]。en & lt& lt" \ t " & lt& lt斯圖[我]。mt & lt& lt" \ t " & lt& lt斯圖[我]。comp & lt& lt" \ t " & lt& lt斯圖[我]。av & lt& ltendl

getchar();

fclose(FP);

}

Void sortlist2() //按等級排序

{

int i,j;

Printf("學號\ tname \英語成績\ t數學成績\ t計算機成績\ n ");

cout & lt& lt“************按成績排名後的成績* * * * * * * * * * * * \ n”;

cout & lt& lt”\ n \ n \ n”;

if((fp=fopen("d:\\t1.txt "," r b+ ")= = NULL)

{printf("打不開文件!\ n ");退出(1);}

fread(stu,sizeof(struct student),N,FP);

結構學生t;

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

for(j = 0;j & ltn-1-I;j++)

if(stu[j].av & gt斯圖[j+1]。av)

{

t = stu[j];

stu[j]= stu[j+1];

stu[j+1]= t;//冒泡

}

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

cout & lt& lt斯圖[我]。num & lt& lt" \ t " & lt& lt斯圖[我]。名稱& lt& lt" \ t " & lt& lt斯圖[我]。en & lt& lt" \ t " & lt& lt斯圖[我]。mt & lt& lt" \ t " & lt& lt斯圖[我]。comp & lt& lt" \ t " & lt& lt斯圖[我]。av & lt& ltendl

getchar();

fclose(FP);

}

無效顯示()

{

If ((FP = fopen ("TT。txt "," Rb ")= = null)//調用庫函數fopen()檢查文件是否正常打開。

{

Printf("無法打開文件!\ n ");

退出(1);

}

int I;

Printf("學號\ tname \英語成績\ t數學成績\ t計算機成績\ n ");

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

{

弗雷德(& ampstu[i],sizeof(struct student),1,FP);

printf("%s\t%s\t%s\t\t%s\t\t%s ",stu[i]。num,stu[i]。姓名,斯圖[我]。恩,斯圖[我]。mt,斯圖[我]。comp);

cout & lt& ltendl

}

getchar();

fclose(FP);

}

Void search1() //按名稱查詢

{

if((fp=fopen("tt.txt "," Rb ")= = NULL)

{

printf("打不開文件!\ n ");

退出(1);

}

fread(stu,sizeof(struct student),N,FP);//讀取文件

char x[10];

for(int I = 0;我& lt10;i++)

{

x[I];

}//輸入搜索到的名稱。

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

{if(strcmp(stu[i])。姓名,x)==0)

cout & lt& lt斯圖[我]。num & lt& lt" \ t " & lt& lt斯圖[我]。名稱& lt& lt" \ t " & lt& lt斯圖[我]。en & lt& lt" \ t " & lt& lt斯圖[我]。mt & lt& lt" \ t " & lt& lt斯圖[我]。comp & lt& lt" \ t " & lt& lt斯圖[我]。av & lt& ltendl

其他

cout & lt& lt“沒有結果”;

}

getchar();

fclose(FP);

}

Void search2() //按學生id搜索

{

int I;

if((fp=fopen("tt.txt "," Rb ")= = NULL)

{

printf("打不開文件!\ n ");

退出(1);

}

fread(stu,sizeof(struct student),N,FP);//讀取文件

int y;

CIN & gt;& gty;

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

{

int num=atoi(stu[i])。num);

如果(數量==y)

cout & lt& lt斯圖[我]。num & lt& lt" \ t " & lt& lt斯圖[我]。名稱& lt& lt" \ t " & lt& lt斯圖[我]。en & lt& lt" \ t " & lt& lt斯圖[我]。mt & lt& lt" \ t " & lt& lt斯圖[我]。comp & lt& lt" \ t " & lt& lt斯圖[我]。av & lt& ltendl

其他

cout & lt& lt“沒有結果”;

}

getchar();

fclose(FP);

}

void add_show()

{

If ((FP = fopen ("TT。txt "," Rb ")= = null)//調用庫函數fopen()檢查文件是否正常打開。

{

Printf("無法打開文件!\ n ");

退出(1);

}

int I;

Printf("學號\ tname \英語成績\ t數學成績\ t計算機成績\ n ");

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

{

弗雷德(& ampstu[i],sizeof(struct student),1,FP);

printf("%s\t%s\t%s\t\t%s\t\t%s ",stu[i]。num,stu[i]。姓名,斯圖[我]。恩,斯圖[我]。mt,斯圖[我]。comp);

cout & lt& ltendl

}

getchar();

fclose(FP);

}

妳可以根據自己的需要進行修改。這就是我們在實踐中所做的。

  • 上一篇:怎樣提升自己單片機C語言編程能力啊?求高手指點迷津!我硬件也懂壹點 但我想朝編程方面發展 跪求高手指教
  • 下一篇:2011年四川藝體生。我成績有些差,想讀個專科,大家給推薦個公辦的學校。
  • copyright 2024編程學習大全網