一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

C語言課程設(shè)計

 昵稱16699617 2014-06-16

C語言程序設(shè)計學(xué)生成績管理系統(tǒng)

2009-06-17 14:51 candy0summer | 分類:C/C++ | 瀏覽6282次
學(xué)生信息包括學(xué)號、姓名、3門考試成績。試設(shè)計一學(xué)生成績管理系統(tǒng),使之能提供一以下功能:
1.學(xué)生成績錄入功能(成績信息用文件保存)
2.統(tǒng)計:
a.輸入學(xué)生的學(xué)號統(tǒng)計該生的總分及平均分;
b.輸入課程求該門課程的平均分。
3.排序:按學(xué)號
4.查找:輸入一學(xué)生學(xué)號,輸出其姓名及平均成績
5.修改、刪除學(xué)生成績
拜托各位高手~~急需該程序設(shè)計答案~謝?。?! 
由于我們還要交實驗報告,也就是答辯,麻煩附上設(shè)計的具體思路,我會提高懸賞分??!一定是具體的設(shè)計思路~~
2009-06-17 14:55 提問者采納
#include "stdio.h"

/*定義學(xué)生結(jié)構(gòu)體*/

struct Student

{

char ID[20];

char Name[20];

float Mark1;

float Mark2;

float Mark3;

float Average;

};

/*聲明學(xué)生數(shù)組及學(xué)生數(shù)量*/

struct Student students[1000];

int num=0;

/*求平均值*/

float Avg(struct Student stu)

{

return (stu.Mark1+stu.Mark2+stu.Mark3)/3;

}

/*通過學(xué)號返回數(shù)組下標(biāo)*/

int Student_SearchByIndex(char id[])

{

int i;

for (i=0;i<num;i++)

{

if (strcmp(students[i].ID,id)==0)

{

return i;

}

}

return -1;

}

/*通過姓名返回數(shù)組下標(biāo)*/

int Student_SearchByName(char name[])

{

int i;

for (i=0;i<num;i++)

{

if (strcmp(students[i].Name,name)==0)

{

return i;

}

}

return -1;

}

/*顯示單條學(xué)生記錄*/

void Student_DisplaySingle(int index)

{

printf("%10s%10s%8s%8s%8s%10s\n","學(xué)號","姓名","成績","成績","成績","平均成績");

printf("-------------------------------------------------------------\n");

printf("%10s%10s%8.2f%8.2f%8.2f%10.2f\n",students[index].ID,students[index].Name,

students[index].Mark1,students[index].Mark2,students[index].Mark3,students[index].Average);

}

/*插入學(xué)生信息*/

void Student_Insert()

{

while(1)

{

printf("請輸入學(xué)號:");

scanf("%s",&students[num].ID);

getchar();

printf("請輸入姓名:");

scanf("%s",&students[num].Name);

getchar();

printf("請輸入成績:");

scanf("%f",&students[num].Mark1);

getchar();

printf("請輸入成績:");

scanf("%f",&students[num].Mark2);

getchar();

printf("請輸入成績:");

scanf("%f",&students[num].Mark3);

getchar();

students[num].Average=Avg(students[num]);

num++;

printf("是否繼續(xù)?(y/n)");

if (getchar()=='n')

{

break;

}

}

}

/*修改學(xué)生信息*/

void Student_Modify()

{

float mark1,mark2,mark3;

while(1)

{

char id[20];

int index;

printf("請輸入要修改的學(xué)生的學(xué)號:");

scanf("%s",&id);

getchar();

index=Student_SearchByIndex(id);

if (index==-1)

{

printf("學(xué)生不存在!\n");

}

else

{

printf("你要修改的學(xué)生信息為:\n");

Student_DisplaySingle(index);

printf("-- 請輸入新值--\n");

printf("請輸入學(xué)號:");

scanf("%s",&students[index].ID);

getchar();

printf("請輸入姓名:");

scanf("%s",&students[index].Name);

getchar();

printf("請輸入成績:");

scanf("%f",&students[index].Mark1);

getchar();

printf("請輸入成績:");

scanf("%f",&students[index].Mark2);

getchar();

printf("請輸入成績:");

scanf("%f",&students[index].Mark3);

getchar();

students[index].Average=Avg(students[index]);

}

printf("是否繼續(xù)?(y/n)");

if (getchar()=='n')

{

break;

}

}

}

/*刪除學(xué)生信息*/

void Student_Delete()

{

int i;

while(1)

{

char id[20];

int index;

printf("請輸入要刪除的學(xué)生的學(xué)號:");

scanf("%s",&id);

getchar();

index=Student_SearchByIndex(id);

if (index==-1)

{

printf("學(xué)生不存在!\n");

}

else

{

printf("你要刪除的學(xué)生信息為:\n");

Student_DisplaySingle(index);

printf("是否真的要刪除?(y/n)");

if (getchar()=='y')

{

for (i=index;i<num-1;i++)

{

students[i]=students[i+1];

}

num--;

}

getchar();

}

printf("是否繼續(xù)?(y/n)");

if (getchar()=='n')

{

break;

}

}

}

