标题:"今天" 看 "昨天" 写的程序代码,就像在看笑话。。。
只看楼主
追梦人zmrghy
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:399
专家分:190
注 册:2021-4-9
结帖率:97.22%
已结贴  问题点数:20 回复次数:7 
"今天" 看 "昨天" 写的程序代码,就像在看笑话。。。
"今天" 看 "昨天" 写的程序代码,就像在看笑话。。。

在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();
             }


"今天" 看 "昨天" 写的程序代码,就像在看笑话。。。
"明天" 看 "今天" 写的程序代码,会不会像在看笑话呢。。。
搜索更多相关主题的帖子: System String 变量 char 代码 
2022-04-17 22:53
八画小子
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:37
帖 子:705
专家分:2043
注 册:2010-11-11
得分:7 
对,如果你翻看以前写的代码很幼稚的话,说明你的能力确实有了不小的提升。
2022-04-18 10:58
apull
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:三体星系
等 级:版主
威 望:185
帖 子:1404
专家分:8479
注 册:2010-3-16
得分:7 
进步了
2022-04-18 13:05
外部三电铃
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:那一年
等 级:贵宾
威 望:55
帖 子:2004
专家分:7306
注 册:2007-12-17
得分:7 
所谓成长,就是一个不断发现过去的自己是个菜鸟的过程

那一年,苍井空还是处女
2022-04-18 18:02
追梦人zmrghy
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:399
专家分:190
注 册:2021-4-9
得分:0 
回复 2楼 八画小子

求助,
已知,如图,x1=130, y1=130, r1=80, x2=190, y2=210, r2=60.
求俩圆交点坐标。
2022-04-18 22:51
追梦人zmrghy
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:399
专家分:190
注 册:2021-4-9
得分:0 
回复 4楼 外部三电铃
井空老师,你好。
帮我看,一下。5楼问题如何解。。。。
2022-04-18 22:54
八画小子
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:37
帖 子:705
专家分:2043
注 册:2010-11-11
得分:0 
回复 5楼 追梦人zmrghy
你是怎么想的?
2022-04-19 02:23
追梦人zmrghy
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:399
专家分:190
注 册:2021-4-9
得分:0 
回复 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点坐标,同理。。。

思路对吗,我的水平,把这个思路,转化成代码,好费力呀???
2022-04-20 00:33



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-508869-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.279250 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved