2

こことグーグルで見つけたほとんどすべてを読んだ後、ビジュアルスタジオ2008でc ++(コンソールアプリwin32、黒いもの)でxy値をプロットすることに関する単純で直接的な解決策/例は見つかりませんでした。この投稿に基づいて、私はすべきですMsChart コントロールを使用する場合、これに関する簡単な例を誰か喜んで教えてくれませんか?

この投稿および他の多くの投稿では、Visual Studio に属さないライブラリ (EXE でコンパイルされないため、結果の EXE の一部として含まれない) または Excel でグラフィックを表示するライブラリについて説明しています。 . シンプルなxyグラフィック(およびこれらのポイントを通る線)を取得したいだけで、それが全世界で最も醜くて単純なグラフィックであるかどうかはまったく心配しませんが、コードの実行後(おそらく新しいウィンドウで)自動的に表示される必要がありますまたはおそらくコンソール内?) そして、この EXE を別の PC で実行すると、PC から数千キロ離れた場所にあり、コードの実行後にグラフィックが表示されます。

私は複雑すぎることを尋ねていますか?つまらない??この投稿が閉じられる代わりに、いくつかの回答/例/解決策が得られることを願っています =) よろしくお願いします!


@Koushik ご支援ありがとうございます!私は全体像を把握していますが、それを正しく理解するには明確な例が必要なので、投票するには、この簡単な例をテストしたいと思います:

#include <iostream>
#include <cmath>
#include <iomanip>

using namespace std;

double f(const double &x) {
    return (
        sin(x)*exp(-x));
}

int main()
{
    unsigned Nplot = 100;
    double x_low = 0.0;
    double x_high = 20.0;
    double h = (x_high - x_low)/(double)Nplot;

    for (unsigned i=0;i<=Nplot;i++)
    {
        double x = x_low + i*h;
        cout << setw(20) << x <<
                setw(20) << f(x) << endl;
    }

    system("pause>nul");
    return 0;
}

これは、sin(x) 関数を生成するための非常に基本的なコードです。これを VC++ 2008 のコンソール アプリケーション Win32 (新しいプロジェクト/Visual C++/Win32/コンソール アプリケーション Win32/空のプロジェクト/) にコピー アンド ペーストすると、データが画面に表示されます。

ここに画像の説明を入力

次に、これらの値を Excel に入れると、次のようになります。

ここに画像の説明を入力

私はこれが欲しいのですが、値がコンソールに表示された後に出力ウィンドウが表示される必要があります。さらに重要なことは、コードがExcelやビジュアルC ++の外部にあるものに依存してはならないということです。したがって、この行を描画するための追加のコードを作成し、コンパイルした後、両方が任意のコンピューターで表示/動作する必要があります。特に、VS やライブラリを使用せず、Windows で EXE を実行するだけです。それで、それは可能ですか?この線を描画する (上記のコードに追加する) 簡単なコード例を教えてください。ありがとう!

4

2 に答える 2

0

system("appname"); を使用して、GUI アプリケーションまたは他のアプリを呼び出すことができます。stdlib.h ヘッダーを含めます。できることは、コンソール アプリを作成してデータを準備することです。それらのデータをファイルに保存し、ファイルからデータを読み取ってプロットできるアプリを開きます。

目標がデータのみをプロットすることである場合、GUI アプリケーションの作成もそれほど難しくありません。コンソールでは、実際に描画することはできません。ターボ c++ では、主に dos 用に作成されたため、このオプションがありました。

アルゴリズム: 1) x 軸に沿って時間、y 軸に沿って振幅というデータを準備します。これを独自のフォーマットを使用してファイルに保存します。例: x-ais データ y-軸データ 。

2).グラフをプロットできるGUIアプリを用意します。フォームの CreateGraphics() メソッドを使用して線、つまり軸とデータ線を描画します。CreateGraphics::drawLine() と CreateGraphics::drawLines() は、あなたの進歩を助けるはずです。

編集: コマンドライン引数を GUI アプリに渡すことができます。この引数は、データ ファイル パスである可能性があります

于 2013-02-26T15:34:39.997 に答える