| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 438 人关注过本帖
标题:寻找流程图
取消只看楼主 加入收藏
指尖
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2010-6-8
结帖率:0
收藏
已结贴  问题点数:10 回复次数:0 
寻找流程图
#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();
    }

}
拜托根据这个程序帮我写个流程图,急用,谢啦!!!
搜索更多相关主题的帖子: 流程图 
2010-06-08 22:48
快速回复:寻找流程图
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.045398 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved