| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 868 人关注过本帖
标题:用结构体和共用体输入学生和老师的性别,编号,工作,班级,职务
取消只看楼主 加入收藏
wxh525123
Rank: 2
等 级:论坛游民
帖 子:38
专家分:37
注 册:2010-4-18
结帖率:100%
收藏
已结贴  问题点数:30 回复次数:2 
用结构体和共用体输入学生和老师的性别,编号,工作,班级,职务
#include<stdio.h>
struct
{
    int num;
    char name[10];
    char sex;
    char job;
    union
    {
        int banji;
        char position[10];
        }category;
    }person[2];
void main()
{
    int i;
    printf("No. Name sex job class/position\n");
    for(i=0;i<2;i++)
    {
        scanf("%d%s%c%c",&person[i].num,&person[i].name,&person[i].sex,&person[i].job);
        if(person[i].job=='s')
            scanf("%d",&person[i].category.banji);
        else
            if(person[i].job=='t')
                scanf("%s",person[i].category.position);
            else
                printf("input error!\n");
        }
    printf("\n");
    printf("No.   Name sex job class/position\n");
    for(i=0;i<2;i++)
        if(person[i].job=='s')
            printf("%-6d%-10s%-3c%-3c%-6d\n",person[i].num,person[i].name,person[i].sex,person[i].job,person[i].category.banji);
        else
            printf("%-6d%-10s%-3c%-3c%-6s\n",person[i].num,person[i].name,person[i].sex,person[i].job,person[i].category.position);
    getch();
    }
为什么编译出来输入不对呢,那个大哥帮忙看看。。谢谢了
搜索更多相关主题的帖子: 结构体 性别 职务 老师 学生 
2010-05-10 17:56
wxh525123
Rank: 2
等 级:论坛游民
帖 子:38
专家分:37
注 册:2010-4-18
收藏
得分:0 
scanf("%d%s%c%c",&person[i].num,&person[i].name,&person[i].sex,&person[i].job);去掉红色取址符也不对。这是书上的一道例题,不知道哪儿错了
2010-05-10 17:58
wxh525123
Rank: 2
等 级:论坛游民
帖 子:38
专家分:37
注 册:2010-4-18
收藏
得分:0 
scanf("%d%s %c %c",&person[i].num,person[i].name,&person[i].sex,&person[i].job);
那位大哥给解释一下%d和%s之间不用空格,而%s和%c和%c之间必须要加空格呢?不然执行错误。这是怎么回事啊??
谢谢了
2010-05-10 18:57
快速回复:用结构体和共用体输入学生和老师的性别,编号,工作,班级,职务
数据加载中...
 
   



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

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