Não consigo implementar a validação de idade para determinar o saque, me apresenta o erro descrito e aponta o erro na linha 21 da classe Conta.
using System;
namespace aluraap2
{
class MainClass
{
public static void Main(string[] args)
{
Cliente joao = new Cliente();
Cliente maria = new Cliente();
Conta cjoao = new Conta();
Conta cmaria = new Conta();
joao.id = 1;
joao.nome = "João da Silva";
joao.rg = "12345678-9";
joao.endereco = "Rua Caxias n 102";
joao.idade = 20;
joao.ehMaior();
maria.id = 2;
maria.nome = "Maria Oliveira";
maria.rg = "98765432-1";
maria.endereco = "Estrada 90";
cjoao.numero = 1;
cjoao.saldo = 500.0;
cjoao.titular = joao.nome;
cmaria.numero = 2;
cmaria.saldo = 500.0;
cmaria.titular = maria.nome;
cjoao.Saca(300.0);
Console.WriteLine("Saldo:" + cjoao.saldo);
}
}
}
Classe Cliente
using System;
namespace aluraap2
{
public class Cliente
{
public int id;
public string nome;
public int idade;
public string rg;
public string endereco;
public bool ehMaior()
{
return this.idade >= 18;
}
}
}
Classe Conta
using System;
namespace aluraap2
{
public class Conta
{
public int numero;
public string titular;
public double saldo;
public Cliente cliente;
public void Saca(double valorSacado){
if(valorSacado <= this.saldo && valorSacado > 0){
if (this.cliente.ehMaior()){ <------ LINHA 21
this.saldo -= valorSacado;
}else{
valorSacado = 200.0;
this.saldo -= valorSacado;
}
}
}
public void Deposito(double valorDeposito){
if (valorDeposito < this.saldo && valorDeposito> 0)
this.saldo += valorDeposito;
}
public void Transfere(double vlrT , Conta destino){
if (vlrT < this.saldo && vlrT > 0){
this.Saca(vlrT);
destino.Deposito(vlrT);
}
}
}
}