Linuxではプログラムを適切に実行しますが、Windowsでは実行しません

GoodRockqqSK:

私は現在Go langを学んでいます。さまざまなプラットフォームで試してください:Linux、Windows Linuxでコードを実行すると完全に実行されますが、このプログラムをWindowsで試しても機能しません。

単純なcmd計算機で、数値の加算、乗算などの単純な操作が可能です。文字のような誤った入力を処理しません。それは養子縁組構文のための私の最初のプログラムです

機能しないもの:

  1. intの解析
  2. 入力の比較

コード:

package main

import (
    "bufio"
    "fmt"
    "math"
    "os"
    "strconv"
    "strings"
)

func main() {

    reader := bufio.NewReader(os.Stdin)
    var operation int
    var firstNumber float64
    var secondNumber float64

    fmt.Println("Simple cmd calculator")

    repeat := true

    for repeat {

        fmt.Println("Enter number 1: ")
        firstNumber = getNumber(*reader)

        fmt.Println("Enter number 2: ")
        secondNumber = getNumber(*reader)

        fmt.Println()

        selectOperation(*reader, &operation)

        fmt.Print("You result is: ")

        switch operation {
        case 1:
            fmt.Println(add(firstNumber, secondNumber))
        case 2:
            fmt.Println(subtract(firstNumber, secondNumber))
        case 3:
            fmt.Println(multiply(firstNumber, secondNumber))
        case 4:
            fmt.Println(divide(firstNumber, secondNumber))
        }

        fmt.Println("Do you want to continue? [Y/n]")
        input, _ := reader.ReadString('\n')

        input = strings.Replace(input, "\n", "", -1)

        if !(input == "Y" || input == "y") {
            repeat = false
        }

    }

}

func selectOperation(reader bufio.Reader, operation *int) {
    fmt.Println("1. Add")
    fmt.Println("2. Subtract")
    fmt.Println("3. Multiply")
    fmt.Println("4. Divide")

    fmt.Print("Select operation: ")
    input, _ := reader.ReadString('\n')
    input = strings.Replace(input, "\n", "", -1)
    number, _ := strconv.Atoi(input)
    *operation = number
}

func getNumber(reader bufio.Reader) float64 {

    input, _ := reader.ReadString('\n')
    input = strings.Replace(input, "\n", "", -1)
    convertedNumber, _ := strconv.ParseFloat(input, 64)
    return convertedNumber

}

func add(a float64, b float64) float64 {
    return (math.Round((a+b)*100) / 100)
}

func subtract(a float64, b float64) float64 {
    return (math.Round((a-b)*100) / 100)
}

func multiply(a float64, b float64) float64 {
    return (math.Round(a*b*100) / 100)
}

func divide(a float64, b float64) float64 {
    return (math.Round(a/b*100) / 100)
}

結果:

Linux

ウィンドウズ

私は何か間違ったことをしていますか、それとも私の悪いことではありませんか?

GoodRockqqSK:

@zerkmsのヘルプに感謝します。

答えは:

input = strings.Replace(input, "\r", "", -1)
input = strings.Replace(input, "\n", "", -1)

これで、WindowsとLinuxの両方で正しく動作します

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

C ++プログラムはLinuxで完全に実行されますが、Windowsでは実行できません

分類Dev

プログラムは正しいのですが、実行できません

分類Dev

スクリプトを実行できません:プログラムの実行を続行するにはメモリが不足しています

分類Dev

Mavenは目標の実行に失敗しました-プログラムnpmを実行できません

分類Dev

Linuxで実行しようとすると、プログラムがエラーをスローします(Windowsでは正常に動作します)

分類Dev

Raspberry Pi3上のWindows10 iotはJavaプログラムを適切に実行できますか?

分類Dev

cで作成されたプログラムは、Windowsではダブルクリックで実行されますが、Linuxでは実行されません。

分類Dev

Monoでプログラムを実行できますが、Visual StudioMacでは実行できません

分類Dev

VMまたはPlayOnLinuxを介してLinux上でWindowsプログラムを実行していますか?

分類Dev

他のプログラムを適切な方法で実行できません

分類Dev

単純なWindowsプログラムはLinuxターミナルで実行されますが、Windowscmdでは実行されません

分類Dev

(初心者)chmoding後に名前としてプログラムを実行することはできません

分類Dev

