2016年10月21日 星期五

Z2A練習:M5P02-smp2-學號

(2)類似題舉例2 資商學院的學號有5位,第1碼為系碼,第2碼為年度,第3碼為班碼,後2碼為座號
 系碼只能是SYZ其中之1,年度只能是2~5其中之一,班碼只能是1~3,座號一定是兩位01~50
 讀入n列字串,判斷是否為正確的學號,正確則則輸出R,不正確則輸出E

解題提示:系碼可設定一字串 hstr=”SYZ”,可以instr(hstr,c)函數尋找也可以用IF判斷
參考程式碼:
Dim hstr As String =”SYZ”   'Instr用
Function m5p02(ByVal s As String) As String
        m5p02 = "R"
        s = Trim(s)             '去掉首尾的空白
        If s.Length <> 5 Then Return "E"           '長度不對
        Dim c As Char = Mid(s, 1, 1)      '第1碼只能 SYZ之一
        If c <> "S" And c <> "Y" And c <> "Z" Then Return "E"
      '  If instr(hstr,c)=0 then return E”          '也可以改用 Instr找不到傳回0
        c = Mid(s, 2, 1)
        If c < "2" Or c > "5" Then Return "E"            '第2碼只能 2~5
        c = Mid(s, 3, 1)
        If c < "1" Or c > "3" Then Return "E"          '第3碼只能 1~3
        c = Mid(s, 4, 1)
        If c < "0" Or c > "5" Then Return "E"          '第4碼只能 0~5
        c = Mid(s, 5, 1)
        If c < "0" Or c > "9" Then Return "E"          '第5碼只能 0~9
        Dim no As Integer = Val(Mid(s, 4, 5))           ' 4、5兩碼合成一個數 只能 1~50
        If no < 1 Or no > 50 Then Return "E"
    End Function
-----------------------------------------
in1.txt
-----------------------------------------
3
Z1345
Y3150
S4234
-----------------------------------------
in2.txt
-----------------------------------------
5
X5123
Z53450
Y3151
S234A
Z2209
-----------------------------------------
out.txt
-----------------------------------------
E
R
R

E
E
E
E
R

Related Posts:

  • Z2A VB 檢查碼變化題 Z2A VB 01/03預訂考題 檢查碼之 變化 變化1:M5P05_1 學號檢查  給一組學號,依下列檢查規則,若正確則輸出Yes,不正確則輸出No (1) 學號共6碼,長度不對則No (2) 第1碼只能3~5 (3) 第2,3兩碼只能11~17的數字 (4) 第4,5,6… Read More
  • Z2A練習:M5P01-smp1-11倍數 (1)類似題舉例1:判斷正整數0<N<1050是否可被 11 整除(因數字超過 Long型別)需使用字串處理 202914184810805067776 8239728901483491109728570834944 解題提示:奇數位的和 與 偶數位的和 是否為 11的倍數,是… Read More
  • Z2A vb 是否為15、33倍數 M5P01 判斷 S 是11的倍數、15的倍數、33的倍數  變位1   M5P01-1 是否15倍數 , 可以被5整除也可以被3整除     Function M5P01(ByVal s As String) As String … Read More
  • Z2A VB 變化題(找數字)1/3要測的變化題,預訂這兩天會補充上來  M2P11 找 S 字串中的阿拉伯數字    Function M2P11(ByVal S As String) As String         … Read More
  • Z2A VB檢查碼+變化2,3 變化2:M5P05_2 書碼檢查(10碼)  給一組書碼,依下列檢查規則,若正確則輸出Yes,不正確則輸出No (1) 書碼共10碼皆數字,非數字或長度不對則No (2) 第1~9碼由左算第1碼為奇數位 所有奇數位*1、所有偶數位*3 (3) 第1~9位各乘上1或 3後加總後再加… Read More

0 意見:

張貼留言