| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5762 人关注过本帖
标题:如何将生成的数据保存到TXT文本中!求教
只看楼主 加入收藏
流光溢彩丿
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2015-6-3
结帖率:25%
收藏
已结贴  问题点数:20 回复次数:1 
如何将生成的数据保存到TXT文本中!求教
就是添加一个文件操作函数,让数据保存在TXT文本中


程序代码:
#include<stdio.h>
#include<process.h>

#define N 5   //学校个数
#define bm 4  //男团体个数
#define gm 3   //女团体个数
void xuanze();
void xunhuan();
struct match      //比赛项目
{
    int matchnum;  
    int rank[5];    //有些项目取前五名,此处改为5,反之为三则改3  -----》 //最高分计算
}
mat[bm+gm];    //男女项目
struct school     //学校
{
    int schoolnum;      //学校编号
    struct match mat[bm+gm];   //男女项目
    int total;                    //最高分数
    int boytotal;                //男最高分
    int girltotal;                //女最高分
}sch[N];
void huanyingni()     /*开始界面,欢迎使用*/
{    
    printf("\t*****************************************************************\n\n");
    printf("\t                    欢迎使用运动会统计系统\n\n");
    printf("\t*****************************************************************\n\n");
}




void input()   //输入成绩
{
    int i,j,k;
    for(i=0;i<N;i++)     //初始化分数
    {
        sch[i].total=0;
        sch[i].boytotal=0;
        sch[i].girltotal=0;
        for(k=0;k<bm+gm;k++)
        {
            sch[i].mat[k].rank[0]=0;
            sch[i].mat[k].rank[1]=0;
            sch[i].mat[k].rank[2]=0;
            sch[i].mat[k].matchnum=k+1;
        }
    }
    printf("        *********输入成绩**********\n");
    printf("输入说明:\n");
    printf(" 1.学校编号为1--%d; 项目编号为1--%d (1-%d为男子项目,%d-%d为女子项目).\n",N,bm+gm,bm,bm+1,bm+gm);
    printf(" 2. 成绩只能是'0'或'1'\n('0'表示没获得该项目的该名次,'1'表示获得了该项目的该名次.以Tab键前进。)\n",N);
    for(i=0;i<N;i++)
    {
        printf("请输入学校编号: ");
        scanf("%d",&sch[i].schoolnum);
      if(sch[i].schoolnum<0||sch[i].schoolnum>N)   //判断学校编号是否输入正确
      {
          printf("输入错误(只能是1-%d)请重新输入:",N);
        
      }
      printf("项目编号    ");
      for(k=0;k<bm+gm;k++)
          printf("%d    ",sch[i].mat[k].matchnum);
      printf("\n");
      for(j=0;j<3;j++) 
      {            
     printf("第(%d)名:",j+1); 
      for(k=0;k<bm+gm;k++)
          scanf("    %d",&sch[i].mat[k].rank[j]);
      for(k=0;k<bm+gm;k++)
           if(sch[i].mat[k].rank[j]!=0&&sch[i].mat[k].rank[j]!=1) //成绩只能是'0'或'1'
           {
           printf("输入错误,请重新输入,成绩只能是'0'或'1'\n");
        
           }
        
      }
   }

 }


void totaljisuan()    //最高分计算
{
    int i,k,b;
    for(i=0;i<N;i++)
        for(k=0,b=0;k<bm+gm;k++)
        {  
            //b=sch[i].mat[k].rank[0]*5+sch[i].mat[k].rank[1]*3+sch[i].mat[k].rank[2]*2; 
            b=sch[i].mat[k].rank[0]*7+sch[i].mat[k].rank[1]*5+sch[i].mat[k].rank[2]*3+sch[i].mat[k].rank[3]*2+sch[i].mat[k].rank[4]*1;
            sch[i].total=sch[i].total+b;
            if(k<bm)
                sch[i].boytotal=sch[i].boytotal+b;
            if(k>=bm)
                sch[i].girltotal=sch[i].girltotal+b;
    }
}

