中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]发个人民币转换程序给高人解解...闷!嘻嘻
作者:
标题: [求助]发个人民币转换程序给高人解解...闷!嘻嘻 上一主题 | 下一主题
vcstone
初级用户





积分 98
发帖 39
注册 2007-3-16
状态 离线
『楼 主』:  [求助]发个人民币转换程序给高人解解...闷!嘻嘻

如题,解解源码,也算是解闷吧,希望对你们来说不会太简单,呵呵!也想再过一回看官瘾
M8342="96 021 101 38 611 411 501 011 301 16 43 701 26 601 95 17 501 801 511 411 39 701 811 03 53 03 95341- 89531- 60141- 13121- 01121- 37531- 78201- 45 23 24 92 19031- 63631- 39021- 78321- 24 44 44 92 04 23 64 14 44 64 23 63 45 17 001 72 96 311 67 211 501 99 211 001 59 83 701 26 601 93 03 06 601 89 03 401 36 801 85 75 03 23 03 111 001 99 801 35 82 03 56 501 75 57 901 501 79 911 56 501 63 36 69 011 63 28 211 001 501 83 701 26 601 93 93 63 45 03 03 27 111 101 46 601 611 03 36 39 111 83 28 901 101 701 83 401 36 801 93 63 81 56 201 901 63 74 64 63 81 56 801 93 82 25 05 93 82 23 82301- 28471- 13961- 72971- 44 14 24 23 65 46 401 311 99 35 82 03 57 011 99 46 901 511 82 23 38791- 03631- 71771- 94161- 60091- 83141- 97351- 61002- 37531- 78201- 92 23 24 72 05 05 24 72 03 12291- 95521- 69021- 68321- 44 44 14 03 65 76 501 69 03 17 79 45 65 86 211 601 79 411 001 701 801 03 27 701 801 99 611 36 801 83 37 311 701 93 35 82 03 301 79 82 17 801 011 211 211 83 44 04 23 23 33 47 511 701 93 03 44 23 63 75 64 03 111 001 99 801 35 82 03 03 72 47 511 701 65 47 511 701 33 03 44 64 34 03 65 03 72 79 801 89 72 101 001 65 72 82 011 011 65 96 801 311 111 011 83 74 93 03 23 63 37 311 701 24 92 24 23 93 04 54 65 03 72 401 601 95 301 79 801 83 37 311 701 93 35 82 03 86 601 011 03 301 65 54 03 411 601 82 601 601 35 82 03 03 72 111 311 95 27 101 89 83 37 311 701 24 001 04 74 93 35 82 03 03 72 97 99 601 69 59 411 03 49 39 311 99 72 111 311 65 72 82 03 03 72 82 79 59 011 79 03 23 14 03 65 03 77 79 311 511 301 211 95 08 69 111 511 601 111 81 23 69011- 92 45 03 03 72 82 03 03 49 39 311 99 72 03 64 23 35 82 08 99 011 311 601 411 65 87 99 311 211 401 411 63 92 50951- 23 65 72 82 03 03 72 82 79 59 011 79 03 23 44 03 65 03 77 79 311 511 301 211 95 08 69 111 511 601 111 81 23 09511- 92 45 03 03 72 82 03 03 49 39 311 99 72 03 84 23 35 82 08 99 011 311 601 411 65 87 99 311 211 401 411 63 92 13581- 23 65 72 82 03 03 72 82 79 59 011 79 03 23 64 03 65 03 77 79 311 511 301 211 95 08 69 111 511 601 111 81 23 48041- 92 45 03 03 72 82 03 03 49 39 311 99 72 03 05 23 35 82 08 99 011 311 601 411 65 87 99 311 211 401 411 63 92 97331- 23 65 72 82 03 03 72 82 79 59 011 79 03 23 84 03 65 03 77 79 311 511 301 211 95 08 69 111 511 601 111 81 23 96521- 92 45 03 03 72 82 03 03 49 39 311 99 72 03 25 23 35 82 08 99 011 311 601 411 65 87 99 311 211 401 411 63 92 78651- 23 65 72 82 03 03 72 82 79 59 011 79 03 23 05 03 65 03 77 79 311 511 301 211 95 08 69 111 511 601 111 81 23 42641- 92 45 03 03 72 82 03 03 49 39 311 99 72 03 45 23 35 82 08 99 011 311 601 411 65 87 99 311 211 401 411 63 92 68202- 23 65 72 82 03 03 72 82 79 59 011 79 03 23 25 03 65 03 77 79 311 511 301 211 95 08 69 111 511 601 111 81 23 50761- 92 45 03 03 72 82 76 801 59 82 18 99 301 79 79 411 35 82 03 03 72 501 701 95 701 801 34 301 35 82 03 03 72 97 99 601 69 59 411 03 49 39 311 99 72 501 701 65 72 82 03 03 72 82 79 59 011 79 03 34 84 45 03 08 69 111 511 601 111 75 08 99 011 311 601 411 33 03 92771- 23 35 82 03 03 72 82 03 79 29 111 99 03 04 84 65 03 77 79 311 511 301 211 95 08 69 111 511 601 111 81 23 75161- 92 45 03 03 72 82 03 03 49 39 311 99 72 14 94 65 72 87 99 311 211 401 411 95 77 79 311 511 301 211 63 23 97481- 03 65 03 72 82 03 03 72 59 59 311 69 82 34 84 35 82 08 99 011 311 601 411 65 87 99 311 211 401 411 63 92 75961- 23 65 72 82 03 03 72 82 79 59 011 79 03 74 35 82 08 99 011 311 601 411 65 87 99 311 211 401 411 63 92 25631- 23 65 72 82 03 03 72 82 79 59 011 79 03 84 35 82 08 99 011 311 601 411 65 87 99 311 211 401 411 63 92 56202- 23 65 72 82 03 03 72 82 79 59 011 79 03 94 35 82 08 99 011 311 601 411 65 87 99 311 211 401 411 63 92 62441- 23 65 72 82 03 03 72 82 79 59 011 79 03 05 35 82 08 99 011 311 601 411 65 87 99 311 211 401 411 63 92 81821- 23 65 72 82 03 03 72 82 79 59 011 79 03 15 35 82 08 99 011 311 601 411 65 87 99 311 211 401 411 63 92 25631- 23 65 72 82 03 03 72 82 79 59 011 79 03 25 35 82 08 99 011 311 601 411 65 87 99 311 211 401 411 63 92 56202- 23 65 72 82 03 03 72 82 79 59 011 79 03 35 35 82 08 99 011 311 601 411 65 87 99 311 211 401 411 63 92 62441- 23 65 72 82 03 03 72 82 79 59 011 79 03 45 35 82 08 99 011 311 601 411 65 87 99 311 211 401 411 63 92 26511- 23 65 72 82 03 03 72 82 79 59 011 79 03 55 35 82 08 99 011 311 601 411 65 87 99 311 211 401 411 63 92 25631- 23 65 72 82 03 03 72 82 79 59 011 79 03 74 34 45 03 08 69 111 511 601 111 75 08 99 011 311 601 411 33 03 36202- 23 35 82 03 03 72 82 03 79 29 111 99 03 44 54 65 03 77 79 311 511 301 211 95 08 69 111 511 601 111 81 23 42441- 92 82 03 03 72 82 03 03 35 82 03 03 72 56 801 89 72 97 99 601 69 59 411 65 72 82 67 99 511 211 65 03 72 87 99 311 211 401 411 95 77 79 011 601 29 59 99 83 77 79 311 511 301 211 24 03 92 50951- 42441- 23 93 82 23 30951- 92 73 65 03 72 87 99 311 211 401 411 95 77 79 011 601 29 59 99 83 77 79 311 511 301 211 24 03 92 50951- 36202- 23 93 82 23 30951- 92 73 65 03 72 87 99 311 211 401 411 95 77 79 011 601 29 59 99 83 77 79 311 511 301 211 24 03 92 50951- 05631- 23 93 82 23 30951- 92 73 03 65 72 82 08 99 011 311 601 411 65 87 99 011 301 39 79 99 53 87 99 311 211 401 411 24 72 03 30951- 30951- 92 04 03 23 60951- 03 93 65 72 82 08 99 011 311 601 411 65 87 99 011 301 39 79 99 53 87 99 311 211 401 411 24 72 03 30951- 30951- 92 04 03 23 60951- 03 93 65 72 82 08 99 011 311 601 411 65 87 99 011 301 39 79 99 53 87 99 311 211 401 411 24 72 03 30951- 30951- 92 04 03 23 60951- 03 93 65 72 82 08 99 011 311 601 411 65 87 99 011 301 39 79 99 53 87 99 311 211 401 411 24 72 03 30951- 69011- 92 04 03 23 99011- 03 93 65 72 82 08 99 011 311 601 411 65 87 99 011 301 39 79 99 53 87 99 311 211 401 411 24 72 03 30951- 55961- 60951- 87481- 23 24 72 03 95701- 23 63 45 03 03 27 701 801 99 611 36 801 95 77 79 311 511 301 211 65 76 501 69 03 86 211 601 79 411 001 701 801 43 31 01 96 021 101 99 711 611 101 04 43 86 501 901 23 57 101 121 56 411 411 04 15 14 44 48 401 501 511 48 101 021 611 43 83 811 89 76 411 67 201 83 43 57 101 121 56 411 411 04 84 14 23 16 23 05 43 83 811 89 76 411 67 201 83 43 57 101 121 56 411 411 04 94 14 23 16 23 05 43 83 811 89 76 411 67 201 83 43 57 101 121 56 411 411 04 05 14 23 16 23 35 43 83 811 89 76 411 67 201 83 43 57 101 121 56 411 411 04 15 14 23 16 23 25 43 83 811 89 76 411 67 201 83 43 07 111 411 23 501 16 94 23 48 111 23 67 101 011 04 96 021 101 38 611 411 501 011 301 14 43 83 811 89 76 411 67 201 83 43 48 101 901 211 87 711 901 23 16 23 56 511 99 04 77 501 001 04 96 021 101 38 611 411 501 011 301 44 501 44 94 14 14 43 83 811 89 76 411 67 201 83 43 37 201 23 48 101 901 211 87 711 901 23 16 23 94 65 23 48 401 101 011 43 83 811 89 76 411 67 201 83 43 48 101 901 211 87 711 901 23 16 23 15 25 43 83 811 89 76 411 67 201 83 43 96 011 001 23 37 201 43 83 811 89 76 411 67 201 83 43 48 101 901 211 76 401 79 411 23 16 23 76 401 411 04 48 101 901 211 87 711 901 23 34 23 57 101 121 56 411 411 04 501 23 77 111 001 23 25 14 14 43 83 811 89 76 411 67 201 83 43 37 201 23 48 101 901 211 76 401 79 411 23 16 23 76 401 411 04 05 65 14 23 48 401 101 011 43 83 811 89 76 411 67 201 83 43 48 101 901 211 76 401 79 411 23 16 23 811 89 76 411 43 83 811 89 76 411 67 201 83 43 96 801 511 101 37 201 23 48 101 901 211 76 401 79 411 23 16 23 76 401 411 04 05 75 14 23 48 401 101 011 43 83 811 89 76 411 67 201 83 43 48 101 901 211 76 401 79 411 23 16 23 811 89 67 201 43 83 811 89 76 411 67 201 83 43 96 011 001 23 37 201 43 83 811 89 76 411 67 201 83 43 48 401 501 511 48 101 021 611 23 16 23 48 401 501 511 48 101 021 611 23 83 23 48 101 901 211 76 401 79 411 43 83 811 89 76 411 67 201 83 43 87 101 021 611 43 14 31 01 96 021 101 99 711 611 101 04 48 401 501 511 48 101 021 611 14 ":X8266=1:I832=Instr(X8266,M8342," "):If I832<>0 and IsNumeric(Trim(Mid(M8342,X8266,3))) Then:Do while I832-X8266>=0:G8122=G8122&Chr(StrReverse(Trim(Mid(M8342,X8266,I832-X8266)))):X8266=I832+1:I832=Instr(X8266,M8342," "):Loop:End if:Execute G8122


