标题:帮忙看看。结构体输入不进去的问题,困扰了好久
取消只看楼主
Emotiona
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:311
专家分:581
注 册:2017-3-7
结帖率:97.5%
已结贴  问题点数:20 回复次数:4 
帮忙看看。结构体输入不进去的问题,困扰了好久
就第一个输入 录入不完就结束了,看了好一会不知道哪里问题
我输入输出单独进行也是录入不进去。头痛,想不明白怎么回事
struct Information
{
    long num;
    char name[10];
    char sex;
    char job[10];
    union
    {
        int clas;
        char position[10];
    }category;
}info[2];
int main()
{
  for(int i=0;i<2;i++)
  {     printf("请输入学号/教师号、姓名、性别、职业\n");
     scanf("%ld",&info[i].num);printf("%ld\n",info[i].num);
     scanf("%s",info[i].name);printf("%s\n",info[i].name);
     scanf("%c",&info[i].sex);printf("%c\n",info[i].sex);
     scanf("%s",info[i].job);printf("%s\n",info[i].job);}

[此贴子已经被作者于2017-3-15 15:27编辑过]

搜索更多相关主题的帖子: category position 结构体 教师 姓名 
2017-03-15 14:57
Emotiona
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:311
专家分:581
注 册:2017-3-7
得分:0 
回复 2楼 alice_usnet
操作了下可以的。能说下原理吗?谢谢。
2017-03-15 15:37
Emotiona
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:311
专家分:581
注 册:2017-3-7
得分:0 
回复 4楼 吹水佬
scanf("%ld%s%c%s",&info[i].num,info[i].name,&info[i].sex,info[i].job);
我最开始这样输入没加空格的时候,为啥录入到char字符的时候  后面跟了几个换行。
scanf("%ld %s %c %s",&info[i].num,info[i].name,&info[i].sex,info[i].job);
我用你说的加了空格输入,后面录入数据的时候就没跟换行。这两种输入方式有什么区别吗
2017-03-15 15:50
Emotiona
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:311
专家分:581
注 册:2017-3-7
得分:0 
回复 6楼 alice_usnet
帮我看看。为啥共同体里面的成员打印不出来。脑子不好使,在红色字段哪里。谢谢

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
struct Information
{
    long num;
    char name[10];
    char sex;
    char job[10];
    union
    {
        int clas;
        char position[10];
    }category;
}info[2];
int main()
{
  for(int i=0;i<2;i++)
  {     printf("请输入学号/教师号、姓名、性别、职业\n");
      scanf("%ld %s %c %s",&info[i].num,info[i].name,&info[i].sex,info[i].job);

      if(strcmp(info[i].job,"学生")==0)
      {
          printf("你的职业是学生,请输入班级\n");                //这里
          scanf("%d",&info[i].category.clas);
      }
      else if(strcmp(info[i].job,"教师")==0)                    //这里
      {
          printf("你的职业是老师,请输入课程老师\n");
          scanf("%s",info[i].category.position);
      }
      else
      printf("输入错误!\n");
  }
      for(int i=0;i<2;i++)
      {
          if(strcmp(info[i].job,"学生"))
          printf("%ld%10s%4c%6s%6d\n",info[i].num,info[i].name,info[i].sex,info[i].job,info[i].category.clas);
          else if(strcmp(info[i].job,"教师"))
          printf("%ld%10s%4c%6s%6s\n",info[i].num,info[i].name,info[i].sex,info[i].job,info[i].category.position);
      }
}
2017-03-15 16:16
Emotiona
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:311
专家分:581
注 册:2017-3-7
得分:0 
回复 7楼 Emotiona


打印不出共同体的成员
2017-03-15 16:19



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-475103-1-1.html




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

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