| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 747 人关注过本帖
标题:新手问下弱弱的问题!~高手帮忙看看啊!~版主说标题要长长长长长长长长长长 ...
只看楼主 加入收藏
xiaoyao6245
Rank: 1
等 级:新手上路
帖 子:9
专家分:1
注 册:2011-5-6
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:14 
新手问下弱弱的问题!~高手帮忙看看啊!~版主说标题要长长长长长长长长长长长长长长长长长长长长长长长长长长长长长长长长长长长长长
呃.....下面是我学了不到半个月自己琢磨的一个算水电费的程序,只是用了简单的代码做的,呃...程序是没问题啦,只是我刚做好的时候可以运行到最后,也能出现按任意键继续、不知道什么时候再准备用switch加个菜单项的,可是,运行到最后算完了,它不出来最后的按任意键继续了。要随便打个字母或者小数点才会出来。我郁闷了,到处找方法找不到。下面我把程序和图片发出来吧、
程序代码:
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
using namespace std;
int main()
{
    int b,d,f,k;//定义的补助,用水,用电和寝室人数。
    cout<<"请输入补助多少:";
    cin>>b;
    double c,e,g,h;//补助费用,水费,电费,减去补助的总费用。
    c=b*3.75;
    cout<<"请输入用水多少:";
    cin>>d;
    e=d*3.75;
    cout<<"请输入用电多少:";
    cin>>f;
    g=f+e;
    cout<<"总水电费为:"<<g<<endl;
    h=g-c;
    cout<<"请输入寝室人数:";
    cin>>k;
    int l,m,n,o,p,q,r,s,t,z2,z3,z4,z5,z6,z7,z8,z9;//这里是定义的每个人的天数和寝室总天数
    double pj2,pj3,pj4,pj5,pj6,pj7,pj8,pj9,l1,m1,n1,o1,p1,q1,r1,s1,t1;//这里是每天的平均数和每个人的总费用
    if (k>=1)
    {
        cout<<"请输入第一个人的天数:";
        cin>>l;
        if (k>=2)
        cout<<"请输入第二个人的天数:";
        cin>>m;
        if (k==2)
        {
        z2=l+m;
        pj2=h/z2;
        l1=pj2*l;
        m1=pj2*m;
        cout<<"寝室平均每人每天费用为:"<<pj2<<endl;
        cout<<"第一个人的费用为:"<<l1<<endl;
        cout<<"第二个人的费用为:"<<m1<<endl;
        }
        else if (k>=3)
        cout<<"请输入第三个人的天数:";
        cin>>n;
        if (k==3)
        {
        z3=l+m+n;
        pj3=h/z3;
        l1=pj3*l;
        m1=pj3*m;
        n1=pj3*n;
        cout<<"寝室平均每人每天费用为:"<<pj3<<endl;
        cout<<"第一个人的费用为:"<<l1<<endl;
        cout<<"第二个人的费用为:"<<m1<<endl;
        cout<<"第三个人的费用为:"<<n1<<endl;
        }
        else if (k>=4)
        cout<<"请输入第四个人的天数:";
        cin>>o;
        if (k==4)
        {
        z4=l+m+n+o;
        pj4=h/z4;
        l1=pj4*l;
        m1=pj4*m;
        n1=pj4*n;
        o1=pj4*o;
        cout<<"寝室平均每人每天费用为:"<<pj4<<endl;
        cout<<"第一个人的费用为:"<<l1<<endl;
        cout<<"第二个人的费用为:"<<m1<<endl;
        cout<<"第三个人的费用为:"<<n1<<endl;
        cout<<"第四个人的费用为:"<<o1<<endl;
        }
        else if (k>=5)
        cout<<"请输入第五个人的天数:";
        cin>>p;
        if (k==5)
        {
        z5=l+m+n+o+p;
        pj5=h/z5;
        l1=pj5*l;
        m1=pj5*m;
        n1=pj5*n;
        o1=pj5*o;
        p1=pj5*p;
        cout<<"寝室平均每人每天费用为:"<<pj5<<endl;
        cout<<"第一个人的费用为:"<<l1<<endl;
        cout<<"第二个人的费用为:"<<m1<<endl;
        cout<<"第三个人的费用为:"<<n1<<endl;
        cout<<"第四个人的费用为:"<<o1<<endl;
        cout<<"第五个人的费用为:"<<p1<<endl;
        }
        else if (k>=6)
        cout<<"请输入第六个人的天数:";
        cin>>q;
        if (k==6)
        {
        z6=l+m+n+o+p+q;
        pj6=h/z6;
        l1=pj6*l;
        m1=pj6*m;
        n1=pj6*n;
        o1=pj6*o;
        p1=pj6*p;
        q1=pj6*q;
        cout<<"寝室平均每人每天费用为:"<<pj6<<endl;
        cout<<"第一个人的费用为:"<<l1<<endl;
        cout<<"第二个人的费用为:"<<m1<<endl;
        cout<<"第三个人的费用为:"<<n1<<endl;
        cout<<"第四个人的费用为:"<<o1<<endl;
        cout<<"第五个人的费用为:"<<p1<<endl;
        cout<<"第六个人的费用为:"<<q1<<endl;
        }
        else if (k>=7)
        cout<<"请输入第七个人的天数:";
        cin>>r;
        if (k==7)
        {
        z7=l+m+n+o+p+q+r;
        pj7=h/z7;
        l1=pj7*l;
        m1=pj7*m;
        n1=pj7*n;
        o1=pj7*o;
        p1=pj7*p;
        q1=pj7*q;
        r1=pj7*r;
        cout<<"寝室平均每人每天费用为:"<<pj7<<endl;
        cout<<"第一个人的费用为:"<<l1<<endl;
        cout<<"第二个人的费用为:"<<m1<<endl;
        cout<<"第三个人的费用为:"<<n1<<endl;
        cout<<"第四个人的费用为:"<<o1<<endl;
        cout<<"第五个人的费用为:"<<p1<<endl;
        cout<<"第六个人的费用为:"<<q1<<endl;
        cout<<"第七个人的费用为:"<<r1<<endl;
        }
        else if (k>=8)
        cout<<"请输入第八个人的天数:";
        cin>>s;
        if (k==8)
        {
        z8=l+m+n+o+p+q+r+s;
        pj8=h/z8;
        l1=pj8*l;
        m1=pj8*m;
        n1=pj8*n;
        o1=pj8*o;
        p1=pj8*p;
        q1=pj8*q;
        r1=pj8*r;
        s1=pj8*s;
        cout<<"寝室平均每人每天费用为:"<<pj8<<endl;
        cout<<"第一个人的费用为:"<<l1<<endl;
        cout<<"第二个人的费用为:"<<m1<<endl;
        cout<<"第三个人的费用为:"<<n1<<endl;
        cout<<"第四个人的费用为:"<<o1<<endl;
        cout<<"第五个人的费用为:"<<p1<<endl;
        cout<<"第六个人的费用为:"<<q1<<endl;
        cout<<"第七个人的费用为:"<<r1<<endl;
        cout<<"第八个人的费用为:"<<s1<<endl;
        }
        else if(k>=9)
        cout<<"请输入第九个人的天数:";
        cin>>t;
        if (k==9)
        {
        z9=l+m+n+o+p+q+r+s+t;
        pj9=h/z9;
        l1=pj9*l;
        m1=pj9*m;
        n1=pj9*n;
        o1=pj9*o;
        p1=pj9*p;
        q1=pj9*q;
        r1=pj9*r;
        s1=pj9*s;
        t1=pj9*t;
        cout<<"寝室平均每人每天费用为:"<<pj9<<endl;
        cout<<"第一个人的费用为:"<<l1<<endl;
        cout<<"第二个人的费用为:"<<m1<<endl;
        cout<<"第三个人的费用为:"<<n1<<endl;
        cout<<"第四个人的费用为:"<<o1<<endl;
        cout<<"第六个人的费用为:"<<q1<<endl;
        cout<<"第五个人的费用为:"<<p1<<endl;
        cout<<"第七个人的费用为:"<<r1<<endl;
        cout<<"第八个人的费用为:"<<s1<<endl;
        cout<<"第九个人的费用为:"<<t1<<endl;
        }
    }
    else
    cout<<"输入错误,请从新输入。";
system("pause");
return 0;
}