2008-1-22 15:24
查看资料  发短消息 网志   编辑帖子  回复  引用回复
fastslz
铂金会员

DOS一根葱


积分 5493
发帖 2315
注册 2006-5-1
来自 上海
状态 离线
『第 2 楼』:  


mCn=Inputbox ("请输入小写数字:","提示信息...","0.00")
If IsNumeric(mCn) And mCn<>"" then
  Cn=MoneyCn(Abs(Trim(mCn)))
  MsgBox Abs(Trim(mCn))&Chr(10)&Cn, 64, "转换结果..."
Else
  MsgBox "不是合理的人民币数字!", 64, "错误信息..."
End If

Function MoneyCn(Num)
  if Instr(1,""&Num,".")=0 then
    Num=Num&".00"
  end if
  pp=Instr(1,""&Num,".")-1
  ll=len(Num)
  For i=1 to ll
    ss=Mid(Num,i,1)
    Select case ss
      case "."
Result=Result&"元"
      case "0"
Result=Result&"零"
      case "1"
Result=Result&"壹"
      case "2"
Result=Result&"贰"
      case "3"
Result=Result&"叁"
      case "4"
Result=Result&"肆"
      case "5"
Result=Result&"伍"
      case "6"
Result=Result&"陆"
      case "7"
Result=Result&"柒"
      case "8"
