C语言程序设计Word格式文档下载.docx
- 文档编号:21927649
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:22
- 大小:218.87KB
C语言程序设计Word格式文档下载.docx
《C语言程序设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《C语言程序设计Word格式文档下载.docx(22页珍藏版)》请在冰豆网上搜索。
----------------process.h中提取需要的函数或其它库文件
windows.h>
-------------------------Windows程序的开头
2、主界面显示
通过主函数显示程序的主界面,通过输入的数字不同,函数会进入不同功能的函数继续运行。
5、源代码
#include<
#include<
voidmain()
{
intx;
voidg1();
voidg2();
voidg3();
voidg4();
voidg5();
voidg6();
voidg7();
voidg0();
voidmenu();
while
(1)
{system("
cls"
);
menu();
scanf("
%d"
&
x);
Sleep(300);
system("
switch(x)
{
case1:
g1();
break;
case2:
g2();
case3:
g3();
case4:
g4();
case5:
g5();
case6:
g6();
case7:
g7();
case0:
printf("
\n\n制作者:
***\n\n感谢使用!
!
\n\n\n"
exit(0);
制作者:
***\n感谢使用!
"
default:
输入错误"
}
printf("
___________________________________________\n"
system("
PAUSE"
}voidmenu()
printf("
*****************【成绩管理菜单】******************\n"
------------------------------------------------------\n"
1:
成绩录入\n"
2:
课程的总分和平均分\n"
3学生的总分和平均\n"
4:
按每个学生的总分由高到低排出名次表\n"
5:
按每个学生的总分由\n"
6:
按学号由小到大排出成绩表\n低到高排出名次表\n"
7:
按学号查询学生排名及各"
\n------------------------------------------------------\n"
0:
退出系统"
请输入选择:
\n"
}
voidg1()
intn,i,x,y,z,stu[30],mt[30],en[30],ph[30];
FILE*fp;
请输入录入同学人数:
n);
if(n==0)exit
(1);
for(i=0,x=0,y=0,z=0;
i<
n;
i++,x++,y++,z++)
请输入学生学号:
scanf("
stu[i]);
请输入学生%d的数学成绩:
stu[i]);
mt[x]);
while(mt[x]>
100||mt[x]<
0)
{
printf("
输入错误,请重新输入"
scanf("
}
请输入学生%d的英语成绩:
en[y]);
while(en[y]>
100||en[y]<
请输入学生%d的物理成绩:
ph[z]);
while(ph[z]>
100||ph[z]<
{
//保存TXT
fp=fopen("
out.txt"
"
wb"
if(fp==NULL)
打开文件出错\n"
fprintf(fp,"
n);
fprintf(fp,"
%d%d%d%d"
stu[i],mt[x],en[y],ph[z]);
fclose(fp);
写入完毕!
voidg2()
FILE*fp;
intstu[30][4];
inti,j,n;
/*以读写方式打开要读取的文件*/
fp=fopen("
"
rw"
if(!
fp)
perror("
cannotopenfile"
/*从文件中读取数据到二维数组*/
fscanf(fp,"
for(i=0;
i<
n;
i++)
for(j=0;
j<
4;
j++)
fscanf(fp,"
&
stu[i][j]);
//输出列表
学号数学英语物理\n"
for(i=0;
for(j=0;
printf("
%6d"
stu[i][j]);
//计算每门课程的总分和平均分
intEN=0,MT=0,PH=0;
floatave_en,ave_mt,ave_ph;
for(i=0;
i++)
{
MT=stu[i][1]+MT;
EN=EN+stu[i][2];
PH=PH+stu[i][3];
}
ave_mt=float(MT/n);
ave_en=float(EN/n);
ave_ph=float(PH/n);
数学总分%d英语总分%d物理总分%d\n"
MT,EN,PH);
数学平均分%.2f英语平均分%.2f物理平均分%.2f\n"
ave_mt,ave_en,ave_ph);
getchar();
fclose(fp);
voidg3()
fp)
//计算每人的总分和平均分
intsum[30]={0};
floatave[30];
for(j=1;
j<
4;
j++)
sum[i]=sum[i]+stu[i][j];
ave[i]=float(sum[i]/3);
学号为%d的同学总分为%d平均分为%.2f\n"
stu[i][0],sum[i],ave[i]);
voidg4()
FILE*fp;
intstu[30][4];
inti,j,n;
/*以读写方式打开要读取的文件*/
fp=fopen("
if(!
perror("
}
/*从文件中读取数据到二维数组*/
fscanf(fp,"
fscanf(fp,"
%d"
//输出列表
for(i=0;
for(j=0;
printf("
}
//计算每人的总分和平均分
//按每个学生的总分由高到低排出名次表
intmax=0,t=0,k,temp[4];
for(k=0;
k<
n-1;
k++)
{
for(i=0;
n-1-k;
{
if(sum[i]<
sum[i+1])
{
t=sum[i];
sum[i]=sum[i+1];
sum[i+1]=t;
for(j=0;
{
temp[j]=stu[i+1][j];
stu[i+1][j]=stu[i][j];
stu[i][j]=temp[j];
}
}
}
}
按每个学生的总分由高到低排出名次表:
总分%d"
sum[i]);
putchar('
\n'
getchar();
fclose(fp);
voidg5()
inti,j,n;
intsum[30]={0};
floatave[30];
for(i=0;
for(j=1;
sum[i]=sum[i]+stu[i][j];
ave[i]=float(sum[i]/3);
//按每个学生的总分由低到高排出名次表
intmax=0,t=0,k,temp[4];
for(k=0;
for(i=0;
if(sum[i]<
t=sum[i];
sum[i]=sum[i+1];
sum[i+1]=t;
for(j=0;
temp[j]=stu[i+1][j];
stu[i+1][j]=stu[i][j];
stu[i][j]=temp[j];
按每个学生的总分由低到高排出名次表:
for(i=n-1;
i!
=-1;
i--)
for(j=0;
j<
%3d"
putchar('
voidg6()
{FILE*fp;
intstu[30][4];
inti,j,n;
/*以读写方式打开要读取的文件*/
fp=fopen("
if(!
perror("
/*从文件中读取数据到二维数组*/
fscanf(fp,"
for(i=0;
for(j=0;
fscanf(fp,"
//输出列表
for(j=0;
//按学号由小到大排出成绩表
intmin=0,t=0,k,s[30]={0};
for(k=0;
n-3;
if(stu[i][0]>
stu[i+1][0])
for(j=0;
s[j]=stu[i][j];
stu[i][j]=stu[min][j];
stu[min][j]=s[j];
按学号由小到大排出成绩表:
putchar('
getchar();
fclose(fp);
voidg7()
//按每个学生的总分由高到低排出名次表
总分%3d第%2d名"
sum[i],i+1);
//按学号查询学生排名及各科考试成绩
intm;
请输入学号:
m);
for(i=0,j=0;
if(stu[i][j]==m)
\n你所查询的学生%d排名第%d,数学,英语,物理成绩分别为:
m,i+1);
for(j=1;
puts("
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计