VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 379|回复: 2

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

[复制链接]
38_avatar_middle
最佳答案
0 
在线会员 发表于 2022-4-17 22:41:19 | 显示全部楼层 |阅读模式
本帖最后由 zmrghy 于 2022-4-17 22:42 编辑

"今天" 看 "昨天" 写的程序代码,就像在看笑话。。。
"今天" 看 "昨天" 写的程序代码,就像在看笑话。。。
在C++/CLR中。
用textBox给 int 变量和 duoble变量赋值。
textBox的Text类型为String^
先用StringToHGlobalAnsi(String^ str) 把String^转化成char[]字符数组。
再通过数组中每一个字符的ASCII值计算出变量的值

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

  1. #include "stdafx.h"

  2. using namespace System;

  3. //把String^ 转化成char* 字符指针
  4. char *str_char(System::String^ str)
  5. {
  6.         char* ch1 = (char*)(void*)System::Runtime::InteropServices::Marshal::StringToHGlobalAnsi(str);
  7.         return ch1;
  8. }
  9. //从String^中获取16位整形变量
  10. short NumStr_Num(System::String^ str)
  11. {
  12.         short i=0;
  13.         short number = 0;
  14.         char *pchar = str_char(str);
  15.         while(pchar[i] != 0)
  16.         {
  17.                 number*=10;
  18.                 number +=(pchar[i++]-'0');
  19.         }
  20.         return number;
  21. }
  22. //16位整形变量,转化成数据型 String^
  23. System::String^ num_str(short num)
  24. {
  25.         short count = 0;
  26.         char ch1[20]={0};
  27.         short i=1;
  28.         while(num/i >= 10)
  29.                 i*=10;

  30.         while(i>=1)
  31.         {
  32.                 ch1[count++]=num/i+'0';
  33.                 num%=i;
  34.                 i/=10;
  35.         }
  36.         String^ str1= System::Runtime::InteropServices::Marshal::PtrToStringAnsi((IntPtr)ch1);
  37.         return str1;
  38. }
复制代码


现在方法,代码如下:

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

复制代码



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




上一篇:VC++批量注释
下一篇:求助,C++中SYSTEM的用法
92_avatar_middle
最佳答案
0 
在线会员 发表于 2022-4-18 10:57:30 | 显示全部楼层
看昨天的代码就像看笑话,看明天的代码就像看天书。
38_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2022-4-18 23:23:27 | 显示全部楼层
本帖最后由 zmrghy 于 2022-4-18 23:26 编辑
踏雪失踪 发表于 2022-4-18 10:57
看昨天的代码就像看笑话,看明天的代码就像看天书。


如果,看不懂,建议你学习汇编语言。
语法,简单。
如果,汇编还看不懂。
直接用,机器语言吧。。。
更简单了,
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

×【发帖 友情提示】
1、请回复有意义的内容,请勿恶意灌水;
2、纯数字、字母、表情等无意义的内容系统将自动删除;
3、若正常回复后帖子被自动删除,为系统误删的情况,请重新回复其他正常内容或等待管理员审核通过后会自动发布;
4、感谢您对VC驿站一如既往的支持,谢谢合作!

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号-4 )|网站地图wx_jqr

GMT+8, 2022-7-7 17:56

Powered by CcTry.CoM

© 2009-2021 cctry.com

快速回复 返回顶部 返回列表