PDA

View Full Version : تحلیل کد ماشین حساب کتاب جعفرنژاد قمی؟؟



user68
یک شنبه 20 اردیبهشت 1388, 15:45 عصر
با سلام
لطفا اگه کسی این کتاب رو خونده کد ماشین حساب رو که توی فصل 4 هستش رو برای من توضیح بده چون خیلی گیج کننده است. یا حداقل بگه که این هر کدوم از متغیراش چه کاریو قراره انجام بده و واسه چی ایجاد شدند؟
با تشکر

user68
یک شنبه 20 اردیبهشت 1388, 16:32 عصر
دوستان خواهشن اگه کسی این کتاب رو خونده بگه در غیر این صورت من کدش رو بزارم.

user68
دوشنبه 21 اردیبهشت 1388, 19:04 عصر
دوستان من به این کد و اینکه بفهمم چه طور کار میکنه احتیاج مبرم دارم خواهش میکنم کمک کنید.

NewFoxStudent
دوشنبه 21 اردیبهشت 1388, 19:12 عصر
اگه براتون ممکنه این کد رو اینجا بزارید تا تحلیل بشه

user68
یک شنبه 27 اردیبهشت 1388, 22:07 عصر
شرمنده دیر شد. یکم سرم شلوغ بود .نتونستم تایپ کنم دستمم خیلی کنده برای همین اسکنش کرد. اگه اون متد اولش رو توضیح بدید که چه جوری کار میکنه ممنون میشم؟
http://i43.tinypic.com/2qtwthv.jpghttp://i39.tinypic.com/34ipbpx.jpg

http://i41.tinypic.com/5p293c.jpghttp://i42.tinypic.com/314411d.jpg

http://i41.tinypic.com/mauutc.jpghttp://i44.tinypic.com/2ikbebo.jpg

http://i43.tinypic.com/347h6qh.jpghttp://i43.tinypic.com/2j2gww3.jpg

darksunrise
یک شنبه 27 اردیبهشت 1388, 22:11 عصر
این دیگه چه جور سوالیه. به حق چیز های ندیده :متفکر:

user68
دوشنبه 28 اردیبهشت 1388, 21:35 عصر
این دیگه چه جور سوالیه. به حق چیز های ندیده :متفکر:
تا حالا ندیده بودی حالا بببین!
از دوستان خواهش میکنم اگه میدونند که حتما میدونند متد calcute رو توضیح بدند یا حداقل یه توضیح کلی در مورد کار این برنامه.
با تشکر

salehbagheri
سه شنبه 29 اردیبهشت 1388, 00:13 صبح
دوست من! با اينكه ميدونم براي اسكن گرفتن عكسها خيلي زحمت كشيدي، ولي اصلا هيچي معلوم نيست (شرط ميبندم كه خودتون هم نميتونيد بخونيد)

اگه واقعاً دنبال جوابي، بهترين راه تايپ كد هست!

user68
سه شنبه 29 اردیبهشت 1388, 15:13 عصر
دوست من! با اينكه ميدونم براي اسكن گرفتن عكسها خيلي زحمت كشيدي، ولي اصلا هيچي معلوم نيست (شرط ميبندم كه خودتون هم نميتونيد بخونيد)

اگه واقعاً دنبال جوابي، بهترين راه تايپ كد هست!

اگه عکسا رو Save کنید و روش Zoom کنید حتما معلوم میشه ولی باشه کدش رو مینویسم .

mehdinoorani
سه شنبه 01 آبان 1397, 13:52 عصر
با سلام
لطفا اگه کسی این کتاب رو خونده کد ماشین حساب رو که توی فصل 4 هستش رو برای من توضیح بده چون خیلی گیج کننده است. یا حداقل بگه که این هر کدوم از متغیراش چه کاریو قراره انجام بده و واسه چی ایجاد شدند؟
با تشکر

سلام بچه ها منم همین مشکل را دارم
کدهاش را براتون منویسم
لطفا توضیح کامل در مورد این متغیر ها بدید خیلی گیج کننده هستن
اگه شرح کامل هم دادید که چه بهتر
بدجور ذهنم را درگیر کرده :متفکر::گیج:

public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
long num1, num2;
long mem1;
long mem2;
long mem3;
long mem4;
long result;
char op0 = ' ', op1 = ' ';
char last;
bool lastop ;
bool first = true;
private void Calculate(char ch)
{
if (op0 == ' ')
{
op0 = ch;
lastop = true;
last = 'O';
if (num1 == 0)
{
num1 = Convert.ToInt32(textBox1.Text);
}
}
else if (op1 == ' ')
{
op1 = ch;
first = true;
lastop = false ;
last = 'O';

}
if (op1 != ' ' && op0 != ' ')
{
switch (op0)
{
case '+':
if (!first)
{
op0 = op1;
op0 = ch;
}
if (!lastop)
{
if (num1 != 0)
{
num2 = num1;
num1 = Convert.ToInt32(textBox1.Text);
num1 = num1 + num2;
textBox1.Text = num1.ToString();
}
else
num1 = Convert.ToInt32(textBox1.Text);
lastop = true;
last = 'O';
}
break;
case '-':
if (!first)
{
op0 = op1;
op0 = ch;
}

if (!lastop)
{
if (num1 != 0)
{
num2 = num1;
num1 = Convert.ToInt32(textBox1.Text);
num1 = num2 - num1;
textBox1.Text = num1.ToString();
}
else
num1 = Convert.ToInt32(textBox1.Text);
lastop = true;
last = 'O';
}
break;
case '*':
if (!lastop)
{
if (num1 != 0)
{
num2 = num1;
num1 = Convert.ToInt32(textBox1.Text);
num1 = num1 * num2;
textBox1.Text = num1.ToString();
}
else
num1 = Convert.ToInt32(textBox1.Text);




lastop = true;
last = 'O';
}
if (!first)
{
op0 = op1;
op1 = ch;
}
break;
case '/':
if (!lastop)
{


num1 = Convert.ToInt32(textBox1.Text);
result /= num1;
textBox1.Text = result.ToString();
lastop = true;
last = 'O';
}
if (!first)
{
op0 = op1;
op1 = ch;
}
break;
}
if (first)
{
// op0 = op1;
op0 = ch;
}
else
first = false;

}
}
private void Form1_Load(object sender, EventArgs e)
{
num1 = 0;
num2 = 0;
last = ' ';
textBox1.ReadOnly = true;
lastop = false;
}


