C# 我的“为什么?”;计算;不管用吗?
我需要创建一个简单的c#应用程序来添加一些季度数据。我使用数组“存储”数据,然后将其放在文本框中 无论如何,我的计算部分有一些问题。我已经在它周围贴上了评论标签,所以你们可以很容易地找到它。该区域可以工作,但需要单击两次,然后将其添加到上面的行中。我已经看了大约一个小时的同几行了,但似乎无法理解这一行。有什么想法吗C# 我的“为什么?”;计算;不管用吗?,c#,C#,我需要创建一个简单的c#应用程序来添加一些季度数据。我使用数组“存储”数据,然后将其放在文本框中 无论如何,我的计算部分有一些问题。我已经在它周围贴上了评论标签,所以你们可以很容易地找到它。该区域可以工作,但需要单击两次,然后将其添加到上面的行中。我已经看了大约一个小时的同几行了,但似乎无法理解这一行。有什么想法吗 //Global int lastIndexUsed = -1; int[,] quarters = new int[10, 5]; string[]
//Global
int lastIndexUsed = -1;
int[,] quarters = new int[10, 5];
string[] Branch = new string[10];
public FrmSales()
{
InitializeComponent();
}
private void txtBranch_TextChanged(object sender, EventArgs e)
{
}
private void btnCalc_Click(object sender, EventArgs e)
{
int Q1;
int Q2;
int Q3;
int Q4;
Q1 = int.Parse(txtQ1.Text);
Q2 = int.Parse(txtQ2.Text);
Q3 = int.Parse(txtQ3.Text);
Q4 = int.Parse(txtQ4.Text);
lastIndexUsed = lastIndexUsed + 1;
quarters[lastIndexUsed, 0] = Q1;
quarters[lastIndexUsed, 1] = Q2;
quarters[lastIndexUsed, 2] = Q3;
quarters[lastIndexUsed, 3] = Q4;
Branch[lastIndexUsed] = txtBranch.Text;
//Display Results
int ctr;
int ctr2;
string outLine;
string tempName;
int row;
int col;
int accum;
txtInfo.Text = "";
outLine = " Branch Q1 Q2 Q3 Q4 Total " + "\r\n";
outLine = outLine + "========== ========== ========== ========== ========== ==========" + "\r\n";
txtInfo.Text = outLine;
for (ctr = 0; ctr <= lastIndexUsed; ctr++)
{
outLine = "";
tempName = Branch[ctr].PadLeft(10);
outLine = outLine + tempName + " ";
for (ctr2 = 0; ctr2 <= 4; ctr2 = ctr2 + 1)
{
outLine = outLine + quarters[ctr, ctr2].ToString().PadLeft(10) + " ";
}
txtInfo.Text = txtInfo.Text + outLine + "\r\n";
}
//Calculate ###########################################################
for (row = 0; row <= lastIndexUsed; row++)
{
accum = 0;
for (col = 0; col <= 3; col++ )
{
accum = accum + quarters[row, col];
}
quarters[row, 4] = accum;
}
//End Calculate #########################################################
}
private void btnClear_Click(object sender, EventArgs e)
{
txtBranch.Text = "";
txtQ1.Text = "";
txtQ2.Text = "";
txtQ3.Text = "";
txtQ4.Text = "";
txtInfo.Text = "";
}
private void btnExit_Click(object sender, EventArgs e)
{
Close();
}
//全局
int lastinexused=-1;
整数[,]季度=新整数[10,5];
字符串[]分支=新字符串[10];
公共财务报表()
{
初始化组件();
}
私有void txtBranch_TextChanged(对象发送方,事件参数e)
{
}
私有无效btnCalc_单击(对象发送方,事件参数e)
{
int Q1;
int Q2;
int Q3;
int Q4;
Q1=int.Parse(txtQ1.Text);
Q2=int.Parse(txtQ2.Text);
Q3=int.Parse(txtQ3.Text);
Q4=int.Parse(txtQ4.Text);
lastIndexUsed=lastIndexUsed+1;
季度[LastIndexued,0]=Q1;
季度[LastIndexued,1]=Q2;
季度[LastIndexued,2]=Q3;
季度[上次指数化,3]=第四季度;
Branch[lastIndexUsed]=txtBranch.Text;
//显示结果
国际中心;
int ctr2;
弦轮廓;
字符串tempName;
int行;
int col;
累积积分;
txtInfo.Text=“”;
outLine=“分行第一季度第二季度第三季度第四季度总计”+“\r\n”;
大纲=大纲+“===================================================================================================================“+”\r\n”;
Text=大纲;
对于(ctr=0;ctr而言,问题很简单:在实际计算其值之前使用Quarter
数组。将“calculate”循环移动到第一个循环的上方
此外(除其他事项外):
- 太多的空行和空白;使其难以阅读
- 不要试图使用文本生成格式化报告;只需使用DataGridView或类似工具即可
- 如果单击该按钮的次数足够多,将出现数组索引越界异常,因为
lastinexused
将超过10
问题很简单:在实际计算数组的值之前,先使用quarters
数组。将“calculate”循环移动到第一个循环的上方
此外(除其他事项外):
- 太多的空行和空白;使其难以阅读
- 不要试图使用文本生成格式化报告;只需使用DataGridView或类似工具即可
- 如果单击该按钮的次数足够多,将出现数组索引越界异常,因为
lastinexused
将超过10
为了演示问题,需要多少代码?我只是想要完整的代码,以便对其进行分析,让人们能够完全理解。(可能是在不同的位置出错了?)我会很轻松地使用空白。如果你做了缩小问题范围的工作,然后发布缩小的代码呢?你会得到更多更好的答案,而不是让像我这样的人忽略你的问题。有多少代码是证明问题所必需的?我只是想要完整的代码,以便对其进行分析和验证可以完全理解。(可能是在其他位置出错?)我会很容易地使用空白。如果你做的工作是缩小你的问题范围,然后发布缩小的代码呢?你会得到更多更好的答案,而不是让像我这样的人忽略你的问题。我同意,一些细节有点粗略,但我是按照要求做的。最后我必须添加验证,这样就不会出错输入10以上时出错。使用文本框制作格式化报告的想法很奇怪,也很难让人接受。谢谢你的帮助,解决了这个问题!我同意,一些细节有点粗略,但我是按照要求来做的。最后,我必须添加验证,以便在输入10以上时不会出错。这个想法使用文本框制作格式化报告的方法很奇怪,而且对眼睛来说很难。谢谢你的帮助,解决了这个问题!