Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

[Dúvida] swift ios: ajuda com código

Estou recebendo esse erro e não consigo ajustar. Help!

swift /tmp/Jdn6yCdWk0.swift
ERROR!
/tmp/Jdn6yCdWk0.swift:55:1: error: extraneous '}' at top level
}
^
ERROR!
/tmp/Jdn6yCdWk0.swift:37:9: error: return invalid outside of a func
        return
        ^
ERROR!
/tmp/Jdn6yCdWk0.swift:43:9: error: return invalid outside of a func
        return
        ^
ERROR!
/tmp/Jdn6yCdWk0.swift:49:9: error: return invalid outside of a func
        return
        ^
ERROR!
/tmp/Jdn6yCdWk0.swift:57:1: error: cannot find 'main' in scope
main()
^~~~
4 respostas

Oii, tudo bem?

Você poderia compartilhar o seu código? Assim fica melhor para te ajudar.

Um abraço e bons estudos.

Oi! Desculpe,havia esquecido de enviar o código:

import Foundation

struct Calculadora {
    var primeiroNumero: Double
    var segundoNumero: Double
    var operacao: String

    init(primeiroNumero: Double, segundoNumero: Double, operacao: String) {
        self.primeiroNumero = primeiroNumero
        self.segundoNumero = segundoNumero
        self.operacao = operacao
    }

    func calcular() -> String {
        switch operacao {
        case "+":
            return String(primeiroNumero + segundoNumero)
        case "-":
            return String(primeiroNumero - segundoNumero)
        case "*":
            return String(primeiroNumero * segundoNumero)
        case "/":
            if segundoNumero == 0 {
                return "Erro: Divisão por zero."
            }
            return String(primeiroNumero / segundoNumero)
        default:
            return "Erro: Operação inválida."
        }
    }
}

    print("Digite o primeiro número:")
    guard let primeiroNumeroString = readLine(), let primeiroNumero = Double(primeiroNumeroString) else {
        print("Erro: Número inválido.")
        return
    }

    print("Digite a operação (+, -, *, /):")
    guard let operacao = readLine() else {
        print("Erro: Operação inválida.")
        return
    }

    print("Digite o segundo número:")
    guard let segundoNumeroString = readLine(), let segundoNumero = Double(segundoNumeroString) else {
        print("Erro: Número inválido.")
        return
    }

    let calculadora = Calculadora(primeiroNumero: primeiroNumero, segundoNumero: segundoNumero, operacao: operacao)
    let resultado = calculadora.calcular()
    print("Resultado: \(resultado)")
}

main()
solução!

Oii, obrigada por compartilhar o código.

Esse erro sugere que a função main() está sendo chamada, mas não foi definida em nenhum lugar do seu código. Fazendo essa correção os erros irão sumir:

import Foundation

struct Calculadora {
    var primeiroNumero: Double
    var segundoNumero: Double
    var operacao: String

    init(primeiroNumero: Double, segundoNumero: Double, operacao: String) {
        self.primeiroNumero = primeiroNumero
        self.segundoNumero = segundoNumero
        self.operacao = operacao
    }

    func calcular() -> String {
        switch operacao {
        case "+":
            return String(primeiroNumero + segundoNumero)
        case "-":
            return String(primeiroNumero - segundoNumero)
        case "*":
            return String(primeiroNumero * segundoNumero)
        case "/":
            if segundoNumero == 0 {
                return "Erro: Divisão por zero."
            }
            return String(primeiroNumero / segundoNumero)
        default:
            return "Erro: Operação inválida."
        }
    }
}

func main() {
    print("Digite o primeiro número:")
    guard let primeiroNumeroString = readLine(), let primeiroNumero = Double(primeiroNumeroString) else {
        print("Erro: Número inválido.")
        return
    }

    print("Digite a operação (+, -, *, /):")
    guard let operacao = readLine() else {
        print("Erro: Operação inválida.")
        return
    }

    print("Digite o segundo número:")
    guard let segundoNumeroString = readLine(), let segundoNumero = Double(segundoNumeroString) else {
        print("Erro: Número inválido.")
        return
    }

    let calculadora = Calculadora(primeiroNumero: primeiroNumero, segundoNumero: segundoNumero, operacao: operacao)
    let resultado = calculadora.calcular()
    print("Resultado: \(resultado)")
}

main()

Fazendo o teste, deu tudo certinho:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Espero que te ajude.

Um abraço e bons estudos.

Muito obrigada, Lorena. Suas respostas sempre bem explicadas e completas.

Abraços!