这种计算器怎么用C编写
发布网友
发布时间:2022-05-20 13:35
我来回答
共2个回答
热心网友
时间:2023-10-25 17:06
理解你的意思 但是老实和你说 本人水平有限 如果叫我编的话,时间比较长 而且效率很低, 只提供思路如下:1、可以当做一个字符串输入 储存在一个字符串数组之中 直到出现“=” 字符串输入停止 可以使用while 语句实现;2、对字符串进行处理,(由于是字符串处理 所以被限定了只能当做单个数字进行运算 也就是意味着不能进行十位以上的运算 当然这里可以处理掉,需要外加一个函数,判断相邻几个字符之间是不是都是数字,然后可以变成整体的一个数字,这个可以实现)..而实现字符串的处理,我的想法是,把字符串里面的字符逐个读出来比较,当出现运算符号时,跳转到专门的运算,如加法运算,专门编写一个函数实现加法,这里需要另外一些变量参与运算,用于储存数据。当出现*,/两种运算时,需要在*,/两种运算函数里面,写好先预读下一个数,再运算,具体的函数写起来 有点复杂,但不难;3、将所有的值加在一起 用是否读到“=”控制结束,同样可以使用while 语句。实现整条式子的运算,完成这里需要使用一些switch 语句和while 语句 ,以及子函数之间的参数传递,还有就是字符和数字之间的转换,同样需要注意。上面的是我的想法!!
热心网友
时间:2023-10-25 17:07
计算器编写代码!很实用的!不错!顶你! public partial class Book : Foosun.Web.UI.BasePage
{
float Price = 0;
float NeedMoney = 0;
static float Discount = 0;
float RealMoney = 0;
/* static int flag_level = 0;
string Level1 = "00000001";
string Level2 = "00000002";
string Level3 = "00000003";
string Level4 = "00000004";
string Level5 = "00000005";*/
static int submit_flag = 0;
static int the_date = 1;
string uNum = null; protected void Page_Init(object sender, EventArgs e)
{
ScriptManager scriptManager = ScriptManager.GetCurrent(this);
scriptManager.EnableScriptLocalization = true;
scriptManager.EnableScriptGlobalization = true;
}
protected void Page_Load(object sender, EventArgs e)
{
/*this.TextBox_InDate.Attributes.Add("onblur", "javascript:checkInDate();");
this.TextBox_OutDate.Attributes.Add("onblur", "javascript:checkOutDate();");*/
if (!IsPostBack)
{
time();
getDate();
} if (Request.QueryString["id"] != null)
{
News ns = new News();
DataTable dt = new DataTable();
dt = ns.getRoom(Request.QueryString["id"].ToString());
dt.Rows[0]["RoomType"].ToString(); if (!IsPostBack)
{
int RoomCount = Convert.ToInt32(dt.Rows[0]["RoomCount"].ToString());
for (int i = 1; i <= RoomCount; i++)
{
ListItem ls = new ListItem();
ls.Text = i.ToString() + "间";
ls.Value = i.ToString();
this.DropDownList_RoomCount.Items.Add(ls);
}
}
Label_RoomInf.Text = dt.Rows[0]["RoomInf"].ToString();
Price = Convert.ToInt32(dt.Rows[0]["RoomPrice"].ToString());
if (Request.QueryString["isUser"] == null)
{
if (Foosun.Global.Current.UserNum2 != null)
{
rootPublic pd = new rootPublic();
uNum = Foosun.Global.Current.UserNum2;
if (!IsPostBack)
{
GetData();
}
UserNeedMoney();
}
else
{
Response.Redirect("/user/regRoom/Login.aspx?id=" + Request.QueryString["id"].ToString()); }
}
else
{
if (Foosun.Global.Current.UserNum2 != null)
{
rootPublic pd = new rootPublic();
uNum = Foosun.Global.Current.UserNum2;
if (!IsPostBack)
{
GetData();
}
UserNeedMoney();
}
else
{
this.Panel1.Visible = false; }
}
} }