寻找流程图
#include<stdio.h>#include<string.h>
#include "stdlib.h"
#define N 100
typedef struct stu
{
char name[20];
char num[6];
float cg;
float mg;
float sum;
}STU;
void paiming(STU *a,int n)
{
int i,j;
STU t;
for(i=0;i<n-1;i++)
for(j=i;j<n;j++)
if(a[i].sum<a[j].sum)
{
t=a[i];
a[i]=a[j];
a[j]=t;
}
printf("姓名 学号 语文 数学 总分\n");
for(i=0;i<n;i++)
printf("%s %s %.2f %.2f %.2f\n",a[i].name,a[i].num,a[i].cg,a[i].mg,a[i].sum);
}
void chaxun(STU*b,int m)
{
char n[20];
int i;
printf("请输入学生姓名:");
scanf("%s",&n);
printf("您要查询%s的成绩是:",n);
for(i=0;i<m;i++)
if(strcmp(b[i].name,n)==0)
printf("%s %s %.2f %.2f %.2f\n",b[i].name,b[i].num,b[i].cg,b[i].mg,b[i].sum);
}
void tongji(STU*c,int p)
{
int i,pm=0,pc=0;
float averm=0,averc=0;
float maxm=c[0].mg,maxc=c[0].cg;
float minm=c[0].mg,minc=c[0].cg;
for(i=0;i<p;i++)
{
averm+=c[i].mg/p;
averc+=c[i].cg/p;
if((c[i].mg)>60.0)
pm++;
if((c[i].mg)>60.0)
pc++;
if((c[i].mg)>maxm)
maxm=c[i].mg;
if((c[i].cg)>maxc)
maxc=c[i].cg;
if((c[i].mg)<minm)
minm=c[i].mg;
if((c[i].cg)<maxc)
minc=c[i].cg;
}
printf("语文:\n均分:%.2f\n及格率:%.2f\n最高分:%.2f\n最低分:%.2f",averc,(float)pc/p,maxc,minc);
printf("数学:\n均分:%.2f\n及格率:%.2f\n最高分:%.2f\n最低分:%.2f\n",averm,(float)pm/p,maxm,minm);
}
readdata(STU *s)
{
int i,n;
FILE *fp;
fp=fopen("stu.dat","r");
if(fp==0)
{
printf("请输入学生人数:");
fp=stdin;
}
else
printf("数据已从文件录入\n");
fscanf(fp,"%d",&n);
if(fp==stdin)
printf("姓名 学号 语文 数学\n");
for(i=0;i<n;i++)
{
fscanf(fp,"%s%s%f%f",s[i].name,s[i].num,&s[i].cg,&s[i].mg);
s[i].sum=s[i].cg+s[i].mg;
}
if(fp==stdin)
{
fp=fopen("stu.dat","w");
fprintf(fp,"%d\n",n);
for(i=0;i<n;i++)
fprintf(fp,"%s %s %.2f %.2f\n",s[i].name,s[i].num,s[i].cg,s[i].mg);
}
fclose(fp);
return n;
}
void dismenu()
{
system("cls");
printf("\t 学生成绩管理程序\n");
printf("\t\t1.录入数据\n");
printf("\t\t2.总成绩排名\n");
printf("\t\t3.成绩查找\n");
printf("\t\t4.成绩统计\n");
printf("\t\t5.打印成绩表\n");
printf("\t\t6.退出\n");
printf("请选择功能:(1_6)");
}
printcj(STU *s,int n)
{
int i;
printf("姓名 学号 语文 数学 总成绩\n");
for(i=0;i<n;i++)
printf("%s %s %.2f %.2f %.2f\n",s[i].name,s[i].num,s[i].cg,s[i].mg,s[i].sum);
}
main()
{
int a,count;
STU s[N];
while(1)
{
dismenu();
scanf("%d",&a);
switch(a)
{
case 1:count=readdata(s);break;
case 2:paiming(s,count);break;
case 3:chaxun(s,count);break;
case 4:tongji(s,count);break;
case 5:printcj(s,count);break;
}
if(a==6)break;
printf("按任意键继续...");
getchar();getchar();
}
}
拜托根据这个程序帮我写个流程图,急用,谢啦!!!