1
resposta

[Projeto] Exercício Hotel

import 'package:dart_application_1/cliente.dart';

void main() {
  final Cliente augusto = Cliente('Augusto Meireles', []);

  augusto.reservarQuarto(2);
  augusto.reservarQuarto(6);
  augusto.reservarQuarto(6);

}
class Cliente {
  String nome;
  List<int> _quartosReservados;

  Cliente(this.nome, this._quartosReservados);

  bool isQuartoReservado(int quarto) {
    if (_quartosReservados.isEmpty) {
      return false;
    }

    for (var i = 0; i < _quartosReservados.length; i++) {
      if (quarto == _quartosReservados[i]) {
        return true;
      }
    }

    return false;
  }

  void mostrarReservas() {
    print(_quartosReservados.length);
  }

  void mostrarQuartos() {
    print(_quartosReservados);
  }

  void reservarQuarto(int quarto) {
    if (isQuartoReservado(quarto)) {
      print('O quarto de número "$quarto" quarto já está reservado');
      return;
    }
    _quartosReservados.add(quarto);
    print('Quarto $quarto reservado com sucesso');
  }

  void cancelarReserva(int quarto) {
    if (!isQuartoReservado(quarto)) {
      print('O quarto $quarto não está reservado');
      return;
    }

    _quartosReservados.remove(quarto);
    print('Reserva do quarto $quarto cancelada com sucesso');
  }
}
class Quarto {
  int numQuarto;

  Quarto(
    this.numQuarto
  );

}

Achei estranho privar o número de reservas, assim não foi possível dar um print no main com o número de reservas que o cliente tem nem os números dos quratos.

1 resposta

Outra dúvida, como eu poderia adicionar a lista as reservas sem usar o .add e como eu poderia remover da lista a reserva sem o .remove?