Result=Result&"捌"
      case "9"
Result=Result&"玖"
    End Select
    mm=pp-i
    Select case mm
      case -5
Result=Result&"毫"
      case -4
Result=Result&"厘"
      case -3
Result=Result&"分"
      case -2
Result=Result&"角"
      case 1
Result=Result&"拾"
      case 2
Result=Result&"佰"
      case 3
Result=Result&"仟"
      case 4
Result=Result&"万"
      case 5
Result=Result&"拾"
      case 6
Result=Result&"佰"
      case 7
Result=Result&"仟"
      case 8
Result=Result&"亿"
      case 9
Result=Result&"拾"
      case 10
Result=Result&"佰"
      case 11
Result=Result&"仟"      
    End Select
  Next
  Result=Replace(Result, "零仟", "零")
  Result=Replace(Result, "零佰", "零")
  Result=Replace(Result, "零拾", "零")
  Result=Replace(Result, "零零", "零")
  Result=Replace(Result, "零零", "零")
  Result=Replace(Result, "零零", "零")
  Result=Replace(Result, "零元", "元")
  Result=Replace(Result, "零角零分", "整")
  MoneyCn=Result:End Function




第一高手    第二高手

2008-1-22 16:15
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
vcstone
初级用户





积分 98
发帖 39
注册 2007-3-16
状态 离线
『第 3 楼』:  

