電子書籍の厳選無料作品が豊富!

下記のプログラムをVisualStudioで作成しました。
VisualStudioではエラーがないので問題なく動作します。

using System;

namespace 鶴亀算
{
class Program
{
static void Main(string[] args)
{
float hmax = 1000;
float lmax = 1000;
float min = 0;

{
float head = 0;
while (true)
{
Console.WriteLine($"頭を入力\n範囲は{min}から{hmax}");
head = float.Parse(Console.ReadLine());
if (head >= min && head < hmax)
{
break;
}
else
{
Console.WriteLine("エラー");
}
}
float legs = 0;
while (true)
{
Console.WriteLine($"足を入力\n範囲は{min}から{lmax}");
legs = float.Parse(Console.ReadLine());
if (legs >= min && legs < lmax)
{
break;
}
else
{
Console.WriteLine("エラー");
}
}
float k = 0;
float t = 0;
k = kameSolution(head, legs);
t = TuruSolution(head, legs);
Console.WriteLine("亀は{0},鶴は{1}", k, t);
}
static float kameSolution(float Head, float legs)
{
float kame = 0;
kame = legs / 2 - Head;
return kame;
}
static float TuruSolution(float Head, float legs)
{
float turu = 2 * Head - legs / 2;
return turu;
}
}
}
}

しかしideoneのサイトで上記と同じプログラムを入力しても下記のエラーが出て結果が表示されません。

prog.cs(48,12): error CS1525: Unexpected symbol `static'
prog.cs(48,37): error CS1525: Unexpected symbol `('
prog.cs(48,50): error CS1525: Unexpected symbol `float'
prog.cs(61,0): error CS1525: Unexpected symbol `}'
Compilation failed: 4 error(s), 0 warnings

原因がわかる方がいましたら教えてください。

A 回答 (4件)

結果がどう出れば良いのか知りませんが、



using System;

namespace 鶴亀算
{
class Program
{
static void Main(string[] args)
{
float hmax = 1000;
float lmax = 1000;
float min = 0;

{
float head = 0;
while (true)
{
Console.WriteLine($"頭を入力\n範囲は{min}から{hmax}");
head = float.Parse(Console.ReadLine());
if (head >= min && head < hmax)
{
break;
}
else
{
Console.WriteLine("エラー");
}
}
float legs = 0;
while (true)
{
Console.WriteLine($"足を入力\n範囲は{min}から{lmax}");
legs = float.Parse(Console.ReadLine());
if (legs >= min && legs < lmax)
{
break;
}
else
{
Console.WriteLine("エラー");
}
}
float k = 0;
float t = 0;
k = kameSolution(head, legs);
t = TuruSolution(head, legs);
Console.WriteLine("亀は{0},鶴は{1}", k, t);
Console.Read();
}
}
public static float kameSolution(float Head, float legs)
{
float kame = 0;
kame = legs / 2 - Head;
return kame;
}
public static float TuruSolution(float Head, float legs)
{
float turu = 2 * Head - legs / 2;
return turu;
}
}
}

一応エラーにはならない。
    • good
    • 0

No.2でめぐみん_さんが回答してますが、



>static float kameSolution(float Head, float legs)
>static float TuruSolution(float Head, float legs)

こちらをスタティックとして、main関数にネストしてるのが悪い模様。
※上記関数はC#8以降の対応。多分。
https://docs.microsoft.com/ja-jp/dotnet/csharp/l …

ideoneのコンパイラは、MonoでC#7.2までの対応。
    • good
    • 1

あ~コードについてではなくてですね。



VisualStudioはコンソールで都度値を入れられますけど、そのサイトでは事前に値をINPUTウィンドウに入れておいてから実行しないとならないのです。

それに質問のコードをVisualStudioにコピペしましたら、ほぼ同じエラー表示が出ましたよ。
なので一部書き直しました。
    • good
    • 0

error CS1525は、全角スペースなどが原因であることが多いようです。


ソースの中に日本語が多用されていますので、全て英文字に直してみてはいかがでしょうか。
    • good
    • 0

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