プログラミングのレポートがでたのですがVISUALCは使ったことがなくてさっぱりわかりません。BORLANDCをつかって勉強したことがかなり昔にあるんですがその時はファイル新規作成してプログラムをうって実行させるとエラーまたは結果がでてました。でもVISUALCだとプロジェクトやらなんやらさっぱり解かりません。適当にしてるとファイルがないとかエラーがでるわけないのにエラーが出たりとか実行結果が出なかったりとわけわかりません。プログラミング自体ほとんど初心者です。3乗根をN-R法で求めるプログラムを直ちにつくらないといけないのですがVISUALCの使い方がさっぱりわからず焦ってます。とりあえず

#include<stdio.h>
int main()
{
printf("rarara\n");
}

というプログラムさせ動かし方がわかりません。
どなたかアドバイスおねがいします。説明書読んでも分厚すぎるし時間がないしで
メチャ困ってます。初心者でホントすいませんがおねがいします

A 回答 (1件)

起動して


[ファイル]→[新規作成]→[プロジェクト]→[Win32 console Application]
で"Hello World"アプリケーションを選ぶと、
ご希望のプログラムがそのまま作成されると思いますよ。
あとは、[ビルド]→[実行]
ってな感じです。

この回答への補足

お返事ありがとうございます。早速してみました。
DOSがひらいてpree any key to continueとでました。
この先はどうすればいいのでしょう??
ほんと無知なものですみません。
また、このやりかたで普通学校の授業で組むようなプログラムもいけますか??
math.hとかもつかえるんでしょうか??ほんとすみません・・・

補足日時:2001/10/22 23:33
    • good
    • 0
この回答へのお礼

今できました。ありがとうございました

お礼日時:2001/10/23 01:09

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

Qprintf("%d",func())はなぜ実行できないのか?

main(){
int i;
i = func();
printf("%d",i);
}

int func(){
return 1;
}

はちゃんと1が表示されるのになぜ、

main(){
printf("%d",func());
}

int func(){
return 1;
}

は1が表示されず変な値になってしまうんでしょうか?
funcのアドレスが表示されているんでしょうか?

よろしくお願い致します。

Aベストアンサー

使っているコンパイラですが、VC++でしょうか?
-85は16進でいうところのABです。(←恐らくこれはコンパイラがデバッグ用に埋め込んだ数値だと思います。リリースコンパイルでは落ちるか不定だと思います。)

main関数とfunc関数ですが別ソース、或いは別プロジェクトではないですか?
関数を呼ぶ場合、stdcallとcdeclというものがありますが、これが一致しないとスタックが壊れます。
もしVC++であれば試しに以下のコードでうまく動かないか試してください。

int _cdecl func();

int main()
{
printf("%d\n",func());
return 0;
}

int _cdecl func()
{
return 1;
}

QvisualC++6.0 でのプログラミングについて

ontimer関数のなかで、WM_LBUTTONDOWN,WM_RBUTTONDOWN,WM_KEYDOWN
などを取得するにはどうすればいいのでしょうか?
当方初心者なので、できれば簡潔に教えていただきたいです。

Aベストアンサー

★特定キーを調べるだけなら GetKeyState() 関数でどう。
・多分、マウスの押し下げを検出したいのだろうと思うのでメッセージを使わなくても
 いいんじゃないのかな。
・つまり、
 WM_LBUTTONDOWN⇒if ( GetKeyState(VK_LBUTTON ) < 0 ){ 左ボタンの処理 }
 WM_RBUTTONDOWN⇒if ( GetKeyState(VK_RBUTTON ) < 0 ){ 右ボタンの処理 }
 WM_KEYDOWN⇒if ( GetKeyState(VK_RETURN) < 0 ){ Enterボタンの処理 }
 とすれば良い。
・以上。下の『参考URL』もどうぞ。

参考URL:http://wisdom.sakura.ne.jp/system/winapi/win32/win32.html

QVisualC++でコンパイル、Linuxサーバ側で実行

プログラムの勉強をしている者です。

最近、

「Windows側でVisualC++を利用してコンパイルし、それをLinuxに持っていって、Linuxサーバで実行する」

という、話を聞きました。

調べてみると、「クロスコンパイル」というものに該当しそうだと思うのですが、まったく理解できません。

Windows側の.exeファイルをそのままLinuxに持っていっても当然実行できないのに、なぜ、上のようなことができるのか不思議です。

どなたか、教えてください。

Aベストアンサー

VCで普通にコンパイルをすると、実際にはcl.exeというコンパイラが使われます。
これは、Windows用です。但し、VCのIDEは、使うコンパイラを設定することができます。
例えばLinux用のクロスコンパイラを用意して(VC自体には付属してません)使えばOKです。

通常のコンパイラは、自分の動作環境と出力オブジェクトの動作環境が同一ですが、
クロスコンパイラは、自分とは違う動作環境用(ここではLinux)のオブジェクトを作ります。

これは、Linuxで普通のコンパイラを使った場合と、同様なexeを作れるということです。
但し、作れるというだけで、Windows ではそのまま動かないものになります。

# 提示の条件だけだと、Linux サーバ上で Windows のエミュレーション環境が動いてる可能性もありますが…。

QC言語のプログラムで#includeを使わず#includeだけで

C言語のプログラムで#include<math.h>を使わず#include<stdio.h>だけで√(sqrt)を表現することは可能でしょうか?

Aベストアンサー

ご自分で sqrt 関数を作れば可能です。
こんな感じでしょうか。

#include <stdio.h>

static double
sqrt (double s)
{
 double x = s / 2.0;
 double last_x = 0.0;

 while (x != last_x)
 {
  last_x = x;
  x = (x + s / x) / 2.0;
 }

 return (x);
}

int
main (int argc, char * argv[])
{
 printf ("sqrt (%f) = %f\n", 3.0, sqrt (3.0));
}

Qこの文字列のプログラムはどのようになりますか? のみでやる場合です

この文字列のプログラムはどのようになりますか?
<stdio.h>のみでやる場合です

Aベストアンサー

#include <stdio.h>

#define TUPLE_SIZE 2
#define BUFFER_SIZE 150

int read(void);
char* eval(int arg, int tuple[], int count, char* str, char** msg);

int main(int argc, char** argv) {
 FILE* fp;
 char* fname = argv[1];
 char str[BUFFER_SIZE];
 char* msg[] = { "取り出し開始位置 --> ",
        "取り出す文字数 --> ",
        "\n取り出した文字列 : " };
 int count;
 int tuple[TUPLE_SIZE];

 fp = fopen(fname, "r");
 if (fp == NULL)
  printf("%sが「くぱぁ」しません\n", fname);
 else {
  puts("元文章");
  while((fgets(str, 256, fp)) != NULL)
   puts(str);
 }

 printf("%s", msg[0]);

 for (count = 0; count < TUPLE_SIZE; count++)
  printf("%s", (eval(read(), tuple, count, str, msg)));

 return 0;
}

int read(void) {
 int var;
 scanf("%d", &var);
 return var;
}

char* eval(int arg, int tuple[], int count, char* str, char** msg) {
 static char buffer[BUFFER_SIZE];
 char s[BUFFER_SIZE];
 int i;
 int k = 0;
 if (count < TUPLE_SIZE-1) {
  tuple[count] = arg;
  return msg[count+1];
 } else {
  tuple[count] = arg;
  for (i = tuple[0]-1; i < tuple[0] + tuple[1]; i++) {
   s[k] = str[i];
   k++;
 }
  sprintf(buffer, "%s%s\n", msg[count+1], s);
 }
 return buffer;
}

#include <stdio.h>

#define TUPLE_SIZE 2
#define BUFFER_SIZE 150

int read(void);
char* eval(int arg, int tuple[], int count, char* str, char** msg);

int main(int argc, char** argv) {
 FILE* fp;
 char* fname = argv[1];
 char str[BUFFER_SIZE];
 char* msg[] = { "取り出し開始位置 --> ",
        "取り出す文字数 --> ",
        "\n取り出した文字列 : " };
 int count;
 int tuple[TUPLE_SIZE];

 fp = fopen(fname, "r");
 if (fp == NULL)
  printf("%sが「くぱ...続きを読む


人気Q&Aランキング

おすすめ情報