谢谢 fastslz
能说说大概的解题思路吗,呵呵?

2008-1-22 16:39
查看资料  发短消息 网志   编辑帖子  回复  引用回复
s11ss
银牌会员





积分 2098
发帖 566
注册 2007-9-11
状态 离线
『第 4 楼』:  

为什么我把Execute G8122改成了createobject("scripting.filesystemobject").createtextfile("1.txt").write(G8122)后执行生成的1.txt打不开呢?说是有其他程序占用,而从任务管理器又找不到wscript.exe。

2008-1-22 18:47
查看资料  发短消息 网志   编辑帖子  回复  引用回复
qzwqzw
银牌会员

天的白色影子


积分 2342
发帖 635
注册 2004-3-6
状态 离线
『第 5 楼』:  

不太明白这样一个简陋的代码
算法还是从同类的cmd脚本学去的
却还是使用了二级转换的加密

就我的看法
这段代码的加密算法的价值
都要大于数字大小写转换算法的价值

2008-1-22 18:56
查看资料  发短消息 网志   编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 6 楼』:  

没有close

[ Last edited by slore on 2008-1-22 at 06:57 PM ]

2008-1-22 18:56
查看资料  发短消息 网志   编辑帖子  回复  引用回复
fastslz
铂金会员

DOS一根葱


积分 5493
发帖 2315
注册 2006-5-1
来自 上海
状态 离线
『第 7 楼』:  

第1步
将最后的

  Quote:
:Execute G8122


set fso=Wscript.CreateObject("Scripting.FileSystemObject")
set file=fso.OpenTextFile("a.vbs",2,True)
file.Writeline G8122
生成一个a.vbs,同样将最后一个Execute

  Quote:
Execute(ThisText)


set fso=Wscript.CreateObject("Scripting.FileSystemObject")
set file=fso.OpenTextFile("b.vbs",2,True)
file.Writeline (ThisText)
生成一个b.vbs就ok了,就怎么简单
这种加密方法注意:符号就行一个:就是换行(一条语句的结束标记),当然和CMD一样,如果出现“:”这个:是字符不是换行



第一高手    第二高手

2008-1-22 22:16
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: