2015-12-02 4 views
-2
package main 

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

func main() { 
    var inpA = bufio.NewScanner(os.Stdin) 
    var inpB = bufio.NewScanner(os.Stdin) 
    var inpC = bufio.NewScanner(os.Stdin) 
    fmt.Print("input A value: ") 
    inpA.Scan() 
    fmt.Print("input B value: ") 
    inpB.Scan() 
    fmt.Print("input C value: ") 
    inpC.Scan() 
    cal(inpA.Text(),inpB.Text(),inpC.Text()) 
} 

func cal(INP1, INP2, INP3) string{ 
    b := INP2 
    a := INP1 
    c := INP3 
    e := 4 
    la := 2 
    a2 := float64(e)*float64(a) 
    b2 := float64(b*b) 
    ac := float64(e)*float64(a)*float64(c) 
    q := math.Sqrt(math.Abs(b2-ac)) 
    x := q/a2 
    Rx := x 
    fmt.Print("x = " + strconv.Itoa(Rx)) 
} 

Что я делаю неправильно? I Все, что я хочу сделать, это передать вход в func cal. Также у меня проблемы с печатью Rx. Потому что это поплавок. Итак, как мне изменить x/RX на non float?как передать переменные в golang

+6

У вас нет типа аргументов функции, но есть много других проблем с этим кодом. Начните с [docs] (https://golang.org/doc/) – JimB

ответ

0

Имеет ли @JimB уже указатель, что функция func cal не имеет параметров для параметров. Кроме того, он имеет и другие вопросы нравится:

  1. типа набора параметров для FUNC кал в виде строки
  2. Для того, чтобы использовать а, б и в, преобразующих установить там значение, как float64
  3. ла не используется
  4. Rx необходимо преобразовать в строку
  5. func ничего не возвращает.

Посмотрите на этой обновленной функции:

func cal(INP1, INP2, INP3 string) string{ 
    b,_ := strconv.ParseFloat(INP2, 64) 
    a,_ := strconv.ParseFloat(INP1, 64) 
    c,_ := strconv.ParseFloat(INP3, 64) 
    e := 4 
    la := 2 
    a2 := float64(e)*float64(a) 
    b2 := float64(b*b) 
    ac := float64(e)*float64(a)*float64(c) 
    q := math.Sqrt(math.Abs(b2-ac)) 
    x := q/a2 
    Rx := x 
    fmt.Print("x = " + strconv.FormatFloat(Rx, 'f', 6, 64)) 
    fmt.Print(la) 
    return "return value" 
} 

Сейчас я использовал ла, напечатав его.

Смежные вопросы