图片附件: 游客没有浏览图片的权限,请 登录注册
搜索更多相关主题的帖子: 水电费 小数点 
2011-05-27 09:59
ellie78
Rank: 2
等 级:论坛游民
帖 子:9
专家分:29
注 册:2011-5-27
收藏
得分:5 
我也是新手,但是弱弱地发现楼主的代码有失周之处(当然,我要是说得不恰当楼主别见怪):
1、由你设置的人数的变量个数来看,寝室的最大容纳量为9人,所以K值应该有所限定。
将if (k>=1)改为if (k>=1&&k<10)是不是更符合逻辑一些……
2、你的条件分支还有不完备的,当寝室人数为1的时候,下行内容没有考虑到吧……
2011-05-27 10:49
lianjiecuowu
Rank: 3Rank: 3
来 自:安徽
等 级:论坛游侠
帖 子:152
专家分:107
注 册:2011-5-20
收藏
得分:0 
让我看的头疼,变量定义的好模糊,即使有注释。唉,为什么不用数组进行定义呢,既省时,又能看的清楚

Sharp your mind!
2011-05-27 10:59
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
收藏
得分:0 
这种用计算器不好吗?

My life is brilliant
2011-05-27 11:54
ellie78
Rank: 2
等 级:论坛游民
帖 子:9
专家分:29
注 册:2011-5-27
收藏
得分:15 
终于找到原因了~~

