c++程序没有出现输出

c++程序没有出现输出,第1张

最简单的回答:“interest2=(money+interest2)005”这个代码有问题,怎么有问题法,自个去想,反正,这个代码会让interest2增加得越来越少,最后几近不增加。

详述如下,有耐心可以看看,应该对你有帮助

1、个人理解,你给出的代码中,计算的思维方式是有问题的。你在这个编程设计中,应该是想计算着复利。

2、复利的计算工式应该是 “interest2=interest2(1+005)” 其中的005是利率,而不是“interest2=(money+interest2)005”。

3、“interest2=(money+interest2)005”这个式子的直接后果是让interest2增加了一个非常小的数。最后变化到“526315789473684”这个值,在double数据类型下,这个值加上100,得到1052631578947368,再乘005得到5263157894736842,如果一直这样下去,它会因为受精度的限制,一直就是这么大。

4、所以,你的程序就会进入一个死循环。

5、授人以鱼不如授人以渔,以后碰到问题要学会如何使用调试。下面就是我针对你的程序给出的调试代码,供你参考,这个调试代码会将关键的数据变化的输出展示出来,在代码无问题后你再将不需要的输出注释掉:

#include<iostream>

#include<iomanip> //用于控制输出精度调整

int main()

{

        using namespace std;

        const int money = 100;

        double interest1, interest2;

        interest1 = money01;

        interest2 = money005;

        cout << setprecision(32); //控制输出精度到32位

        int i;

        for (i = 1; interest1>interest2; i++)

        {

            interest2 = (money + interest2)005;

            cout << i << "--" << interest1 << "--" << interest2 << "--" << money << "--" << "\n"; //输出执行情况

            system("pause"); //用于暂停以查看,在windows及dos下有效。

        }

        cout << "第" << i << "年后c的投资价值将超过d" << "d的投资价值为" << interest1 + money << endl << "c的投资价值为" << interest2 + money << endl;

        return 0;

}

6、至于正确的代码,个人以为,你将

interest2 = (money + interest2)005;

改成

interest2=interest2(1+005);

即可。

因为不知道你具体的设想,所以,只是个人以为,请根据你的目标要求修正。

从CSDN上找到的答案:

scanf_s("%d%d%s",&quantity,&price,departement,10);没有加最大长度

scanf_s("%c", &i);

==>

scanf_s("%c", &i, 1);

这样试试看行不?

代码不是你写的吧?因为代码没有问题,只是输入时要先输入个数n,再输入n个数,最后输入一个要找的数——这代码没有输入错误提示,所以输入错了就没有输出,等待下一次输入。而且,代码是多组循环,若要退出,得输入两次Ctrl+z键,否则啥也不显示等待下一轮输入。比如你输入4↙(↙表示回车),再输入1

2

3

4(空格隔开)↙,最后输入3↙,那么,输出就是

用函数1找到的i,j为:(2,2)

用函数2找到的下标为:2

若不退出则进入下一轮,若要退出则输入^z↙^z↙即可。^z表示同时压下Ctrl键和z键。

你出现了 内存的错误

第一 double pted 你在这里定义了一个 指向double 变量的指针 但是你并没有给pted初始化 ,这时候pted 就会随便指向了一个八字节的内存单元 。

第二步 你pted = ted ; 这里面有两个错误 第一 ted 并没有初始化 它的值根本不知道是多少

第二 你就这个未知量赋给了 pted随意指向的内存单元 这块单元很可能是 只读的 或者 正在被其他程序使用 此时 程序就会崩溃 也就是说 你的程序到了这一步 就崩溃了 下面根本不会执行了。

下面我根据你的意思 帮你改了一改 你看看 是不是你想要的

#include <iostream>

using namespace std;

int main()

{

double ted;

cout<<"Enter a number:";

cin>>ted;

double pted =&ted;

cout<<"pted="<<pted<<endl;

cout<<"ted="<<ted<<endl;

cout<<"pted="<<pted<<endl;

return 0;

}

以上就是关于c++程序没有出现输出全部的内容,包括:c++程序没有出现输出、请问我编的这个程序为什么没有输出啊、c语言中,程序没有错误但是运行后却不显示等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9833588.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存