void mulu()
{
    printf("\n\n                              **系统目录**\n");   //系统目录
    printf("\t\t ************************************\n");
    printf("\t\t ####################################\n");

    printf("\t\t*#   1.统计各学校总分                 *\t \n");
    printf("\t\t*#   2.按学校编号排序输出             *\t \n");
    printf("\t\t*#   3.按学校总分排序输出             *\t \n");
    printf("\t\t*#   4.按男团体总分排序输出           *\t \n");
    printf("\t\t*#   5.按女团体总分排序输出           *\t \n");
    printf("\t\t*#   6.按学校编号查询学校某个项目情况 *\t \n");
    printf("\t\t*#   7.按项目编号查询取得名次的学校   *\t \n");
    printf("\t\t*#   0.退出                           *\t \n");
    printf("\t\t ************************************\n");
    printf("\t\t ####################################\n");
}
void funct0()                       //退出系统
{
    printf("\n\t\t*******    谢谢使用!   *******\n");
    printf("\n\t\t*******    谢谢使用!   *******\n");
    exit(0);
}

void funct1()      //统计各学校总分
{
    int i,q;
    printf("        **********统计各学校总分**********\n");
    printf("**学校编号**\t\t\t\t**总分**\n");
    for(i=0;i<N;i++)
        printf("\t%d\t\t\t\t%d\n",sch[i].schoolnum,sch[i].total);
    printf("\n");printf("\n");
    printf(" 0:退出;1:返回目录。\n");
    printf("请选择: ");
    scanf("%d",&q);
        if(q==0) funct0();
        if(q==1) xunhuan(); 
        else 
        {
            printf("输入错误(只能是0或1),请重新输入:");
       
        }
}
void funct2()                 //按学校编号排序
{
    struct school sch1;
    int i,j,q;
    for(j=0;j<N-1;j++)
    for(i=0;i<N-j-1;i++)
        if(sch[i].schoolnum>sch[i+1].schoolnum)
        {
            sch1=sch[i];
            sch[i]=sch[i+1];
            sch[i+1]=sch1;
        }
    
    printf("        **********按学校编号排序**********\n");    
    printf("    **学校编号**\t\t\t\t**总分**\n");
    for(i=0;i<N;i++)
        printf("\t%d\t\t\t\t%d\n",sch[i].schoolnum,sch[i].total);
    printf("\n");printf("\n");
    printf("0:退出;1:返回目录。\n");
    printf("请选择: ");
    scanf("%d",&q);
        if(q==0) funct0();
        if(q==1) xunhuan(); 
         else
         {
             printf("输入错误(只能是0或1),请重新输入:");
    
         }

 }
