鱼C论坛

 找回密码
 立即注册
查看: 4995|回复: 13

C++菜鸟求助!!!

[复制链接]
发表于 2013-5-31 07:41:00 | 显示全部楼层 |阅读模式
3鱼币
我是一名C++初学者,正在学习小甲鱼老师的C++快速入门系列课程。今天学习一个程序,遇到一个问题。程序如下:
#include <IOSTREAM>
#include <math.h>

using namespace std;

int main()
{
#if(0)
    double result = sqrt(3.0);

    cout << "对3开根号保留小数点后0~9位,结果如下: \n" << endl;

    for( int i=0; i <= 9 ; i++ )
    {
        cout.precision(i);
        cout << result << endl;
    }

    cout << "当前输出精度为: " << cout.precision() << endl;

#endif

#if(1)
    int width = 4;
    char str[20];

    cout << "输入一段文本: \n";
    cin.width(5);

    while ( cin >> str )
    {
        cout.width( width++ );
        cout << str << endl;
        cin.width(5);
    }
#endif

    return 0;
}
程序在VC++6.0上运行正常,但是不能对程序结果进行标记和复制!!!
同程序的另一段程序结果可以正常的标记和复制
请问有没有人知道为什么
有没有办法让我可以对程序结果进行复制

最佳答案

查看完整内容

在控制台窗口上右键 选择属性 选择选项 编辑选项中选择 快速编辑模式 ,然后你再试试!!
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-5-31 07:41:01 | 显示全部楼层
在控制台窗口上右键  选择属性 选择选项  编辑选项中选择 快速编辑模式  ,然后你再试试!!
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-5-31 07:42:05 | 显示全部楼层
别沉了,自己先顶一个!{:7_155:}
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-5-31 10:15:42 | 显示全部楼层
强烈支持楼主ing……
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-5-31 12:08:47 | 显示全部楼层
请问楼主,对程序的结果进行标识和复制 是什么意思?
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-5-31 12:53:20 | 显示全部楼层
大概明白你的意思了,上面那个之所以会有之前的结果,是因为精度问题

cout.precision(i); 这个方法保证了输出的精度,那是对同一个数的根号值不同精度的输出。
下面那个文本想保存之前输入的也很简单的,不过不是你这么干,需要把输入的文本保存下来,下次一并输入,代码如下:
  1. #include <string>
  2. #include <iostream>
  3. using namespace std;


  4. int _tmain(int argc, _TCHAR* argv[])
  5. {
  6. #if(0)
  7.         double result = sqrt(3.0);

  8.         cout << "对3开根号保留小数点后0~9位,结果如下: \n" << endl;

  9.         for( int i=0; i <= 9 ; i++ )
  10.         {
  11.                 cout.precision(i);
  12.                 cout << result << endl;
  13.         }

  14.         cout << "当前输出精度为: " << cout.precision() << endl;

  15. #endif

  16. #if(1)
  17.         string str = "";
  18.         string perStr = "";

  19.         cout << "输入一段文本: \n";

  20.         while ( cin >>str)
  21.         {
  22.                 if (0 != perStr.length())
  23.                 {
  24.                         str = perStr.append(str);
  25.                 }
  26.                 cout << str << endl;
  27.                 perStr = str;
  28.         }
  29. #endif

  30.         return 0;
  31. }
复制代码
结果如下:

1111111111.jpg
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-5-31 16:19:59 | 显示全部楼层
哥们,你没理解我的意思,我的意思是第一段程序运行第二段程序屏蔽时可以正常的进行标记和复制;结果如下图。但是两段程序一起运行或者单独运行第二段程序时,都无法进行右键标记操作。
搜狗截图_2013-05-31_16-12-52.jpg
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-5-31 16:26:31 | 显示全部楼层
而且使用你的程序,第二段单独运行或者一二段整体运行也无法标记!
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-5-31 20:40:15 | 显示全部楼层
嗯可行!我想问问,为什么在控制台窗口中间,点右键不行?
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-5-31 23:46:52 | 显示全部楼层
学习学习。。。。。。。。。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-6-1 01:19:27 | 显示全部楼层
这个是在网上帮楼主搜的一个帖子,其中问了一个跟楼主一样的问题。http://bbs.csdn.net/topics/330218714
还有一个办法 就是 在cmd中运行楼主的exe程序,那样点中间也是可以标记的,{:1_1:}
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-6-1 06:54:27 | 显示全部楼层
强烈支持楼主ing……
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-6-4 19:42:01 | 显示全部楼层
学习学习~{:7_169:}
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-6-7 14:05:23 | 显示全部楼层
学习学习~:lol楼主加油~
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-7-27 10:12

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表