資源簡介
輸入一個班學生的學號和各門功課的成績。應用結構體數組保存輸入的信息,求出每個學生的平均成績;再按平均成績排序,并輸出排序后的結果。
具有可擴充性。

代碼片段和文件信息
#include?“stdio.h“
#include?“string.h“
#define?N?4
struct?student?
{
????long?num;
????char?name[20];
????char?sex;
????int?chinese;
????int?math;
????int?english;
int?average;
};
struct?student?stu[N];
int?choose;
void?Insert();
void?Show();
void?Search();
void?Delete();
void?Insert()
{
????int?i;
????????for(i=0;i ????????{
????????????printf(“請輸入學號:\n“);
????????????scanf(“%ld“&stu[i].num);
????????????printf(“請輸入名字:\n“);
????????????scanf(“%s“stu[i].name);
????????????getchar();
????????????printf(“請輸入性別:\n“);
????????????scanf(“%c“&stu[i].sex);
????????????printf(“請輸入語文成績:\n“);
????????????scanf(“%d“&stu[i].chinese);
????????????printf(“請輸入數學成績:\n“);
????????????scanf(“%d“&stu[i].math);
????????????printf(“請輸入英語成績:\n“);
????????????scanf(“%d“&stu[i].english);
stu[i].average?=?(stu[i].chinese+stu[i].math+stu[i].english)/3;
????????}
}
void?Show()
{????int?i;
printf(“學號\t姓名\t性別\t語文\t數學\t英語\t平均成績\n“);
????for(i=0;i ????{
student?temp;
for?(int?j=0;j {
for?(int?k=j+1;k {
if?(stu[j].average {
temp?=?stu[j];
stu[j]?=?stu[k];
stu[k]?=?temp;
}
}
}
printf(“%ld\t%s\t%c\t“stu[i].numstu[i].namestu[i].sex);
????????printf(“%d\t%d\t%d\t%d\n“stu[i].chinesestu[i].mathstu[i].englishstu[i].average);
???????
????}
}
void?Search()
{????char?name[20];
????int?kf=0;
????printf(“請輸入您所要查找的姓名:?“);
????gets(name);
????for(k=0;k ????????if(strcmp(namestu[k].name)==0)
????????{????printf(“%ld%s%c%d%d%d%d“stu[k].numstu[k].namestu[k].sexstu[k].chinesestu[k].mathstu[k].englishstu[k].average);
????????????f=1;
????????}
????if(f=0)
????printf(“沒有這個人~~~TOT“);
????
}
void?Delete()
{???????int?k;
????????char?newname[20];
????????printf(“請輸入該學生的名字!\n“);
????????gets(newname);
????????printf(“所有學生記錄為:\n“);
????????Show();
????????for(k=0;k ????????????if(strcmp(newnamestu[k].name)==0)
????????{
???????????printf(“你選擇的學生為:\n“);
???????????printf(“%ld%s%c%d%d%d%d“stu[k].numstu[k].namestu[k].sexstu[k].chinesestu[k].mathstu[k].englishstu[k].average);
????????
???????stu[k].num=stu[k+1].num;
???????strcpy(stu[k].namestu[k+1].name);
???????stu[k].sex=stu[k+1].sex;
???????stu[k].chinese=stu[k+1].chinese;
???????stu[k].math=stu[k+1].math;
???????stu[k].english=stu[k+1].english;
???stu[k].average=stu[k+1].average;
????}
??????
????????
????????printf(“學生記錄刪除完畢!“);
}
void?main()
{
????printf(“*********************************************\n“);
????printf(“*************學生成績管理程序****************\n“);
????printf(“*********************************************\n“);
????printf(“***********************************歡迎使用!\n“);
????printf(“*******************************制作者:******\n“);
????printf(“********************************姓名*********\n“);
printf(“*********功能選項****************************\n“);
????printf(“1..
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????533??2009-07-16?19:41??liyu\liyu.dsw
?????文件??????41984??2009-07-17?02:10??liyu\liyu.ncb
?????文件??????53248??2009-07-17?02:10??liyu\Debug\vc60.pdb
?????文件?????167979??2009-07-17?02:10??liyu\Debug\liyu.exe
?????文件?????435200??2009-07-17?02:10??liyu\Debug\liyu.pdb
?????文件??????????0??2009-07-17?02:10??liyu\Debug\chenji.sbr
?????文件??????15450??2009-07-17?02:10??liyu\Debug\chenji.obj
?????目錄??????????0??2009-07-16?19:41??liyu\Debug
?????文件???????1396??2009-07-17?02:10??liyu\liyu.plg
?????文件???????4260??2009-07-16?22:46??liyu\liyu.dsp
?????文件???????3837??2009-07-17?01:50??liyu\chenji.cpp
?????文件??????53760??2009-07-17?02:10??liyu\liyu.opt
?????目錄??????????0??2009-07-16?19:41??liyu
?????文件?????205312??2009-07-17?02:10??學生成績管理系統.doc
?????文件????????187??2009-07-16?21:41??要求.txt
-----------?---------??----------?-----??----
???????????????983146????????????????????15
- 上一篇:利用ICMP數據包探測網絡中的活動主機 VC++
- 下一篇:MFC日志類
評論
共有 條評論