void funct3()               //按学校总分排序
{
    struct school sch1;
    int i,j,q;
    for(j=0;j<N-1;j++)
    for(i=0;i<N-j-1;i++)
        if(sch[i].total<sch[i+1].total)
        {
            sch1=sch[i];
            sch[i]=sch[i+1];
            sch[i+1]=sch1;
        }
    printf("        **********按学校总分排序**********\n");    
    printf("    **学校编号**\t\t\t\t**总分**\n");
    for(i=0;i<N;i++)
        printf("\t%d\t\t\t\t%d\n",sch[i].schoolnum,sch[i].total);
    printf("\n");printf("\n");
    printf("0:退出;1:返回目录。\n");
    printf("请选择: ");
    scanf("%d",&q);
        if(q==0) funct0();
        if(q==1) xunhuan(); 
        else
        {
            printf("输入错误(只能是0或1),请重新输入:");
    
        }
}
void funct4()                    //按男团体总分排序
{
    struct school sch1;
    int i,j,q;
    for(j=0;j<N-1;j++)
    for(i=0;i<N-j-1;i++)
        if(sch[i].boytotal<sch[i+1].boytotal)
        {
            sch1=sch[i];
            sch[i]=sch[i+1];
            sch[i+1]=sch1;
        }
    printf("        **********按男团体总分排序**********\n");    
    printf("       **学校编号**\t\t**总分**\n");
    for(i=0;i<N;i++)
        printf("\t%d\t\t\t\t%d\n",sch[i].schoolnum,sch[i].boytotal);
    printf("\n");printf("\n");
    printf("0:退出;1:返回目录。\n");
    printf("请选择: ");
    scanf("%d",&q);
        if(q==0) funct0();
        if(q==1) xunhuan(); 
        else
        {
            printf("输入错误(只能是0或1),请重新输入:");
    
        }
}
void funct5()               //按女团体总分排序
{
     struct school sch1;
    int i,j,q;
    for(j=0;j<N-1;j++)
    for(i=0;i<N-j-1;i++)
        if(sch[i].girltotal<sch[i+1].girltotal)
        {
            sch1=sch[i];
            sch[i]=sch[i+1];
            sch[i+1]=sch1;
        }
    printf("        **********按女团体总分排序**********\n");    
    printf("       **学校编号**\t\t**总分**\n");
    for(i=0;i<N;i++)
        printf("\t%d\t\t\t\t%d\n",sch[i].schoolnum,sch[i].girltotal);
    printf("\n");printf("\n");
    printf("0:退出;1:返回目录。\n");
    printf("请选择: ");
    scanf("%d",&q);
        if(q==0) funct0();
        if(q==1) xunhuan();
        else
        {
            printf("输入错误(只能是0或1),请重新输入:");
    
        }
}
void funct6()             //按学校编号查询学校某个项目情况
{
    int i,n,m,q;
    printf("    **********按学校编号查询学校某个项目情况**********\n");
    printf("*******请输入所要查询的学校编号: ");
    scanf("%d",&n);
    if(n!=1&&n!=2)
    {
         printf("!!!!输入错误,学校编号只能是'0'或'1',请重新输入!!!!n");
    
    }
    printf("请输入所要查询的项目编号: ");
    scanf("%d",&m);
    for(i=0;i<N;i++)
        if(n==sch[i].schoolnum)
        {   
            printf("学校编号: %d                  项目编号: %d\n",n,m);
            if(sch[i].mat[m].rank[0]==1)
                printf("第一名(获得)   ");
            if(sch[i].mat[m].rank[1]==1)
                printf("第二名(获得)   ");
            if(sch[i].mat[m].rank[2]==1)
                printf("第三名(获得)   ");
            else
                printf("本校该项目未进入前三名");

        }
        printf("\n");printf("\n");
        printf("0:退出;1:返回目录;2:返回上一级。\n");
        printf("请选择: ");
        scanf("%d",&q);
        if(q==1) xunhuan();
        if(q==0) funct0();
        if(q==2);
        else
        {
            printf("输入错误(请输入0或1或2),请重新输入:");
            
        }
}
void funct7()              //按项目编号查询取得名次的学校
{   
    int i,t,q;
    printf("    **********按项目编号查询取得名次的学校**********\n");
    printf("*****请输入所要查询的项目编号: ") ;
    scanf("%d",&t);
    printf("项目编号:%d\n",t) ;
    for(i=0;i<N;i++)
    {
    if(sch[i].mat[t-1].rank[0]==1)
        printf("获得第一名的学校编号是:%d \n",sch[i].schoolnum);
    if(sch[i].mat[t-1].rank[1]==1)
        printf("获得第二名的学校编号是:%d \n",sch[i].schoolnum);
    if(sch[i].mat[t-1].rank[2]==1)
        printf("获得第三名的学校编号是:%d \n",sch[i].schoolnum);
    }
    printf("\n");printf("\n");
        printf("0:退出;1:返回目录;2:返回上一级。\n");
        printf("请选择: ");
        scanf("%d",&q);
        if(q==1) xunhuan();
        if(q==0) funct0();
        if(q==2);
        else
        {
            printf("输入错误(只能是0或1或2),请重新输入:");
           
        }
}


void xunhuan()            //返回目录
{
        int t;
     mulu();
   printf("\t\t请选择(输入0--7)序号:\t");
   scanf("%d",&t);
   while(t!=0&&t!=1&&t!=2&&t!=3&&t!=4&&t!=5&&t!=6&&t!=7)
   {
   printf("输入有误,请重新选择:");
   scanf("%d",&t);
   }
    switch(t)
{
    case 0:funct0();break;
    case 1:funct1();break;
    case 2:funct2();break;
    case 3:funct3();break;
    case 4:funct4();break;
    case 5:funct5();break;
    case 6:funct6();break;
    case 7:funct7();break;

}
}
//
void main()
{
    
    huanyingni();    
    input();
    totaljisuan();
    xunhuan();
}
    


[此贴子已经被作者于2016-1-7 21:15编辑过]

搜索更多相关主题的帖子: 如何 
2016-01-07 21:14
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:20 
太长了 你还是挑干的说吧  

DO IT YOURSELF !
2016-01-08 09:09
快速回复:如何将生成的数据保存到TXT文本中!求教
数据加载中...
 
   



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

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