PDA

View Full Version : سوال: کد کردن شماره



mohammad2407
دوشنبه 21 فروردین 1391, 00:30 صبح
سلام دوستان عزیز من یک برنامه نوشتم که یک عدد 4 رقمی صحیح و به روش زیر کدگذاری میکنه و بعد چاپ میکنه

روش کد گذاری :

باقیمانده هر رقم را به 4 محاسبه میکند و با یک جمع میکنه و بعد جایگزین رقم میکنه .

جای رقم اول را با سوم جا به جا میکنه !

حالا مشکل اینجاست که در اجرای برنامه خطا میده و از کد های Toint32 و n3 ایراد میگیره

کد ها هم قرار دادم

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication23
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{
label1.Text = "Namber";
label2.Text = "result";
textBox1.ReadOnly = true;
}

private void button1_Click(object sender, EventArgs e)
{
int num = System.Convert.Toint32(textBox1.Text, 10);
if (num >= 1000 && num <= 9999)
{
int sum = 0, base1 = 1, n = num;
while (n > 0)
{
sum += (n % 10 % 4 + 1) * base1;
base1 *= 10;
n /= 10;
}
int n1 = sum % 10;
int n2 = sum / 100 % 10;
sum -= (n1 + n3 * 100);
sum += (n3 + n1 * 100);
textBox2.Text = sum.ToString();
}
else
textBox2.Text = "خطا ";
}

private void button2_Click(object sender, EventArgs e)
{
Close();
}

private void Form1_KeyDown(object sender, KeyEventArgs e)
{
if(e.KeyValue==27)Close();
}

private void textBox1_TextChanged(object sender, EventArgs e)
{

}

private void textBox2_TextChanged(object sender, EventArgs e)
{

}
}
}
}

Hybrid
دوشنبه 21 فروردین 1391, 00:33 صبح
سلام ، کاری به الگوریتمت ندارم ، ولی فکر میکنم دلیله اینکه از n3 ایراد میگره اینه که شما n3 رو جایی تعریف نکردین و دارین ازش استفاده میکنین ،

در رابطه با toint32 فکر کنم بزرگی و کوچیکی رو در نظر نگرفتی .

mohammad2407
دوشنبه 21 فروردین 1391, 00:42 صبح
مرسی از پاسختون:لبخندساده:

toint32 کوچیک کردم ولی باز درست نشد ولی خط های خطا از حالت قرمز به آبی درآمد :لبخند:

n3 یه جور هایی تعریف شده هست و من مشکلی نمیبینم در n3 نمیدونم چرا خطا میده و از Toint32 و n3 ایراد میگیره:متفکر:

Hybrid
دوشنبه 21 فروردین 1391, 00:52 صبح
toint32 کوچیک کردم ولی باز درست نشد ولی خط های خطا از حالت قرمز به آبی درآمد :لبخند:دوست عزیز سی شارپ Case-Sensetive هست یعنی به حروف بزرگ و کوچیک حساس هست ، نباید همه ی حرفو رو به صورت بزرگ یا کوچیک بنویسی چون اشکال میگیره ، مثلا همین toint32 ، به مثال زیر دقت کن به شکل زیر بنویس :


Convert.ToInt32(x)


n3 یه جور هایی تعریف شده هست و من مشکلی نمیبینممنظورت رو نمیگیرم؟؟؟!!! چطور تعریفش کردین؟؟

mohammad2407
دوشنبه 21 فروردین 1391, 01:01 صبح
مشکل حل شد

مشکل از یک جابه جایی کوچیک بود باید به جای 2 مینوشتم 3

یه جورایی حرف شما درست بود

n3 تعریف نشده بود

در صورتی که من تعریف کرده بودم ولی به جای 3 عدد 2 قرار داده بودم


int n1 = sum % 10; int n2 = sum / 100 % 10;