楼主你这段代码的问题在于你在  else if (k>=2) 后面没有{,所以这个判断仅影响了cout<<"请输入第二个人的天数:";程序会继续执行cin>>m;所以你看到就是程序停住了,其实是在等待你的输入。同理可得,你的下面几个else if分支也有同样的问题。

我是这样解决的:
在每一个分支最后都加上一句return 0;这样程序就不会运行完此前的分之后仍然继续等待下一个输入了。

修改后的代码:(我也加了k应该小于10的限制)

#include <iostream>
#include <stdio.h>
#include <stdlib.h>
using namespace std;
int main()
{
    int b,d,f,k;//定义的补助,用水,用电和寝室人数。
    cout<<"请输入补助多少:";
    cin>>b;
    double c,e,g,h;//补助费用,水费,电费,减去补助的总费用。
    c=b*3.75;
    cout<<"请输入用水多少:";
    cin>>d;
    e=d*3.75;
    cout<<"请输入用电多少:";
    cin>>f;
    g=f+e;
    cout<<"总水电费为:"<<g<<endl;
    h=g-c;
    cout<<"请输入寝室人数:";
    cin>>k;
    int l,m,n,o,p,q,r,s,t,z2,z3,z4,z5,z6,z7,z8,z9;//这里是定义的每个人的天数和寝室总天数
    double pj2,pj3,pj4,pj5,pj6,pj7,pj8,pj9,l1,m1,n1,o1,p1,q1,r1,s1,t1;//这里是每天的平均数和每个人的总费用
    if (k>=1&&k<10)
    {
        cout<<"请输入第一个人的天数:";
        cin>>l;
        if (k>=2)
        cout<<"请输入第二个人的天数:";
        cin>>m;
        if (k==2)
        {
        z2=l+m;
        pj2=h/z2;
        l1=pj2*l;
        m1=pj2*m;
        cout<<"寝室平均每人每天费用为:"<<pj2<<endl;
        cout<<"第一个人的费用为:"<<l1<<endl;
        cout<<"第二个人的费用为:"<<m1<<endl;
        return 0;
        }
        else if (k>=3)
        cout<<"请输入第三个人的天数:";
        cin>>n;
        if (k==3)
        {
        z3=l+m+n;
        pj3=h/z3;
        l1=pj3*l;
        m1=pj3*m;
        n1=pj3*n;
        cout<<"寝室平均每人每天费用为:"<<pj3<<endl;
        cout<<"第一个人的费用为:"<<l1<<endl;
        cout<<"第二个人的费用为:"<<m1<<endl;
        cout<<"第三个人的费用为:"<<n1<<endl;
        return 0;
        }
        else if (k>=4)
        cout<<"请输入第四个人的天数:";
        cin>>o;
        if (k==4)
        {
        z4=l+m+n+o;
        pj4=h/z4;
        l1=pj4*l;
        m1=pj4*m;
        n1=pj4*n;
        o1=pj4*o;
        cout<<"寝室平均每人每天费用为:"<<pj4<<endl;
        cout<<"第一个人的费用为:"<<l1<<endl;
        cout<<"第二个人的费用为:"<<m1<<endl;
        cout<<"第三个人的费用为:"<<n1<<endl;
        cout<<"第四个人的费用为:"<<o1<<endl;
        return 0;
        }
        else if (k>=5)
        cout<<"请输入第五个人的天数:";
        cin>>p;
        if (k==5)
        {
        z5=l+m+n+o+p;
        pj5=h/z5;
        l1=pj5*l;
        m1=pj5*m;
        n1=pj5*n;
        o1=pj5*o;
        p1=pj5*p;
        cout<<"寝室平均每人每天费用为:"<<pj5<<endl;
        cout<<"第一个人的费用为:"<<l1<<endl;
        cout<<"第二个人的费用为:"<<m1<<endl;
        cout<<"第三个人的费用为:"<<n1<<endl;
        cout<<"第四个人的费用为:"<<o1<<endl;
        cout<<"第五个人的费用为:"<<p1<<endl;
        return 0;
        }
        else if (k>=6)
        cout<<"请输入第六个人的天数:";
        cin>>q;
        if (k==6)
        {
        z6=l+m+n+o+p+q;
        pj6=h/z6;
        l1=pj6*l;
        m1=pj6*m;
        n1=pj6*n;
        o1=pj6*o;
        p1=pj6*p;
        q1=pj6*q;
        cout<<"寝室平均每人每天费用为:"<<pj6<<endl;
        cout<<"第一个人的费用为:"<<l1<<endl;
        cout<<"第二个人的费用为:"<<m1<<endl;
        cout<<"第三个人的费用为:"<<n1<<endl;
        cout<<"第四个人的费用为:"<<o1<<endl;
        cout<<"第五个人的费用为:"<<p1<<endl;
        cout<<"第六个人的费用为:"<<q1<<endl;
        return 0;
        }
        else if (k>=7)
        cout<<"请输入第七个人的天数:";
        cin>>r;
        if (k==7)
        {
        z7=l+m+n+o+p+q+r;
        pj7=h/z7;
        l1=pj7*l;
        m1=pj7*m;
        n1=pj7*n;
        o1=pj7*o;
        p1=pj7*p;
        q1=pj7*q;
        r1=pj7*r;
        cout<<"寝室平均每人每天费用为:"<<pj7<<endl;
        cout<<"第一个人的费用为:"<<l1<<endl;
        cout<<"第二个人的费用为:"<<m1<<endl;
        cout<<"第三个人的费用为:"<<n1<<endl;
        cout<<"第四个人的费用为:"<<o1<<endl;
        cout<<"第五个人的费用为:"<<p1<<endl;
        cout<<"第六个人的费用为:"<<q1<<endl;
        cout<<"第七个人的费用为:"<<r1<<endl;
        return 0;
        }
        else if (k>=8)
        cout<<"请输入第八个人的天数:";
        cin>>s;
        if (k==8)
        {
        z8=l+m+n+o+p+q+r+s;
        pj8=h/z8;
        l1=pj8*l;
        m1=pj8*m;
        n1=pj8*n;
        o1=pj8*o;
        p1=pj8*p;
        q1=pj8*q;
        r1=pj8*r;
        s1=pj8*s;
        cout<<"寝室平均每人每天费用为:"<<pj8<<endl;
        cout<<"第一个人的费用为:"<<l1<<endl;
        cout<<"第二个人的费用为:"<<m1<<endl;
        cout<<"第三个人的费用为:"<<n1<<endl;
        cout<<"第四个人的费用为:"<<o1<<endl;
        cout<<"第五个人的费用为:"<<p1<<endl;
        cout<<"第六个人的费用为:"<<q1<<endl;
        cout<<"第七个人的费用为:"<<r1<<endl;
        cout<<"第八个人的费用为:"<<s1<<endl;
        return 0;
        }
        else if(k>=9)
        cout<<"请输入第九个人的天数:";
        cin>>t;
        if (k==9)
        {
        z9=l+m+n+o+p+q+r+s+t;
        pj9=h/z9;
        l1=pj9*l;
        m1=pj9*m;
        n1=pj9*n;
        o1=pj9*o;
        p1=pj9*p;
        q1=pj9*q;
        r1=pj9*r;
        s1=pj9*s;
        t1=pj9*t;
        cout<<"寝室平均每人每天费用为:"<<pj9<<endl;
        cout<<"第一个人的费用为:"<<l1<<endl;
        cout<<"第二个人的费用为:"<<m1<<endl;
        cout<<"第三个人的费用为:"<<n1<<endl;
        cout<<"第四个人的费用为:"<<o1<<endl;
        cout<<"第六个人的费用为:"<<q1<<endl;
        cout<<"第五个人的费用为:"<<p1<<endl;
        cout<<"第七个人的费用为:"<<r1<<endl;
        cout<<"第八个人的费用为:"<<s1<<endl;
        cout<<"第九个人的费用为:"<<t1<<endl;
        return 0;
        }
    }
    else
    cout<<"输入错误,请从新输入。";

return 0;
}
2011-05-27 12:03
ellie78
Rank: 2
等 级:论坛游民
帖 子:9
专家分:29
注 册:2011-5-27
收藏
得分:0 
另外,我去掉了system("pause");

如果不去掉,当输入溢出数据时(比如20),程序将提示两遍“Press any key to continue...”
2011-05-27 12:05
xiaoyao6245
Rank: 1
等 级:新手上路
帖 子:9
专家分:1
注 册:2011-5-6
收藏
得分:0 
以下是引用lianjiecuowu在2011-5-27 10:59:42的发言:

让我看的头疼,变量定义的好模糊,即使有注释。唉,为什么不用数组进行定义呢,既省时,又能看的清楚
呵呵、我也没学多久啦、数组还没学到、
2011-05-27 12:47
xiaoyao6245
Rank: 1
等 级:新手上路
帖 子:9
专家分:1
注 册:2011-5-6
收藏
得分:0 
以下是引用ellie78在2011-5-27 10:49:01的发言:

我也是新手,但是弱弱地发现楼主的代码有失周之处(当然,我要是说得不恰当楼主别见怪):
1、由你设置的人数的变量个数来看,寝室的最大容纳量为9人,所以K值应该有所限定。
将if (k>=1)改为if (k>=1&&k<10)是不是更符合逻辑一些……
2、你的条件分支还有不完备的,当寝室人数为1的时候,下行内容没有考虑到吧……
呵呵、这个嘛,还有待修改、我都是自学的、也有点头疼,编的时候头都快爆了、呵呵。。。
2011-05-27 12:48
xiaoyao6245
Rank: 1
等 级:新手上路
帖 子:9
专家分:1
注 册:2011-5-6
收藏
得分:0 
回复 4楼 lz1091914999
做练习,新手嘛、呵呵....
2011-05-27 12:49
xiaoyao6245
Rank: 1
等 级:新手上路
帖 子:9
专家分:1
注 册:2011-5-6
收藏
得分:0 
回复 5楼 ellie78
嗯嗯,谢谢了、学到了。后面也来慢慢自己把菜单项加进去看看、
2011-05-27 12:53
快速回复:新手问下弱弱的问题!~高手帮忙看看啊!~版主说标题要长长长长长长长长 ...
数据加载中...
 
   



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

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