Exercícios I (Structs)
Contato
- Jean Paulo Martins (jeanmartins utfpr edu br)
- Sala 105, Bloco S (UTFPR - Campus Pato Branco)
Exercícios
Preparação
- Definir as constantes: MAX_NOME_SIZE, NUM_PESSOAS
#define MAX_NOME_SIZE 20 #define NUM_PESSOAS 5163
- Definir o tipo de dado Pessoa
typedef struct { int idade; long cpf; char nome[MAX_NOME_SIZE]; }
- Declarar um vetor de Pessoas na função main
int main(){ Pessoa lista[NUM_PESSOAS]; ... // completar durante a resolução dos exercícios. }
-
Implementar a leitura dos dados do arquivo (cada linha uma posição do vetor)
-
Implementar uma função que compute a média de idade das pessoas
-
Implementar uma função que compute o desvio padrão das idades
-
Implementar uma função que imprima todos as pessoas do vetor
- Implementar uma função que imprima o nome de todas as pessoas de uma certa idade
- A idade deve ser recebida como parâmetro davoid print_por_idade(Pessoas p[], int idade);
- Implementar uma função que retorne a Pessoa de maior idade.
Pessoa mais_velho(Pessoas p[]);
-
Implementar uma função que imprima todas as pessoas de idade par.
- Implementar uma função que verifique se existe pessoas com CPF repetido
// retorna 1 caso exista, // retorna 0 caso não exista int existe_cpf_repetido(Pessoas p[]);
- Implementar uma função que receba um vetor de inteiros, de tamanho 100 (freq) e o vetor de pessoas.
void contar_por_idade(Pessoa p[], int freq[]);
Esta função deve armazenar no vetor de inteiros o número de pessoas que possuem a mesma idade.
freq[0]; // número de pessoas de idade 0 freq[60]; // número de pessoas de idade 60
Imprimir o vetor freq e redirecionar saída para um arquivo freq.txt
./contar > freq.txt
- Utilizar os dados do arquivo freq.txt para gerar um gráfico de barras: utilizer o excel, libreoffice-calc, R, python, etc.. ou qualquer programa de sua escolha