1
resposta

[Projeto] Resposta Exercicio

Olá, Pessoal.

Fiz dessa forma:

void main() {
  String nome = 'Laranja';
  double peso = 100.2;
  int diasDesdeColheita = 20;
  int diasParaFicarMadura = 15;
  bool isMadura = funcEstaMadura(diasDesdeColheita, diasParaFicarMadura);

  print(isMadura);

  escrevaTexto(
      nome: nome,
      peso: peso,
      diaColheita: diasDesdeColheita,
      diaMadura: diasParaFicarMadura,
      isMadura: isMadura);
}

bool funcEstaMadura(int diaColhido, int diaMadura) {
  if (diaColhido >= diaMadura) {
    return true;
  } else {
    return false;
  }
}

escrevaTexto(
    {required String nome,
    required double peso,
    required int diaColheita,
    required int diaMadura,
    required bool isMadura}) {
  return print(
      "A $nome pesa $peso gramas! Ela foi colhida há $diaColheita e precisa de $diaMadura para amadurecer, logo, a $nome esta $isMadura");
}
1 resposta

Olá, George!

Pelo que entendi, você criou duas funções: uma para verificar se a fruta está madura e outra para imprimir as informações da fruta. Isso está correto, mas acredito que você possa melhorar um pouco mais o código.

A atividade pede para criar uma função toString que retorna uma String formatada com todas as informações da fruta. No seu código, a função escrevaTexto está fazendo isso, mas ela está imprimindo a String diretamente. O ideal seria que essa função retornasse a String, e a impressão fosse feita no main.

Aqui está um exemplo de como você pode fazer isso:

void main() {
  String nome = 'Laranja';
  double peso = 100.2;
  int diasDesdeColheita = 20;
  int diasParaFicarMadura = 15;
  bool isMadura = funcEstaMadura(diasDesdeColheita, diasParaFicarMadura);

  String texto = escrevaTexto(
      nome: nome,
      peso: peso,
      diaColheita: diasDesdeColheita,
      diaMadura: diasParaFicarMadura,
      isMadura: isMadura);
  
  print(texto);
}

bool funcEstaMadura(int diaColhido, int diaMadura) {
  if (diaColhido >= diaMadura) {
    return true;
  } else {
    return false;
  }
}

String escrevaTexto(
    {required String nome,
    required double peso,
    required int diaColheita,
    required int diaMadura,
    required bool isMadura}) {
  return "A $nome pesa $peso gramas! Ela foi colhida há $diaColheita e precisa de $diaMadura para amadurecer, logo, a $nome esta $isMadura";
}

Nesse exemplo, a função escrevaTexto retorna a String formatada, e a impressão é feita no main. Assim, a função escrevaTexto pode ser reutilizada em outros lugares do código, caso necessário.

Espero ter ajudado e bons estudos!