| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 695 人关注过本帖
标题:使用结构类型碰到的问题(学生信息)
只看楼主 加入收藏
燕过风
Rank: 2
等 级:论坛游民
帖 子:19
专家分:10
注 册:2010-4-9
结帖率:85.71%
收藏
已结贴  问题点数:5 回复次数:5 
使用结构类型碰到的问题(学生信息)
程序代码:
#include "stdafx.h"
#include<iomanip.h>
struct student
{float num;char name[10];char sexy; int age;};
struct student stu;

int main(int argc, char* argv[])
{student stu={200601,"大军",'',21};//学号的开头数字不能为0
cout<<setw(10)<<stu.num<<setw(10)<<stu.name<<setw(5)<<stu.sexy<<setw(5)<<stu.age<<endl;
cin>>argc;
    return 0;
}
这段程序运行结果为:  200601  大军  ? 21
我想问的是:如何才能显示"男"?还有"num"的赋值为什么不能以"0"开头(我试过了,如果以0字开头,就会出错“c:\documents and settings\admini
strator\my documents\c++\结构体\结构体.cpp(11) : error C2041: illegal digit '8' for base '8'")?这是为什么?希望大家能帮忙解决
搜索更多相关主题的帖子: 类型 学生 结构 
2010-04-09 22:32
debroa723
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:23
帖 子:862
专家分:1954
注 册:2008-10-12
收藏
得分:2 
char sexy;改成 char sexy[2];
原因,"男"是占两个字节的,而原sexy变量只有一个字节。
2010-04-10 14:04
apull
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:三体星系
等 级:版主
威 望:216
帖 子:1506
专家分:9241
注 册:2010-3-16
收藏
得分:2 
char表示一个字节,而一个汉字要占2个字节,用一个字母表示,或者改成 char数组。
2010-04-10 15:17
燕过风
Rank: 2
等 级:论坛游民
帖 子:19
专家分:10
注 册:2010-4-9
收藏
得分:0 
关于中文输入的问题我明白了,但是"num"输入为什么不能以"0"开头,我还是不明白,谁能告诉我?
2010-04-19 09:51
debroa723
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:23
帖 子:862
专家分:1954
注 册:2008-10-12
收藏
得分:0 
可以以0开头,不过,这是表示该数值是八进制的数。
至少student stu={0200601,"大军",'男',21};
是不会有编译错误和运行错误的,至于是否有逻辑错误,那要看你的设计了。
2010-04-19 22:48
gjx549358153
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2009-4-26
收藏
得分:0 
感觉那个编号适合用一个int 的数组表示。而不是float。因为一般学生编号的位数也一定,而不是一个有实际意义的数字。不参加运算。
2010-04-21 16:36
快速回复:使用结构类型碰到的问题(学生信息)
数据加载中...
 
   



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

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