private void B1_Click(object sender, EventArgs e)
{
if (last != ' ') textBox1.Clear();
if ( lastop ) textBox1.Clear();
textBox1.Text += "1";
last = ' ';
lastop = false;
}


private void B2_Click(object sender, EventArgs e)
{


if (last != ' ') textBox1.Clear();
if (lastop) textBox1.Clear();
textBox1.Text += "2";
last = ' ';
lastop = false;
}


private void B3_Click(object sender, EventArgs e)
{
if (last != ' ') textBox1.Clear();
if (lastop) textBox1.Clear();
textBox1.Text += "3";
last = ' ';
lastop = false;
}


private void B4_Click(object sender, EventArgs e)
{
if (last != ' ') textBox1.Clear();
if (lastop) textBox1.Clear();
textBox1.Text += "4";
last = ' ';
lastop = false;

}


private void B5_Click(object sender, EventArgs e)
{
if (last != ' ') textBox1.Clear();
if (lastop) textBox1.Clear();
textBox1.Text += "5";
last = ' ';
lastop = false;

}


private void B6_Click(object sender, EventArgs e)
{
if (last != ' ') textBox1.Clear();
if (lastop) textBox1.Clear();
textBox1.Text += "6";
last = ' ';
lastop = false;

}


private void B7_Click(object sender, EventArgs e)
{
if (last != ' ') textBox1.Clear();
if (lastop) textBox1.Clear();
textBox1.Text += "7";
last = ' ';
lastop = false;

}


private void B9_Click(object sender, EventArgs e)
{
if (last != ' ') textBox1.Clear();
if (lastop) textBox1.Clear();
textBox1.Text += "9";
last = ' ';
lastop = false;
}


private void B0_Click(object sender, EventArgs e)
{
if (last != ' ') textBox1.Clear();
if (lastop) textBox1.Clear();
textBox1.Text += "0";
last = ' ';
lastop = false;

}


private void B8_Click(object sender, EventArgs e)
{
if (last != ' ') textBox1.Clear();
if (lastop) textBox1.Clear();
textBox1.Text += "8";
last = ' ';
lastop = false;

}


private void Cl_Click(object sender, EventArgs e)
{
mem1 = 0;
mem2 = 0;
mem3 = 0;
mem4 = 0;
last = ' ';
}


private void M1_Click(object sender, EventArgs e)
{
mem1 = Convert.ToInt32(textBox1.Text);
last = ' ';

}


private void M2_Click(object sender, EventArgs e)
{


mem2 = Convert.ToInt32(textBox1.Text);
last = ' ';
}


private void M3_Click(object sender, EventArgs e)
{


mem3 = Convert.ToInt32(textBox1.Text);
last = ' ';
}


private void M4_Click(object sender, EventArgs e)
{


mem4 = Convert.ToInt32(textBox1.Text);
last = ' ';
}


private void C1_Click(object sender, EventArgs e)
{
textBox1.Text = mem1.ToString();
last = ' ';


}


private void C2_Click(object sender, EventArgs e)
{
textBox1.Text = mem2.ToString();
last = ' ';


}


private void C3_Click(object sender, EventArgs e)
{
textBox1.Text = mem3.ToString();
last = ' ';


}


private void C4_Click(object sender, EventArgs e)
{
textBox1.Text = mem4.ToString();
last = ' ';


}


private void Add_Click(object sender, EventArgs e)
{
Calculate('+');
}
private void Sub_Click(object sender, EventArgs e)
{

Calculate('-');
}


private void Mul_Click(object sender, EventArgs e)
{

Calculate('*');
}


private void Div_Click(object sender, EventArgs e)
{
Calculate('/');

}


private void textBox1_TextChanged(object sender, EventArgs e)
{


}


private void E_Click(object sender, EventArgs e)
{
Calculate(op0);

}


private void Form1_KeyPress(object sender, KeyPressEventArgs e)
{
char ch;
ch = e.KeyChar;
if (ch == '=')
{
this.E_Click(sender, e);
return;
}
if ( (ch == '+' || e.KeyChar == '*' || ch == '-' || ch == '/') )
{

Calculate(ch);
lastop = true;
}
else if (last == 'O')
textBox1.Text = "";
if ((int)ch >= 48 && ((int)ch <= 57))
{
last = ' ';
textBox1.Text = textBox1.Text + ch;
lastop = false;
}
}
}
}
[/LTR][/LTR][/LTR_INLINE][/LTR_INLINE][/LTR_INLINE]