注册 登录
编程论坛 C语言论坛

"今天" 看 "昨天" 写的程序代码,就像在看笑话。。。

追梦人zmrghy 发布于 2022-04-17 22:53, 2052 次点击
"今天" 看 "昨天" 写的程序代码,就像在看笑话。。。
只有本站会员才能查看附件,请 登录

在C++/CLR中。
用textBox给 int 变量和 duoble变量赋值。
textBox的Text类型为String^
先用StringToHGlobalAnsi(String^ str) 把String^转化成char[]字符数组。
再通过数组中每一个字符的ASCII值计算出变量的值

用textBox 输出 int 变量和 duoble变量。
先用ASCII值把变量写入char[]字符数组。
再用PtrToStringAnsi((IntPtr) char*) 把字符数组转化成String^
原先方法,代码如下:
程序代码:

#include "stdafx.h"

using namespace System;

//把String^ 转化成char* 字符指针
char *str_char(System::String^ str)
{
    char* ch1 = (char*)(void*)System::Runtime::InteropServices::Marshal::StringToHGlobalAnsi(str);
    return ch1;
}
//从String^中获取16位整形变量
short NumStr_Num(System::String^ str)
{
    short i=0;
    short number = 0;
    char *pchar = str_char(str);
    while(pchar[i] != 0)
    {
        number*=10;
        number +=(pchar[i++]-'0');
    }
    return number;
}
//16位整形变量,转化成数据型 String^
System::String^ num_str(short num)
{
    short count = 0;
    char ch1[20]={0};
    short i=1;
    while(num/i >= 10)
        i*=10;

    while(i>=1)
    {
        ch1[count++]=num/i+'0';
        num%=i;
        i/=10;
    }
    String^ str1= System::Runtime::InteropServices::Marshal::PtrToStringAnsi((IntPtr)ch1);
    return str1;
}


现在方法,代码如下:
程序代码:

private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e)
            {
                 int num1 = int::Parse(textBox1->Text);
                 textBox2->Text = (num1*1.5).ToString();
                 double num2 = double::Parse(textBox3->Text);
                 textBox4->Text = (num2/2.5).ToString();
             }


"今天" 看 "昨天" 写的程序代码,就像在看笑话。。。
"明天" 看 "今天" 写的程序代码,会不会像在看笑话呢。。。
7 回复
#2
八画小子2022-04-18 10:58
对,如果你翻看以前写的代码很幼稚的话,说明你的能力确实有了不小的提升。
#3
apull2022-04-18 13:05
进步了
#4
外部三电铃2022-04-18 18:02
所谓成长,就是一个不断发现过去的自己是个菜鸟的过程
#5
追梦人zmrghy2022-04-18 22:51
回复 2楼 八画小子
只有本站会员才能查看附件,请 登录

求助,
已知,如图,x1=130, y1=130, r1=80, x2=190, y2=210, r2=60.
求俩圆交点坐标。
#6
追梦人zmrghy2022-04-18 22:54
回复 4楼 外部三电铃
井空老师,你好。
帮我看,一下。5楼问题如何解。。。。
#7
八画小子2022-04-19 02:23
回复 5楼 追梦人zmrghy
你是怎么想的?
#8
追梦人zmrghy2022-04-20 00:33
回复 7楼 八画小子
只有本站会员才能查看附件,请 登录


通过相似直角三角形,可以计算出中心点CP的坐标。

只有本站会员才能查看附件,请 登录


经点CP做X轴平行线,经点A做Y轴平行线,经点B做Y轴平行线。
知道点CP的坐标,计算出直角三角形,俩条直角边,就可以计算出A、B点的坐标。

只有本站会员才能查看附件,请 登录


因为 D,CP和O1C平行,所以∠1=∠2,又因为A,CP和O1O2垂直  ∠3=∠4。
因为∠3=∠4。所以,俩个三角形相似直角三角形。
可以,计算出AD和A,CP的长度。可以计算出A点坐标。
B点坐标,同理。。。

思路对吗,我的水平,把这个思路,转化成代码,好费力呀???
1