PDA

View Full Version : گرفتن عدد و کاراکتر و نمایش آن به صورت 3 ضلعی



korosh21
سه شنبه 11 فروردین 1388, 01:28 صبح
سلام
دوستان این برنامه رو یکی از دوستان خوبم برای من نوشته فقط یه مشکل داره که ار دوستان کاربلد این سایت میخواستم کمک کنند راستش این برنامه کارش باید این باشه که از ما عدد بگیره و بعد یک کاراکتر هم دریافت کنه که این کاراکتر میتونه * ستاره باشه یا @ باشه یا هر چیزه دیگه و به تعداد عدد ورودی از کاراکتری که بهش دادیم نمایش بده حالا مشکل اینجاست که این برنامه ای که دوست من نوشته از ما دیگه کاراکتر رو نمیگیره و فقط عدد رو دریافت میکنه و ستاره * نشون میده ممنون میشم از دوستان حرفه ای سایت کمک کنند



using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace WriteStar
{
class Program

{
static void Main(string[] args)
{
Console.WriteLine("Enter Count");

Write(int.Parse(Console.ReadLine()));
Console.ReadKey();
}
static void Write(int Count)
{
for (int i = 0; i < Count; i++)
{
for (int k = i; k < Count; k++)
Console.Write(' ');
for (int j = 0; j <= i*2 ; j++)
Console.Write('*');
Console.WriteLine();
}
}
}
}

mohsen_csharp
سه شنبه 11 فروردین 1388, 09:42 صبح
تا حالا خودت سعی کردی منطق برنامه به این سادگی رو درک کنی؟

korosh21
سه شنبه 11 فروردین 1388, 14:16 عصر
سلام
دوست من مطمئن باشید اگر میتونستم هرگز سوال نمیکردم
ولی ممنون میشم کمک کنید

raziee
سه شنبه 11 فروردین 1388, 15:42 عصر
الان مشکلت چیه؟
اینه که ازت کاراکتری رو دریافت نمیکنه؟


using
System;

using
System.Collections.Generic;


using
System.Text;

namespace
WriteStar
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Enter Char :");
string cha;
int coutb;
cha = Console.ReadLine();


Console.WriteLine("Enter Count :");
coutb = int.Parse(Console.ReadLine());
Write(coutb, cha);
Console.ReadKey();
}
static void Write(int Count , string chb)
{
for (int i = 0; i < Count; i++)
{
for (int k = i; k < Count; k++)
Console.Write(' ');
for (int j = 0; j <= i * 2; j++)
Console.Write(chb);
Console.WriteLine();
}
}
}
}


الان اول ازت کاراکتر میگیره و بعد تعداد تکرار .

korosh21
سه شنبه 11 فروردین 1388, 23:16 عصر
سلام
مشکل منم اینجاست که باید طوری باشه از ما کاراکتر رو دریافت کنه
این کدی که شما دادید error میده دوست من

rnm123
سه شنبه 11 فروردین 1388, 23:42 عصر
دوست عزیز میتونم ب÷رسم عدد را چطوری وارد میکنی ؟ از طریق خط فرمان یا بسورت پارامتر؟
در ضمن در برنامه ات دستور Console.Write('*'); فقط کاراکتر ستاره را چاپ میکند حتی اگر کاراکتر دیگری وارد شود

korosh21
سه شنبه 11 فروردین 1388, 23:49 عصر
سلام
راستش از طریق خط فرمان بایستی باشه
ممنون میشم کمکم کنید

korosh21
چهارشنبه 12 فروردین 1388, 01:35 صبح
الان مشکلت چیه؟
اینه که ازت کاراکتری رو دریافت نمیکنه؟



using

System;


using

System.Collections.Generic;



using

System.Text;


namespace

WriteStar
{

class Program

{

static void Main(string[] args)
{

Console.WriteLine("Enter Char :");

string cha;

int coutb;
cha = Console.ReadLine();


Console.WriteLine("Enter Count :");
coutb = int.Parse(Console.ReadLine());
Write(coutb, cha);

Console.ReadKey();
}

static void Write(int Count , string chb)
{

for (int i = 0; i < Count; i++)
{

for (int k = i; k < Count; k++)

Console.Write(' ');

for (int j = 0; j <= i * 2; j++)

Console.Write(chb);

Console.WriteLine();
}
}
}
}


