ArshiaMansouri
جمعه 26 تیر 1394, 14:25 عصر
سلام و درود .
من به تازگی شروع به برنامه نویسی C# کردم و بدجوری سر این مسئله گیر کردم :
برنامه ای بنویسید که سه عدد از کاربر بگیرد و بررسی کند این سه عدد مثلث میسازند یا خیر . ( مجموع دو شعاع کوچکتر برابر یا بزرگتر از شعاع بزرگتر هست یا خیر ؟ )
من به دو صورت این نرم افزارو نوشتم ولی هیچکدوم درست کار نکردند .
بار اول به این شکل کار کردم :
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Mosalas
{
class Program
{
static void Main(string[] args)
{
double a, b, c;
Console.WriteLine("Enter 3 numbers : ");
a = double.Parse(Console.ReadLine());
b = double.Parse(Console.ReadLine());
c = double.Parse(Console.ReadLine());
if (a > b && a > c)
if (a <= b + c)
Console.Write("Yes they can . .");
else
if (b > a && b > c)
if (b <= a + c)
Console.Write("Yes they can .");
else
if (c > a && c > b)
if (c <= a + b)
Console.Write("Yes they can .");
else
Console.Write("No they can't .");
Console.ReadLine();
}
}
}
visual studio اروری نداد اما پس از اجرا ودریافت 3 عدد نتیجه ای به کاربر برنگشت . وقتی با f11 بررسی کردم دیدم بعد از if اول یکسره میره سرConsole.ReadLine و if های بعدی رو بررسی نمیکنه .
بعد از چندبار ویرایش کردن سورس بالا و نتیجه نگرفتن تصمیم گرفتم از روش دیگه ای کار کنم .
پس به این شکل عمل کردم :
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Mosalas
{
class Program
{
static void Main(string[] args)
{
int a, b, c, f;
Console.WriteLine("Enter 3 nubers : ");
a = int.Parse(Console.ReadLine());
b = int.Parse(Console.ReadLine());
c = int.Parse(Console.ReadLine());
if (a > b && a > c)
a = f;
else
if (b > a && b > c)
b = f;
else
if (c > a && c > f)
b = c;
if (f >= a + b || f >= a + c || f >= b + c || f >= c + b)
Console.Write("Yes .");
else
Console.Write("No .");
Console.ReadLine();
}
}
}
اینبار Visual Studio اروری به من برگردوند که معنی دقیقشو متوجه نمیشم و هر تغییری اعمال میکنم درست نمیشه .
Error 1 Use of unassigned local variable 'f'
لطفا بگید کجای کارو اشتباه کردم .
با تشکر
من به تازگی شروع به برنامه نویسی C# کردم و بدجوری سر این مسئله گیر کردم :
برنامه ای بنویسید که سه عدد از کاربر بگیرد و بررسی کند این سه عدد مثلث میسازند یا خیر . ( مجموع دو شعاع کوچکتر برابر یا بزرگتر از شعاع بزرگتر هست یا خیر ؟ )
من به دو صورت این نرم افزارو نوشتم ولی هیچکدوم درست کار نکردند .
بار اول به این شکل کار کردم :
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Mosalas
{
class Program
{
static void Main(string[] args)
{
double a, b, c;
Console.WriteLine("Enter 3 numbers : ");
a = double.Parse(Console.ReadLine());
b = double.Parse(Console.ReadLine());
c = double.Parse(Console.ReadLine());
if (a > b && a > c)
if (a <= b + c)
Console.Write("Yes they can . .");
else
if (b > a && b > c)
if (b <= a + c)
Console.Write("Yes they can .");
else
if (c > a && c > b)
if (c <= a + b)
Console.Write("Yes they can .");
else
Console.Write("No they can't .");
Console.ReadLine();
}
}
}
visual studio اروری نداد اما پس از اجرا ودریافت 3 عدد نتیجه ای به کاربر برنگشت . وقتی با f11 بررسی کردم دیدم بعد از if اول یکسره میره سرConsole.ReadLine و if های بعدی رو بررسی نمیکنه .
بعد از چندبار ویرایش کردن سورس بالا و نتیجه نگرفتن تصمیم گرفتم از روش دیگه ای کار کنم .
پس به این شکل عمل کردم :
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Mosalas
{
class Program
{
static void Main(string[] args)
{
int a, b, c, f;
Console.WriteLine("Enter 3 nubers : ");
a = int.Parse(Console.ReadLine());
b = int.Parse(Console.ReadLine());
c = int.Parse(Console.ReadLine());
if (a > b && a > c)
a = f;
else
if (b > a && b > c)
b = f;
else
if (c > a && c > f)
b = c;
if (f >= a + b || f >= a + c || f >= b + c || f >= c + b)
Console.Write("Yes .");
else
Console.Write("No .");
Console.ReadLine();
}
}
}
اینبار Visual Studio اروری به من برگردوند که معنی دقیقشو متوجه نمیشم و هر تغییری اعمال میکنم درست نمیشه .
Error 1 Use of unassigned local variable 'f'
لطفا بگید کجای کارو اشتباه کردم .
با تشکر