1
resposta

Lista de exercícios

import 'dart:io';

void idadeParaDirigir() {
  print("Digite sua idade");
  int idade = int.parse(stdin.readLineSync()!);

  if (idade >= 18) {
    print("Você está apto a dirigir");
  } else {
    print("Você ainda não pode dirigir");
  }
}

///////////////////////////////////////

void mesDoAno() {
  print(
    "Digite um número de 1 a 12 para saber qual é o mês do ano correspondente",
  );
  int mes = int.parse(stdin.readLineSync()!);
  String texto = "$mes é mês de";

  void jan() {
    print("$texto janeiro, mês de recomeços e boas promessas.");
  }

  void fev() {
    print("$texto fevereiro, mês de samba no pé e de carnaval!");
  }

  void mar() {
    print("$texto março, mês do aniversário da cidade!");
  }

  void abr() {
    print("$texto abril, mês do dia da pessoa indígena.");
  }

  void mai() {
    print("$texto maio, mês das mães!");
  }

  void jun() {
    print("$texto junho, mês de festa junina!");
  }

  void jul() {
    print("$texto julho, mês de férias escolares.");
  }

  void ago() {
    print("$texto agosto, o famoso mês interminável");
  }

  void set() {
    print("$texto setembro, mês de festividades nacionais.");
  }

  void out() {
    print("$texto outubro, mês de feriados e semana do saco cheio.");
  }

  void nov() {
    print("$texto novembro, mês que celebra o dia da consciência negra.");
  }

  void dez() {
    print("$texto dezembro, mês de alegria por um ano que se finda!");
  }

  switch (mes) {
    case 1:
      jan();

    case 2:
      fev();

    case 3:
      mar();

    case 4:
      abr();

    case 5:
      mai();

    case 6:
      jun();

    case 7:
      jul();

    case 8:
      ago();

    case 9:
      set();

    case 10:
      out();

    case 11:
      nov();

    case 12:
      dez();
  }
}

/////////////////////////////////////////

double saldo = 1000.0; // Saldo inicial em reais

void transferenciaPix() {
  print('Boas-vindas ao seu banco digital!');
  print('Seu saldo atual é de: R\$${saldo.toStringAsFixed(2)}');

  print('Digite o valor do Pix que deseja realizar:');
  double valorPix = double.parse(stdin.readLineSync()!);

  if (valorPix > saldo) {
    print(
      "Seu saldo é insuficiente para esta transferência. Saldo atual: $saldo",
    );
    return;
  } else {
    print("Sua transferência foi realizada. Seu novo saldo é:");
  }

  print(saldo - valorPix);
}

//////////////////////////////////////

void main() {
  print("Digite sua idade");
  int idade = int.parse(stdin.readLineSync()!);

  print("Você mora no Brasil, EUA ou Japão?");
  String pais = stdin.readLineSync()!;

  String normalizar(String texto) {
    const comAcento = 'áàâãäéèêëíìîïóòôõöúùûüçÁÀÂÃÄÉÈÊËÍÌÎÏÓÒÔÕÖÚÙÛÜÇ';
    const semAcento = 'aaaaaeeeeiiiiooooouuuucAAAAAEEEEIIIIOOOOOUUUUC';

    for (int i = 0; i < comAcento.length; i++) {
      texto = texto.replaceAll(comAcento[i], semAcento[i]);
    }

    return texto.toLowerCase();
  }

  String paisCorrigido = normalizar(pais);

  if (paisCorrigido == "brasil") {
    if (idade >= 18) {
      print("Você pode dirigir");
    } else {
      print("Você não pode dirigir");
    }
  } else if (paisCorrigido == "eua") {
    if (idade >= 16) {
      print("Você pode dirigir");
    } else {
      print("Você não pode dirigir");
    }
  } else if (paisCorrigido == "japao") {
    if (idade >= 20) {
      print("Você pode dirigir");
    } else {
      print("Você não pode dirigir");
    }
  } else {
    print("País não reconhecido.");
  }
}
1 resposta

Olá, Youssef, tudo certo?

Seu exercício está bem elaborado e atende às propostas dos desafios. Seu código está organizado, e você aplicou corretamente o uso de funções, condicionais e manipulação de entrada do usuário.

Continue praticando e compartilhando suas soluções por aqui. O fórum está à disposição caso precise de auxílio.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!