public static bool valida_nome(String m){
for (int indice =0; indice < m.Length; indice++){
dado = Convert.ToInt16(m[indice]);
if ((dado < 65 || dado > 90) && (dado != 32) && (dado < 192 || dado > 197) && (dado <199 || dado > 207) && (dado <209 || dado > 214) && (dado <217 || dado > 220) ){
public static void pedir_nome(out string nome){
Console.WriteLine("Introduza o nome completo");
nome=Console.ReadLine().ToUpper();
}while(valida_nome(nome)==false);
public static void pedir_NSS(out long N){
Console.WriteLine("Introduza o Nº de identificacão de Segurança Social");
}while((NSS.Length!=11)||(validarnumero(NSS)==false));
public static bool validarnumero(String m){
for (int indice =0; indice < m.Length; indice++){
dado = Convert.ToInt16(m[indice]);
if ((dado < 48 || dado > 57) ){
public static void pedir_NIF(out long N){
Console.WriteLine("Introduza o Nº de identificacão de Fiscal");
}while((NIF.Length!=9)||(validarnumero(NIF)==false));
public static bool validarnumeroNIF(String m){
for (int indice =0; indice < m.Length; indice++){
dado = Convert.ToInt16(m[indice]);
if ((dado < 48 || dado > 57) ){
public static void pedir_morada (out string morada)
Console.WriteLine("Morada:");
morada=Console.ReadLine().ToUpper();
}while(valida_morada(morada)== false);
public static bool valida_morada(String m){
for (int indice =0; indice < m.Length; indice++){
dado = Convert.ToInt16(m[indice]);
if ((dado < 65 || dado > 90) && (dado != 32) && (dado < 192 || dado > 197) && (dado!=128)&& (dado < 200 || dado > 207)&& (dado < 210 || dado > 214) && (dado < 217 || dado > 220)){
public static void pedir_codigopostal1 (out int codigopostal1)
Console.WriteLine("Digite os primeiros números do Código Postal:");
msg=Console.ReadLine().ToUpper();
codigopostal1=Convert.ToInt16(msg);
}while(codigopostal1<=0);
public static void pedir_codigopostal2 (out int codigopostal2)
Console.WriteLine("Digite os segundos números do Código Postal:");
msg=Console.ReadLine().ToUpper();
codigopostal2=Convert.ToInt16(msg);
}while(codigopostal2<=0);
public static bool valida_codigopostal1(String m){
for (int indice =0; indice < m.Length; indice++){
dado = Convert.ToInt16(m[indice]);
if ((dado < 48 || dado > 57) && (dado!=45)){
public static bool valida_codigopostal2(String m){
for (int indice =0; indice < m.Length; indice++){
dado = Convert.ToInt16(m[indice]);
if ((dado < 48 || dado > 57) && (dado!=45)){
public static void pedir_localidade (out string localidade)
Console.WriteLine("Localidade:");
localidade=Console.ReadLine().ToUpper();
}while(valida_localidade(localidade)== false);
public static bool valida_localidade(String m){
for (int indice =0; indice < m.Length; indice++){
dado = Convert.ToInt16(m[indice]);
if ((dado < 65 || dado > 90) && (dado != 32) && (dado < 192 || dado > 197) && (dado!=128)&& (dado < 200 || dado > 207)&& (dado < 210 || dado > 214) && (dado < 217 || dado > 220)){
public static void pedir_numerotelemovel (out long telemovel)
Console.WriteLine("Numero de Telemóvel:");
msg=Console.ReadLine().ToUpper();
telemovel=Convert.ToInt64(msg);
public static bool valida_telefone(String m){
for (int indice =0; indice < m.Length; indice++){
dado = Convert.ToInt32(m[indice]);
if ((dado < 48 || dado > 57)){
public static void pedir_email (out string email)
Console.WriteLine("E-mail:");
msg=Console.ReadLine().ToUpper();
email=Convert.ToString(msg);
public static bool valida_email(String m){
for (int indice =0; indice < m.Length; indice++){
dado = Convert.ToInt16(m[indice]);
if ((dado < 65 || dado > 90) && (dado != 32) && (dado < 192 || dado > 197) && (dado!=128)&& (dado < 200 || dado > 207)&& (dado < 210 || dado > 214) && (dado < 217 || dado > 220) && (dado!=64) && (dado==95) && (dado==46)){
public static void pedir_data(out int dia, out int mes, out int ano, out DateTime date6){
string msg_dia, msg_mes, msg_ano;
Console.WriteLine("Introduza o dia da data do Priodo(s) de quatizações");
msg_dia= Console.ReadLine().Trim();
Console.WriteLine("Introduza o mês da data do Priodo(s) de quatizações");
msg_mes= Console.ReadLine().Trim();
Console.WriteLine("Introduza o ano da data do Priodo(s) de quatizações");
msg_ano= Console.ReadLine().Trim();
date_string = msg_ano + "/" + msg_mes + "/" + msg_dia;
verificar = DateTime.TryParse(date_string, out date6);
}while(verificar==false);
public static void pedir_data2(out int dia, out int mes, out int ano, out DateTime date6){
string msg_dia, msg_mes, msg_ano;
Console.WriteLine("Introduza o dia da data do Priodo(s) de quatizações");
msg_dia= Console.ReadLine().Trim();
Console.WriteLine("Introduza o mês da data do Priodo(s) de quatizações");
msg_mes= Console.ReadLine().Trim();
Console.WriteLine("Introduza o ano da data do Priodo(s) de quatizações");
msg_ano= Console.ReadLine().Trim();
date_string = msg_ano + "/" + msg_mes + "/" + msg_dia;
verificar = DateTime.TryParse(date_string, out date6);
}while(verificar==false);
public static void pedir_data3(out int dia, out int mes, out int ano, out DateTime date6){
string msg_dia, msg_mes, msg_ano;
Console.WriteLine("Introduza o dia da data do Priodo(s) de quatizações");
msg_dia= Console.ReadLine().Trim();
Console.WriteLine("Introduza o mês da data do Priodo(s) de quatizações");
msg_mes= Console.ReadLine().Trim();
Console.WriteLine("Introduza o ano da data do Priodo(s) de quatizações");
msg_ano= Console.ReadLine().Trim();
date_string = msg_ano + "/" + msg_mes + "/" + msg_dia;
verificar = DateTime.TryParse(date_string, out date6);
}while(verificar==false);
public static void pedir_data4(out int dia, out int mes, out int ano, out DateTime date6){
string msg_dia, msg_mes, msg_ano;
Console.WriteLine("Introduza o dia da data do Priodo(s) de quatizações");
msg_dia= Console.ReadLine().Trim();
Console.WriteLine("Introduza o mês da data do Priodo(s) de quatizações");
msg_mes= Console.ReadLine().Trim();
Console.WriteLine("Introduza o ano da data do Priodo(s) de quatizações");
msg_ano= Console.ReadLine().Trim();
date_string = msg_ano + "/" + msg_mes + "/" + msg_dia;
verificar = DateTime.TryParse(date_string, out date6);
}while(verificar==false);
public static void pedir_rembolso(out int esolhamultipla) {
Console.WriteLine("Indique o motivo porque vem requerer o reembolso:\n1-Estar em situaçaõ de incapacidade total permanente para o trabalho\n2-Ter completado 70 anos de idade");
}while((msg.Length!=1)||(validarnumero(msg)==false));
esolhamultipla=Convert.ToInt16(msg);
public static void solicitar_alineas( out int escolhamultipla2, string mensagem, out string psestrangeira){
Console.WriteLine(mensagem);
}while((msg1[0]!='S'||msg1[0]!='N') && msg1.Length!=1);
Console.WriteLine("Se assinelou Sim, indique qual:");
psestrangeira=Console.ReadLine().ToUpper();
}while(valida_localidade(psestrangeira)== false);
else{escolhamultipla2=0;}
public static void pedir_data5(out int dia, out int mes, out int ano, out DateTime date6){
string msg_dia, msg_mes, msg_ano;
Console.WriteLine("Introduza o dia da data do Priodo(s) de quatizações");
msg_dia= Console.ReadLine().Trim();
Console.WriteLine("Introduza o mês da data do Priodo(s) de quatizações");
msg_mes= Console.ReadLine().Trim();
Console.WriteLine("Introduza o ano da data do Priodo(s) de quatizações");
msg_ano= Console.ReadLine().Trim();
date_string = msg_ano + "/" + msg_mes + "/" + msg_dia;
verificar = DateTime.TryParse(date_string, out date6);
}while(verificar==false);
public static void pedir_data6(out int dia, out int mes, out int ano, out DateTime date6){
string msg_dia, msg_mes, msg_ano;
Console.WriteLine("Introduza o dia da data do Priodo(s) de quatizações");
msg_dia= Console.ReadLine().Trim();
Console.WriteLine("Introduza o mês da data do Priodo(s) de quatizações");
msg_mes= Console.ReadLine().Trim();
Console.WriteLine("Introduza o ano da data do Priodo(s) de quatizações");
msg_ano= Console.ReadLine().Trim();
date_string = msg_ano + "/" + msg_mes + "/" + msg_dia;
verificar = DateTime.TryParse(date_string, out date6);
}while(verificar==false);
public static void pedir_data7(out int dia, out int mes, out int ano, out DateTime date6){
string msg_dia, msg_mes, msg_ano;
Console.WriteLine("Introduza o dia da data do Priodo(s) de quatizações");
msg_dia= Console.ReadLine().Trim();
Console.WriteLine("Introduza o mês da data do Priodo(s) de quatizações");
msg_mes= Console.ReadLine().Trim();
Console.WriteLine("Introduza o ano da data do Priodo(s) de quatizações");
msg_ano= Console.ReadLine().Trim();
date_string = msg_ano + "/" + msg_mes + "/" + msg_dia;
verificar = DateTime.TryParse(date_string, out date6);
}while(verificar==false);
public static void pedir_data8(out int dia, out int mes, out int ano, out DateTime date6){
string msg_dia, msg_mes, msg_ano;
Console.WriteLine("Introduza o dia da data do Priodo(s) de quatizações");
msg_dia= Console.ReadLine().Trim();
Console.WriteLine("Introduza o mês da data do Priodo(s) de quatizações");
msg_mes= Console.ReadLine().Trim();
Console.WriteLine("Introduza o ano da data do Priodo(s) de quatizações");
msg_ano= Console.ReadLine().Trim();
date_string = msg_ano + "/" + msg_mes + "/" + msg_dia;
verificar = DateTime.TryParse(date_string, out date6);
}while(verificar==false);
public static void pedir_IBAN(out long N){
Console.WriteLine("Introduza o IBAN");
}while((IBAN.Length!=25)||(validarIBAN(IBAN)==false));
public static bool validarIBAN(String m){
for (int indice =0; indice < m.Length; indice++){
dado = Convert.ToInt16(m[indice]);
if ((dado < 48 || dado > 57) ){
public static void pedir_data_de_hoje(out int dia, out int mes, out int ano, out DateTime date6){
string msg_dia, msg_mes, msg_ano;
Console.WriteLine("Introduza o dia da data de hoje");
msg_dia= Console.ReadLine().Trim();
Console.WriteLine("Introduza o mês da data de hoje");
msg_mes= Console.ReadLine().Trim();
Console.WriteLine("Introduza o ano da data de hoje");
msg_ano= Console.ReadLine().Trim();
date_string = msg_ano + "/" + msg_mes + "/" + msg_dia;
verificar = DateTime.TryParse(date_string, out date6);
}while(verificar==false);
public static void Main(){
string nome, morada, Localidade, Email, psestrangeira;
long NSS, NIF, IBAN, telemovel;
int esolhamultipla,escolhamultipla2,codigopostal1, codigopostal2;
pedir_nome(out nome); Console.WriteLine(nome);
pedir_NSS( out NSS); Console.WriteLine(NSS);
pedir_NIF(out NIF); Console.WriteLine(NIF);
pedir_morada(out morada); Console.WriteLine(morada);
pedir_codigopostal1(out codigopostal1); Console.WriteLine(codigopostal1);
pedir_codigopostal2(out codigopostal2); Console.WriteLine(codigopostal2);
pedir_localidade(out Localidade); Console.WriteLine(Localidade);
pedir_numerotelemovel(out telemovel); Console.WriteLine(telemovel);
pedir_email(out Email); Console.WriteLine(Email);
int dia1=0, mes1=0, ano1=0;
DateTime data_nascimento;
pedir_data(out dia1, out mes1, out ano1, out data_nascimento);
Console.WriteLine(data_nascimento.ToString("dd-MM-yyyy"));
Console.WriteLine(data_nascimento.ToLongDateString());
int dia2=0, mes2=0, ano2=0;
DateTime data_do_priodo_de_quotizações2;
pedir_data2(out dia2, out mes2, out ano2, out data_do_priodo_de_quotizações2);
Console.WriteLine(data_do_priodo_de_quotizações2.ToString("dd-MM-yyyy"));
int dia3=0, mes3=0, ano3=0;
DateTime data_do_priodo_de_quotizações3;
pedir_data3(out dia3, out mes3, out ano3, out data_do_priodo_de_quotizações3);
Console.WriteLine(data_do_priodo_de_quotizações3.ToString("dd-MM-yyyy"));
int dia4=0, mes4=0, ano4=0;
DateTime data_do_priodo_de_quotizações4;
pedir_data4(out dia4, out mes4, out ano4, out data_do_priodo_de_quotizações4);
Console.WriteLine(data_do_priodo_de_quotizações4.ToString("dd-MM-yyyy"));
pedir_rembolso(out esolhamultipla); Console.WriteLine(esolhamultipla.ToString());
solicitar_alineas(out escolhamultipla2,"Contrebuio pra outro sistema de proteção social (nacional ou estrangeiro)?\nS-sim;\nN-não.",out psestrangeira); Console.WriteLine(escolhamultipla2.ToString());
int dia5=0, mes5=0, ano5=0;
DateTime data_do_priodo_de_quotizações5;
pedir_data5(out dia5, out mes5, out ano5, out data_do_priodo_de_quotizações5);
Console.WriteLine(data_do_priodo_de_quotizações5.ToString("dd-MM-yyyy"));
int dia6=0, mes6=0, ano6=0;
DateTime data_do_priodo_de_quotizações6;
pedir_data6(out dia6, out mes6, out ano6, out data_do_priodo_de_quotizações6);
Console.WriteLine(data_do_priodo_de_quotizações6.ToString("dd-MM-yyyy"));
int dia7=0, mes7=0, ano7=0;
DateTime data_do_priodo_de_quotizações7;
pedir_data7(out dia7, out mes7, out ano7, out data_do_priodo_de_quotizações7);
Console.WriteLine(data_do_priodo_de_quotizações7.ToString("dd-MM-yyyy"));
int dia8=0, mes8=0, ano8=0;
DateTime data_do_priodo_de_quotizações8;
pedir_data8(out dia8, out mes8, out ano8, out data_do_priodo_de_quotizações8);
Console.WriteLine( data_do_priodo_de_quotizações8.ToString("dd-MM-yyyy"));
int diahoje=0, meshoje=0, anohoje=0;
pedir_data_de_hoje(out diahoje, out meshoje, out anohoje, out data_de_hoje);
Console.WriteLine(data_de_hoje.ToString("dd-MM-yyyy"));