PDA

View Full Version : ورودی عدد اعشاری



Aliammm
دوشنبه 07 آبان 1397, 18:00 عصر
سلام

من یه برنامه نوشتم که ورودی فقط عدد زوج صحیح میگیره
و هر مدل ورودی دیگه ای بگیره باید پیام ارور چاپ کنه

مشکلم اینه که اگه کاربر عدد اعشاری وارد کنه کدش چجوری میشه که در نهایت برسه به پیام ارور
مثلا عدد فرد که وارد میشه ارور میده عدد نامعتبره
واسه بقیه اعداد مثلا اعشاری ها کد چجوری میشه ؟

متغیرم int تعریف شده

ممنون میشم کمک کنید

daniyaltjm
دوشنبه 07 آبان 1397, 18:22 عصر
سلام ، عدد اعشاری زوج و فرد نداره! خود شما هم میگین متغییر از نوع int هست.

Aliammm
دوشنبه 07 آبان 1397, 18:50 عصر
نه منظورم اینه که برنامه برای عدد زوج صحیح نوشته شده

اما اگه کاربر هر عددی غیر از عدد زوج صحیح وارد کرد خروجیش چطوری میشه

یعنی کدش چی میشه وقتی هر عددی غیر از عدد زوج صحیح وارد شد پیام بده عدد نامعتبره


نمیدونم منظورمو متوجه شدید یا نه ؟

Aliammm
دوشنبه 07 آبان 1397, 18:52 عصر
منظورم از هر عدد مثلا اعداد اعشاری ، فرد و .... هست
هرچی غیر از زوج صحیح

رامین مرادی
دوشنبه 07 آبان 1397, 20:46 عصر
تو رویداد تکست چنج بررسی کنید وقتی کاربر علامت ممیز . رو وارد کرد اخطار بدید. همچنین بررسی کنید ورودی عدد هست یا نه. همینجا سرچ کنید کلی کد هست. یا برای راحتی از مسک تکست استفاده کنید.

Aliammm
دوشنبه 07 آبان 1397, 21:12 عصر
معذرت اگه میشه کداشو بنویسید برام
هر چی گشتم چیزی نبود
ممنون میشم کمک کنید

Aliammm
دوشنبه 07 آبان 1397, 21:15 عصر
و اینکه کد ConsoleApplication هست

Aliammm
دوشنبه 07 آبان 1397, 21:29 عصر
یا بگید چی سرچ کنم کد ConsoleApplication هست

رامین مرادی
دوشنبه 07 آبان 1397, 21:38 عصر
این کد هارو چک کنید

Console.Write("Enter the number of times to print "Yay!": ");
try
{
var entry = Console.ReadLine();
var amountsOfYay = int.Parse(entry);

if (amountsOfYay < 0)
{
Console.Write("You must enter a positive number.");
}

var counter = 0;

while (amountsOfYay > counter)
{
Console.Write("Yay! \n");
counter += 1;
}
}
catch (FormatException)
{
Console.Write("You must enter a whole number.");
}
}

Aliammm
دوشنبه 07 آبان 1397, 22:13 عصر
ممنون
ولی من تازه واردم
میشه یکم توضیح بدین در مورد این کد
خیلی ممنون

Aliammm
دوشنبه 07 آبان 1397, 22:48 عصر
و اینکه متغیر من از نوع عدد صحیح هست
میخوام وقتی کاربر عددی به غیر از عدد صحیح وارد میکنه پیام بده عدد نامعتبره

Aliammm
سه شنبه 08 آبان 1397, 15:41 عصر
اگه بتونید یه کد بهم بدید که مثلا کاربر تا ممیز بزنه و بخواد عدد اعشاری وارد کنه پیام بده عدد نامعتبره ممنون میشم
هر چی میگردم چیزی پیدا نمیکنم
ممنون

daniyaltjm
سه شنبه 08 آبان 1397, 18:33 عصر
کل کدها تو بزار ببینیم

Aliammm
سه شنبه 08 آبان 1397, 19:08 عصر
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace variables
{
class demo
{
static void Main(string[] args)
{
Console.WriteLine("enter value of n");
int n = Convert.ToInt32(Console.ReadLine());
for (int i = n; i >= 1; i--)
{
Console.WriteLine(" ");
for (int j = 1; j <= i; j++)
{
Console.Write(" ");
}
for (int q = i; q <= n; q++)
{
Console.Write(" * ");
}
}
Console.ReadLine();
}
}
}




ورودی این کد عدد صحیح بدیم برنامه طبق روال انجام میشه
میخوام وقتی کاربر عدد اعشاری وارد میکنه یه پیام بده که عدد نامعتبره

daniyaltjm
سه شنبه 08 آبان 1397, 21:43 عصر
این رو نوشتم ببین خوبه؟ :متفکر:

using Systemu;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace variables
{
class demo
{
static void Main(string[] args)
{


Console.WriteLine("enter value of n");
string n = Console.ReadLine();
if (! n.Contains ('.'))
{

for (int i = Convert.ToInt32(n); i >= 1; i--)
{
Console.WriteLine(" ");
for (int j = 1; j <= i; j++)
{
Console.Write(" ");
}
for (int q = i; q <= Convert.ToInt32(n); q++)
{
Console.Write("*");
}
}
}
else
{
Console.WriteLine(" lotfan addade sahih vared konid!!!! ");
Console.WriteLine("enter value of n");
n = Console.ReadLine();
if (!n.Contains('.'))
{

for (int i = Convert.ToInt32(n); i >= 1; i--)
{
Console.WriteLine(" ");
for (int j = 1; j <= i; j++)
{
Console.Write(" ");
}
for (int q = i; q <= Convert.ToInt32(n); q++)
{
Console.Write(" * ");
}
}
}

}
Console.ReadLine();
}
}
}

Aliammm
سه شنبه 08 آبان 1397, 22:44 عصر
ممنون اره درست کار میکنه مرسی
فقط میشه توضیح بدین چیکار کردین
چون کد اصلی برنامم انگار دوبار نوشته شده

Aliammm
سه شنبه 08 آبان 1397, 22:56 عصر
و اینکه واسه یه برنامه دیگه بخوام استفاده کنم از این کد باید چیکار کنم

خیلی مممنون لطف کردید

daniyaltjm
چهارشنبه 09 آبان 1397, 11:46 صبح
ممنون اره درست کار میکنه مرسی
فقط میشه توضیح بدین چیکار کردین
چون کد اصلی برنامم انگار دوبار نوشته شده

خوب توی خط 15 یه متغییر از نوع رشته تعریف شده به نام n
توی خط 16 هم یه شرط هست که با استفاده از متد Contains توی متغییر n دنبال کاراکتر "." میگرده ، البته شاید توی یک کامپیوتر دیگه کاراکتر اعشار چیز دیگه باشه مثلا کاربر این کاراکتر "/" رو گذاشته باشه که برنامه کار نمیکنه و می تونی ازدستور مقایسه ایی Or || استفاده کنی و اونم بررسی کنی
توی خط 32 یه else هست که اگه "." پیدا نشد این دستورات رو انجام بده (دستورات هم که دقیقا یکی هستن و می تونی یک تابع درست کنی و دستورات رو یک بار بنویسی و جند جا استفاده کنی)
توی دستورات از تبدیل متغییر رشته به عدد هم استفاده شده که توی حلقه بشه باهاش کار کرد : (Convert.ToInt32(n