| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2018 人关注过本帖
标题:结构体,共用体
只看楼主 加入收藏
灰小机
Rank: 2
来 自:月亮
等 级:论坛游民
威 望:1
帖 子:28
专家分:42
注 册:2016-6-5
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:7 
结构体,共用体
假如一个学生的信息表中包括学号、姓名、性别和一门课的成绩。而成绩通常又可采用两种表示方法:一种是五分制,采用的是整数形式;一种是百分制,采用的是浮点数形式。现要求编一程序,输入一个学生的信息并显示出来。
搜索更多相关主题的帖子: 结构体 信息 姓名 
2016-06-05 13:00
alice_usnet
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:18
帖 子:370
专家分:2020
注 册:2016-3-7
收藏
得分:0 
说说你的思路或代码

未佩好剑,转身便已是江湖
2016-06-05 13:09
灰小机
Rank: 2
来 自:月亮
等 级:论坛游民
威 望:1
帖 子:28
专家分:42
注 册:2016-6-5
收藏
得分:0 
回复 2楼 alice_usnet
不会啊,兄弟!
所以才问
2016-06-05 13:26
alice_usnet
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:18
帖 子:370
专家分:2020
注 册:2016-3-7
收藏
得分:10 
结构体的定义大概就是这样
程序代码:
struct student {
  char number[20];
  char name[20];
  char sex;
  union {
    int five;
    float hundred;
  }score;
};

未佩好剑,转身便已是江湖
2016-06-05 13:52
灰小机
Rank: 2
来 自:月亮
等 级:论坛游民
威 望:1
帖 子:28
专家分:42
注 册:2016-6-5
收藏
得分:0 
回复 4楼 alice_usnet
有完整的吗?
#include<stdio.h>
struct student
{
    char num[6];
    char name[8];
    char sex;
union
{
    int five;
    float hundred;
}score;
}stu[2];
void input(struct student stu[])
{
    scanf("%s",stu[1].num);
    scanf("%s",stu[1].name);
    scanf("%c",&stu[1].sex);
    scanf("%d",&stu[1].score);
}
void print(struct student stu[])
{
    printf("%s\n",stu[1].num);
    printf("%s\n",stu[1].name);
    printf("%c\n",stu[1].sex);
    printf("%d\n",stu[1].score.five);
    printf("%ld\n",stu[1].score.hundred);
}
void main()
{
    input(stu);
    print(stu);
}
结果有问题
2016-06-05 14:12
灰小机
Rank: 2
来 自:月亮
等 级:论坛游民
威 望:1
帖 子:28
专家分:42
注 册:2016-6-5
收藏
得分:0 
回复 4楼 alice_usnet
这个结构体和共用体还没怎么学
2016-06-05 14:12
alice_usnet
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:18
帖 子:370
专家分:2020
注 册:2016-3-7
收藏
得分:10 
程序代码:
#include<stdio.h>
struct student
{
    char num[6];
    char name[8];
    char sex;
union
{
    int five;
    float hundred;
}score;
}stu[2];
int  input(struct student stu[])
{
    scanf("%s",stu[1].num);
    scanf("%s",stu[1].name);
    getchar();
    scanf("%c",&stu[1].sex);
    printf("1.五分制2.百分制\n");
    int choice;
    scanf("%d",&choice);
    if(choice == 1)
        scanf("%d",&stu[1].score.five);
    else
        scanf("%f",&stu[1].score.hundred);
    return choice;
}
void print(struct student stu[],int choice)
{
    printf("%s\n",stu[1].num);
    printf("%s\n",stu[1].name);
    printf("%c\n",stu[1].sex);
    if(choice == 1)
      printf("%d\n",stu[1].score.five);
    else
      printf("%f\n",stu[1].score.hundred);
}
void main()
{
    int choice = input(stu);
    print(stu,choice);
}

未佩好剑,转身便已是江湖
2016-06-05 14:38
灰小机
Rank: 2
来 自:月亮
等 级:论坛游民
威 望:1
帖 子:28
专家分:42
注 册:2016-6-5
收藏
得分:0 
回复 7楼 alice_usnet
谢谢,基本满足需要了
2016-06-05 14:56
快速回复:结构体,共用体
数据加载中...
 
   



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

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