主题:哪里错了?
大海LH
[专家分:30] 发布于 2008-07-21 21:43:00
用C++语言实现从输入的身份证号码中提取生日年、月、日、性别等信息,将提取的信息输出。其中身份证号码是18位的。18位的号码从第7位到12位为生日信息,倒数第2位为性别,奇数为男,偶数为女。
身份证号码连续输入,每个身份证号码之间用空格为分割符,回车表示输入所有号码结束。
请大家一起看看哪里写错了,运行时跟预想的不一样哦~~~
#include <iostream>
using namespace std;
int main()
{
char args[20];
cout<<"enter the ID number";
for (int j=0;j<20;j++)
cin>>args[j];
for( j=0;j<20;j++)
cout<<args[j];——————————————————这个代码为什么不运行?
cout<<"您的生日为:"<<args[6]<<args[7]<<args[8]<<args[9]<<"年"<<args[10]<<args[11]<<"月"<<args[12]<<args[13]<<endl;
if((args[16]%2)==0)
{
cout<<"女性"<<endl;
}
else
{
cout<<"男性"<<endl;
}
return 0;
}
回复列表 (共9个回复)
沙发
s110 [专家分:1060] 发布于 2008-07-21 21:52:00
for (int j=0;j<20;j++)
改成:
int j=0;
for(j=0;j<20;j++)
板凳
大海LH [专家分:30] 发布于 2008-07-21 21:55:00
不行啊,跟原来一样啊。
3 楼
yeye6810 [专家分:490] 发布于 2008-07-21 22:05:00
cin 不接受空格
4 楼
大海LH [专家分:30] 发布于 2008-07-22 00:47:00
这里没有空格,而且编译也没问题,输入身份证号以后回撤后没反应啊,在随便输入两个数以后他才运行,就是不知道这个,哪位高手能指点一下啊,而且cout<<语句也不输出啊。
5 楼
hehehe123 [专家分:870] 发布于 2008-07-22 08:21:00
for (int j=0;j<20;j++)
cin>>args[j];
干么要20??? 你不是说是18位的身份证么, 改为18应该就好
6 楼
oooreadooo [专家分:30] 发布于 2008-07-22 13:40:00
#include <iostream>
using namespace std;
int main()
{
int args[18];
cout<<"enter the ID number";
for (int j=0;j<18;j++)
cin>>args[j];
cout<<"你的身份证号码是:";
for( j=0;j<18;j++)
cout<<args[j];
cout<<"您的生日为:"<<args[6]<<args[7]<<args[8]<<args[9]<<"年";
cout<<args[10]<<args[11]<<"月"<<args[12]<<args[13]<<"日"<<endl;
if((args[16]%2)==0)
cout<<"女性"<<endl;
else
cout<<"男性"<<endl;
return 0;
}
7 楼
oooreadooo [专家分:30] 发布于 2008-07-22 13:44:00
但是上面输入的时候要注意 每个数字要用空格分开如:4 5 0 9 8 1 1 9 8 4 0 4 0 6 5 6 4 3这样子输入才行,因为cin输入要用空格分开的
8 楼
大海LH [专家分:30] 发布于 2008-07-22 16:18:00
不愧是高手。呵呵。
9 楼
oooreadooo [专家分:30] 发布于 2008-07-22 18:44:00
高手就不敢当,刚刚学了c两个月而已。上面的程序如果改为如下代码就不用用空格分开来输入了,而且代码质量也会提高很多。
#include <iostream>
#include<string>
using namespace std;
int main()
{
string args;
cout<<"enter the ID number";
cin>>args;
cout<<"你的身份证号码是:";
for(int j=0;j<18;j++)
cout<<args[j];
cout<<"您的生日为:"<<args[6]<<args[7]<<args[8]<<args[9]<<"年";
cout<<args[10]<<args[11]<<"月"<<args[12]<<args[13]<<"日"<<endl;
if((args[16]%2)==0)
cout<<"女性"<<endl;
else
cout<<"男性"<<endl;
return 0;
}
我来回复