الان اول ازت کاراکتر میگیره و بعد تعداد تکرار .

سلام
دوست من کدی که دادید در قسمت Enter Char فقط عدد میگیره و کاراکتر رو قبول نمیکنه

rnm123
چهارشنبه 12 فروردین 1388, 11:50 صبح
دوست عزیز کد کاربر محترم raziee را برات اینجا میگذارم وقتی در ویژوال یک پروژه جدید از نوعConsoleApplication ایجاد کردی این کد را در کپی کن و در برنامه ات paste کن .در برنامه ات یک تابع main ایجاد میشود کد زیر را در آن کپی کن


Console.WriteLine("Enter Char :");
string cha;
int coutb;
cha = Console.ReadLine();

Console.WriteLine("Enter Count :");
coutb = int.Parse(Console.ReadLine());
Write(coutb, cha);
Console.ReadKey();


حالا بعد از تابع main باید یک تابع جدید ایجاد کنی بعد از تابع main کد زیر را کپی کن


static void Write(int Count, string chb)
{
for (int i = 0; i < Count; i++)
{
for (int k = i; k < Count; k++)
Console.Write(' ');
for (int j = 0; j <= i * 2; j++)
Console.Write(chb);
Console.WriteLine();
}
}

حالا برنامه باید درست کار کند البته کد نوشته شده ایرادی نداشت فقط جای پرانتزها درست نیفتاده بود و یکی هم اینکه در تعریف تابع write بین دو کلمه static و void باید یک فاصله ای وجود داشته باشد که رعایت نشده بود

raziee
چهارشنبه 12 فروردین 1388, 12:35 عصر
سلام.
از این بابت به این تاپیک نیومدم تا ادامه گفتگو رو داشته باشم عذر خواهی میکنم.
دوست خوبمون rnm123 توضیحات کافی رو دادند اما این ادیتور یه مشکلی داره که در زمان Copy & Paste کردن کد ها از محیط VS - فاصله ها(space) رو به صورت صحیح نمیاره.
به هر حال امیدوارم که مشکلتون حل شده باشه.

korosh21
چهارشنبه 12 فروردین 1388, 12:39 عصر
سلام
ممنون از جوابتون راستش من هر چهقدر تلاش کردم نتونستم درستش کنم و مدام ارور میده از کدها میشه بزرگواری کنید کدهارو در برنامه جایگزین کنید , از شما ممنون میشم راستش اینو باید فردا تحویل بدم

rnm123
چهارشنبه 12 فروردین 1388, 12:51 عصر
با سلامی دوباره
دوست عزیز فایلها را از لینک زیر دانلود کنید
http://www.mediafire.com/?sharekey=fb2766141b4b0c310de4fc1039a01674e04e75f6 e8ebb871

لازم به توضیح است ممکن است به علت متفاون بودن نسخه vs شما با vs من فایل باز نشود در اینصورت فایل Sulotion را حذف و برنامه را با کلیک کردن روی فایل project باز کنید
باز هم اگر خطایی ایجاد شد حتما پیغام خطا را در پست بگذارید تا با هم بررسی کنیم
موفق باشید

korosh21
چهارشنبه 12 فروردین 1388, 13:01 عصر
سلام
من برنامه رو گرفتم باز نشد من sulotion رو پاک کردم و بازم برنامه اجرا نشد متاسفانه
من کدهاشو کپی کردم در برنامه خودم اونجا اجرا شد ولی بازهم کاراکتر قبول نمیکنه و وقتی کاراکتری تایپ میکنم و اینتر میکنم از این خط ارور میگیره


coutb = int.Parse(Console.ReadLine());

korosh21
چهارشنبه 12 فروردین 1388, 13:09 عصر
سلام
آقا مشکل حل شد ایراد از کار خودم بود از هر دو شما واقعا ممنون هستم بزرگی کردید
خواهشی داشتم از شما من در تایپیک پاینی یه مشکل دیگه داشتم واقعا متشکر میشم اونجا هم منو راهنمایی کنید
http://barnamenevis.org/forum/showthread.php?p=698662#post698662