/*按姓名查詢*/

void Student_Select()

{

while(1)

{

char name[20];

int index;

printf("請輸入要查詢的學(xué)生的姓名:");

scanf("%s",&name);

getchar();

index=Student_SearchByName(name);

if (index==-1)

{

printf("學(xué)生不存在!\n");

}

else

{

printf("你要查詢的學(xué)生信息為:\n");

Student_DisplaySingle(index);

}

printf("是否繼續(xù)?(y/n)");

if (getchar()=='n')

{

break;

}

}

}

/*按平均值排序*/

void Student_SortByAverage()

{

int i,j;

struct Student tmp;

for (i=0;i<num;i++)

{

for (j=1;j<num-i;j++)

{

if (students[j-1].Average<students[j].Average)

{

tmp=students[j-1];

students[j-1]=students[j];

students[j]=tmp;

}

}

}

}

/*顯示學(xué)生信息*/

void Student_Display()

{

int i;

printf("%10s%10s%8s%8s%8s%10s\n","學(xué)號","姓名","成績","成績","成績","平均成績");

printf("-------------------------------------------------------------\n");

for (i=0;i<num;i++)

{

printf("%10s%10s%8.2f%8.2f%8.2f%10.2f\n",students[i].ID,students[i].Name,

students[i].Mark1,students[i].Mark2,students[i].Mark3,students[i].Average);

}

}

/*將學(xué)生信息從文件讀出*/

void IO_ReadInfo()

{

FILE *fp;

int i;

if ((fp=fopen("Database.txt","rb"))==NULL)

{

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

return;

}

if (fread(&num,sizeof(int),1,fp)!=1)

{

num=-1;

}

else

{

for(i=0;i<num;i++)

{

fread(&students[i],sizeof(struct Student),1,fp);

}

}

fclose(fp);

}

/*將學(xué)生信息寫入文件*/

void IO_WriteInfo()

{

FILE *fp;

int i;

if ((fp=fopen("Database.txt","wb"))==NULL)

{

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

return;

}

if (fwrite(&num,sizeof(int),1,fp)!=1)

{

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

}

for (i=0;i<num;i++)

{

if (fwrite(&students[i],sizeof(struct Student),1,fp)!=1)

{

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

}

}

fclose(fp);

}

/*主程序*/

main()

{

int choice;

IO_ReadInfo();

while(1)

{

/*主菜單*/

printf("\n------ 學(xué)生成績管理系統(tǒng)------\n");

printf("1. 增加學(xué)生記錄\n");

printf("2. 修改學(xué)生記錄\n");

printf("3. 刪除學(xué)生記錄\n");

printf("4. 按姓名查詢學(xué)生記錄\n");

printf("5. 按平均成績排序\n");

printf("6. 退出\n");

printf("請選擇(1-6):");

scanf("%d",&choice);

getchar();

switch(choice)

{

case 1:

Student_Insert();

break;

case 2:

Student_Modify();

break;

case 3:

Student_Delete();

break;

case 4:

Student_Select();

break;

case 5:

Student_SortByAverage();

Student_Display();

break;

case 6:

exit();

break;

}

IO_WriteInfo

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    中国少妇精品偷拍视频| 国产精品免费无遮挡不卡视频 | 欧美日韩亚洲国产精品| 久久老熟女一区二区三区福利| 日韩成人高清免费在线| 东京热加勒比一区二区| 色哟哟国产精品免费视频| 国产精品亚洲二区三区| 国产亚洲精品俞拍视频福利区| 国产成人亚洲综合色就色| 日韩无套内射免费精品| 中文字幕亚洲精品乱码加勒比| 国产又粗又猛又爽色噜噜| 精品国产91亚洲一区二区三区| 午夜福利视频偷拍91| 欧美日韩精品久久亚洲区熟妇人| 少妇高潮呻吟浪语91| 国产精品国产亚洲看不卡| 国产精品国产亚洲看不卡| 国产不卡的视频在线观看| 久久国产精品熟女一区二区三区| 日韩精品日韩激情日韩综合| 久草热视频这里只有精品| 午夜福利黄片免费观看| 好吊色免费在线观看视频| 女生更色还是男生更色| 免费精品一区二区三区| 真实偷拍一区二区免费视频| 亚洲高清欧美中文字幕| 亚洲一级二级三级精品| 夫妻性生活真人动作视频| 中文字幕乱码亚洲三区| 国产精品十八禁亚洲黄污免费观看 | 久草国产精品一区二区| 欧美一区二区口爆吞精| 国产欧美一区二区另类精品| 夫妻性生活黄色录像视频 | 国产欧洲亚洲日产一区二区| 日韩欧美中文字幕av| 中文日韩精品视频在线| 91欧美日韩国产在线观看|