プログラムはVisualStudio 2012で実行されますが、ideone.comでは実行されません

分類Dev

プログラムはコンパイル、実行されますが、DevC ++で終了しません

分類Dev

プログラムはpthreadを実行しません

分類Dev

プログラムは機能を実行しませんか?

分類Dev

プログラムは機能を実行しませんか?

分類Dev

Ctrl + Shift + Enterキーを押して「管理者として実行」は「デスクトップアプリ」プログラムでは機能しますが、「コマンドの実行」プログラムでは機能しません

分類Dev

Pythonで深い配列を作成しようとすると、次の行の出力を取得できますが、シェルで実行されますが、プログラムから実行した場合は実行されません

分類Dev

コマンドプロンプトではプログラムを実行できませんが、IPythonでは実行できます

分類Dev

Cygwinを使用してJavaからCプログラムを実行することはできません

分類Dev

Cygwinを使用してJavaからCプログラムを実行することはできません

分類Dev

私のプログラムはmainメソッドを実行しません。なぜですか?

分類Dev

Oozie Launcherが失敗し、プログラムを実行できません

分類Dev

C ++ VisualStudioはプログラムを完全に実行しません

分類Dev

他の人が実行できても、プログラムはOpenCVを実行できません

分類Dev

最初にターミナルでプログラムを実行しない限り、.vbs スクリプトは gnome-terminal を実行しません [WSL]

分類Dev

このプログラムをEclipseで実行することはできませんが、JGRASPで動作します

分類Dev

プログラムは日食で実行できません

Related 関連記事

  1. 1

    C ++プログラムはLinuxで完全に実行されますが、Windowsでは実行できません

  2. 2

    プログラムは正しいのですが、実行できません

  3. 3

    スクリプトを実行できません:プログラムの実行を続行するにはメモリが不足しています

  4. 4

    Mavenは目標の実行に失敗しました-プログラムnpmを実行できません

  5. 5

    Linuxで実行しようとすると、プログラムがエラーをスローします(Windowsでは正常に動作します)

  6. 6

    Raspberry Pi3上のWindows10 iotはJavaプログラムを適切に実行できますか?

  7. 7

    cで作成されたプログラムは、Windowsではダブルクリックで実行されますが、Linuxでは実行されません。

  8. 8

    Monoでプログラムを実行できますが、Visual StudioMacでは実行できません

  9. 9

    VMまたはPlayOnLinuxを介してLinux上でWindowsプログラムを実行していますか?

  10. 10

    他のプログラムを適切な方法で実行できません

  11. 11

    単純なWindowsプログラムはLinuxターミナルで実行されますが、Windowscmdでは実行されません

  12. 12

    (初心者)chmoding後に名前としてプログラムを実行することはできません

  13. 13

    プログラムはVisualStudio 2012で実行されますが、ideone.comでは実行されません

  14. 14

    プログラムはコンパイル、実行されますが、DevC ++で終了しません

  15. 15

    プログラムはpthreadを実行しません

  16. 16

    プログラムは機能を実行しませんか?

  17. 17

    プログラムは機能を実行しませんか?

  18. 18

    Ctrl + Shift + Enterキーを押して「管理者として実行」は「デスクトップアプリ」プログラムでは機能しますが、「コマンドの実行」プログラムでは機能しません

  19. 19

    Pythonで深い配列を作成しようとすると、次の行の出力を取得できますが、シェルで実行されますが、プログラムから実行した場合は実行されません

  20. 20

    コマンドプロンプトではプログラムを実行できませんが、IPythonでは実行できます

  21. 21

    Cygwinを使用してJavaからCプログラムを実行することはできません

  22. 22

    Cygwinを使用してJavaからCプログラムを実行することはできません

  23. 23

    私のプログラムはmainメソッドを実行しません。なぜですか?

  24. 24

    Oozie Launcherが失敗し、プログラムを実行できません

  25. 25

    C ++ VisualStudioはプログラムを完全に実行しません

  26. 26

    他の人が実行できても、プログラムはOpenCVを実行できません

  27. 27

    最初にターミナルでプログラムを実行しない限り、.vbs スクリプトは gnome-terminal を実行しません [WSL]

  28. 28

    このプログラムをEclipseで実行することはできませんが、JGRASPで動作します

  29. 29

    プログラムは日食で実行できません

ホットタグ

アーカイブ