想问下,下面的程序写法是没问题的,但是为什么运行的时候直接跳过输入time的那一道?就进行运算了???

来源:百度知道 编辑:UC知道 时间:2024/06/19 01:34:03
#include<iostream.h>
float add(float s1,float s2,float s3);
main()
{
char num[20];float time;float a;float s1;float s2;
float s3;float sum;
cout<<"please the num is:"<<'\n';
cin>>num[20];
if (num[0]==0)
{a=0.12;
cout<<"It's changtu num"<<'\n';
cout<<"please press the time is:"<<'\n';
cin>>time;
s1=a*time;
cout<<"s1"<<'\n';}
if (num[0]==1)
{cout<<"It's wuxian num"<<'\n';
a=0.6;
cout<<"please press the time is:"<<'\n';
cin>>time;
s2=a*time;
cout<<"s2"<<'\n';}
else
cout<<"It's load num"<<'\n';
a=0.06;

cin>>num[20];
这句话写错了,你想输入一个电话号码放在num[20]里吧?这句话只是把一个字符放在了num[20]里,应该用
cin>>num;
才能把字符串放在num里

另外你的程序错误很多,比如
if (num[0]==0)
明显应该是
if (num[0]=='0')

输入与输出流缓冲区同步问题。
建议把<<'\n'改成<<endl
endl中包含调用flush(),清空缓冲区。

加flush

不知道