int main(void)
{
int i;
PlanoDeSaude planos[] = {{"Amil", 0},{"SulAmerica", 0},{"Unimed", 0},
{
"GoldenC", 0}};
Paciente pacientes[] = {{"Ana",50,"Amil"},{"Paulo",55,"Amil"},
{
{
{
{
"Abdala",30,"PlanoX"},{"Beatrice",51,"SulAmerica"},
"Braz",18,"GoldenC"},{"Fred",75,"Unimed"},
"Cid",80,"SulAmerica"},{"Maria",30,"SulAmerica"},
"Ada",15,"Unimed"},{"Carlos",70,"Unimed"}};
if (processaCadastroDosPlanos(planos, 4, pacientes, 10) == 0)
printf("Atencao: Existem pacientes com planos desconhecidos!\n\n");
printf("Total de pacientes por plano:\n");
for (i = 0; i < 4; i++)
{
printf("%s - Total: %d\n", planos[i].nomeDoPlano,
planos[i].numDePacientes);
}
return 0;
}
3
. Considere uma aplicação que gera senhas para os usuários do sistema de computação de
uma empresa. O cadastro dos usuários usa uma estrutura identificada pelo nome
Usuario. A estrutura é composta por três cadeias de caracteres: o nome do usuário (que
não ultrapassa 30 caracteres), a data de nascimento do usuário no formato dd/mm/aaaa
(e.g. 27/05/1982), e o nome da mãe do usuário (que não ultrapassa 30 caracteres).
Usuario
Nome
Nascimento
NomeMae
Escreva um programa completo (com includes, structs, funções e a main), em um único
arquivo .c, que implementa e testa as seguintes funções:
geraSenha que gera uma nova senha com a seguinte lei de formação: os 8
primeiros caracteres correspondem à data de nascimento na ordem ano, mês e
dia, os caracteres seguintes correspondem às iniciais do nome do candidato e
após um *, vem o primeiro nome da mãe do candidato. Esta função recebe o
ponteiro para um específico usuário e retorna a sua nova senha em um novo
espaço alocado (do tamanho exato necessário). Por exemplo, para o usuário {“Rui
Abreu de Lima”,”27/05/1982”,”Clara Soares”}, é
9820527RAdL*Clara. Se não houver espaço de memória suficiente, esta função
deve retornar NULL.
a
nova senha
1