| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 790 人关注过本帖
标题:这个程序为什么不能正常输入所需要的数据,怎样修改?
只看楼主 加入收藏
erty1001
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:4
帖 子:331
专家分:1433
注 册:2014-8-31
收藏
得分:0 
简单说说啊:
#define N 5
#include"string.h"
#include"stdio.h"
struct zg_type
{
   char num;
   char name[21];
   char sex;
   char bm;   
}s[N];
typedef struct zg_type S;
input(S s[])
{
   int i;
   for(i=0;i<N;i++)
   {
  
  /*   printf("请输入工号、姓名、性别、部门\n");
     scanf("%5s%5c%5s",s[i].num,s[i].name,&s[i].sex,s[i].bm);
     printf("输出");
*/
  
     fflush(stdin);
     s[i].num=getchar();
     printf("请输入第%d个人的姓名",i+1);
     fflush(stdin);
     scanf("%s",s[i].name);
     printf("请输入第%d个人的性别",i+1);
     fflush(stdin);
     s[i].sex=getchar();
     printf("请输入第%d个人的部门",i+1);
     fflush(stdin);
     s[i].bm=getchar();

  //   printf("输出\n");
/*注意蓝色是你原来的代码 红色是我帮你修改的  ,因为scanf是不安全的,每次使用之前尽量先清空stdin区*/


   }
}
void print(S s[])
{
    int i;
    for(i=0;i<N;i++)
       printf("输出工号、姓名、性别、部门\n");
       printf("%5s %5s %5s %5s",s[i].num,s[i].name,s[i].sex,s[i].bm);

    {
       printf("输出工号、姓名、性别、部门\n");
       printf("%c %s %c %c\n",s[i].num,s[i].name,s[i].sex,s[i].bm);
/*这里你缺少了一个大括号*/
    }

}
void sort(S s[])
{
    int t,i,j;
    for(i=0;i<N-1;i++)
    {
        for(j=i+1;j<N;j++)
        {  
           if(s[i].num>s[j].num)
           {
               t=s[i].num;
               s[i].num=s[j].num;
               s[j].num=t;
           }
        }
    }
    for(i=0;i<N;i++)
    {
        printf("输出工号、姓名、性别、部门\n");
        printf("%s %s %c %s",s[i].num,s[i].name,s[i].sex,s[i].bm);
    }
}
main()
{
    input(s);
    print(s);
    // sort(s);   /*sort 排序有问题  我给你禁用了 sort不能只变化num 其他分量都要跟着替换 选择排序法 有问题*/
}
2014-09-05 08:05
快速回复:这个程序为什么不能正常输入所需要的数据,怎样修改?
数据加载中...
 
   



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

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