【文件属性】:
文件名称:c语言的工资管理系统
文件大小:28KB
文件格式:DOC
更新时间:2013-10-05 09:20:58
工资管理系统
#include
#include
FILE *fp;
int a[100][10]; /*定义一个二位数组用来存放学生成绩*/
int stu;
inputx()
{
gotoxy(15,13);
textcolor(RED);
printf("请输入你们班的学生数:");
scanf("%d",&stu);
}
input() /*输入学生成绩*/
{
int i;
for(i=1;i<=stu;i++)
{ scanf("%8d%8d%8d%8d%8d%8d",&a[i][1],&a[i][2],&a[i][3],&a[i][4],&a[i][5],&a[i][6]);
}
}
print1() /*输出成绩表,并求总分,平均分和排名次*/
{
int i,j;
int b[100],c[100];
int t,loc,k;
fp=fopen("成绩表.txt","w");
for(i=1;i<=stu;i++) /*求总分和平均分*/
{
a[i][7]=0;
for(j=2;j<=6;j++)
a[i][7]=a[i][7]+a[i][j];
a[i][8]=a[i][7]/5;
}
for(i=1;i<=stu;i++) /*排名*/
{
b[i]=a[i][7];
c[i]=i;
}
for(i=1;i<=stu-1;i++)
{
loc=i;
for(j=i+1;j<=stu;j++)
if(b[j]>b[loc])
loc=j;
if(loc!=i)
{t=b[i];b[i]=b[loc];b[loc]=t;
t=c[i];c[i]=c[loc];c[loc]=t;
}
}
for(i=1;i<=stu;i++)
for(k=1;k<=stu;k++)
if(c[k]==i)
{
a[i][9]=k;
break;
}
for(i=1;i<=stu;i++) /*输出成绩表*/
{
for(j=1;j<=9;j++)
printf("%-6d",a[i][j]);
printf("\n");
}
/*以下输出成绩表存到一个文件中*/
fprintf(fp,"学号 语文 数学 英语 物理 化学 总分 均分 名次\n");
for(i=1;i<=stu;i++)
{
for(j=1;j<=9;j++)
fprintf(fp,"%-6d",a[i][j]);
fprintf(fp,"\n");
}
}
print2() /*求各科总分和平均分*/
{
int i,j;
int m[3][6];
for(j=2;j<=6;j++)
{
m[1][j-1]=0;
for(i=1;i<=stu;i++)
m[1][j-1]=m[1][j-1]+a[i][j];
m[2][j-1]=m[1][j-1]/stu;
}
for(i=1;i<=2;i++)
{
for(j=1;j<=5;j++)
printf("%-6d",m[i][j]);
printf("\n");
}
}
change() /*修改学生成绩*/
{
int m,b,c,i,n=0;
printf("请输入您要修改的学生的学号:");
scanf("%d",&m);
printf("1,语文;2,数学;3,英语;4,物理;5,化学;\n");
printf("请选择您要修改的科目:");
scanf("%d",&b);
printf("请输入新的学生成绩:");
scanf("%d",&c);
for(i=1;i<=stu;i++)
if(m!=a[i][1]) n++;
else {
n++;
break;
}
a[n][b+1]=c;
printf("\n重新输出成绩表\n");
printf("学号 语文 数学 英语 物理 化学 总分 均分 名次\n");
print1();
go();
}
go() /*选择菜单*/
{
int n;
printf("\n现在您将会遇到以下几种情况:\n");
printf("1,继续查询;2,修改数据;3,重新运行;4,结束程序;\n");
printf("请您根据需要按键选择:");
scanf("%d",&n);
if(n==1)find();
if(n==2)change();
if(n==3)main();
if(n==4){
clrscr();
printf("*********感谢您使用本程序*********\n");
printf("这是我编写的第一个系统程序,为了感谢您的使用,请到3509寝室找李晓锋领奖\n");
printf("\n\n");
printf("再次感谢您的使用\n");
printf("------------ByeBye----------------");
}
getch();
}
find1() /*按名次查询学生成绩*/
{
int n,i;
printf("请输入您要查询的学生的名次:");
scanf("%d",&n);
printf("名次 学号 语文 数学 英语 物理 化学 总分 均分\n");
for(i=1;i<=stu;i++)
if(n==a[i][9])
{ printf("%-6d%-6d%-6d%-6d%-6d%-6d%-6d%-6d%-6d",a[i][9],a[i][1],a[i][2],a[i][3],a[i][4],a[i][5],a[i][6],a[i][7],a[i][8]);
break;
}
printf("\n");
go();
}