
















Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
ATIVIDADE PRÁTICA 01 Escreva um algoritmo em linguagem C que atenda os seguintes requisitos: ✓ Os campos de um registro devem armazenar o Nome, dia de aniversário e mês de aniversário. ✓ Solicite ao usuário que digite 12 registros. ✓ Os registros devem ser armazenados em um vetor. ✓ Através do ponteiro para o vetor de registro mostre em cada um dos meses do ano quem são as pessoas que fazem aniversário. Para demonstrar o funcionamento faça as capturas de tela do terminal utilizando seu n
Tipologia: Exercícios
1 / 24
Esta página não é visível na pré-visualização
Não perca as partes importantes!

















Atividade Pratica 01 Escreva um algoritmo em linguagem C que atenda os seguintes requisitos: [✓] Os campos de um registro devem armazenar o Nome, dia de aniversário e mês de aniversá- rio. [✓] Solicite ao usuário que digite 12 registros. [✓] Os registros devem ser armazenados em um vetor. [✓] Através do ponteiro para o vetor de registro mostre em cada um dos me- ses do ano quem são as pessoas que fazem aniversário. / /--------- Cabeçalho ---------/ #include <stdio.h> // Biblioteca padrão C #include <stdlib.h> // Biblioteca para alocação de memoria, controle de processos, conversão, etc. #include <string.h> // Biblioteca de manipulação de Strings #define maximo_registros 12 // Definição do numero maximo de clientes /--------- Amarzenamento dos Dados Coletados ---------*/ struct lista_registros // Estrutura de Armazenamento dos dados do Cliente { char nome[ 50 ]; char sobrenome[ 50 ]; int mes; int dia; };
system("cls"); // cls = clear (limpeza do menu) printf("LISTA DE CLIENTES S/ ORDENAR\n"); // Cabeçalho for (i = 0 ; i < maximo_registros; i++) // For Looping para atribuição dos valores das varia- veis para a struct { strcpy(registros[i].nome, nomes[i]); // Atribuição variavel para struct strcpy(registros[i].sobrenome, sobrenomes[i]); // Atribuição variavel para struct registros[i].mes = meses[i]; // Atribuição variavel para struct registros[i].dia = dias[i]; // Atribuição variavel para struct printf("Cliente %s %s, data do aniversario %d-%d\n", registros[i].nome, registros[i].sobrenome, re- gistros[i].dia, registros[i].mes); // Apresentação dos dados sem ordenação } printf("\n\n"); // Espaçamento das informações qsort(registros, maximo_registros, sizeof(struct lista_registros), compararMes); // chamando a fun- ção qsort (ordenação) por mes printf("LISTA DE CLIENTES ORDENAR POR MES\n"); // Cabeçalho for (i = 0 ; i < maximo_registros; i++) // For Looping para apresentar dados ordenados por mes { if (registros[i].mes == 1 ) { printf("\nJaneiro\n"); // Cabeçalho printf("Cliente %s %s, data do aniversario %d-%d\n", registros[i].nome, registros[i].sobre- nome, registros[i].dia, registros[i].mes); // Apresentação dos dados ordenados } if (registros[i].mes == 2 ) { printf("\nFevereiro\n"); // Cabeçalho printf("Cliente %s %s, data do aniversario %d-%d\n", registros[i].nome, registros[i].sobre- nome, registros[i].dia, registros[i].mes); // Apresentação dos dados ordenados } if (registros[i].mes == 3 ) { printf("\nMarco\n"); // Cabeçalho printf("Cliente %s %s, data do aniversario %d-%d\n", registros[i].nome, registros[i].sobre- nome, registros[i].dia, registros[i].mes); // Apresentação dos dados ordenados } if (registros[i].mes == 4 ) { printf("\nAbril\n"); // Cabeçalho printf("Cliente %s %s, data do aniversario %d-%d\n", registros[i].nome, registros[i].sobre- nome, registros[i].dia, registros[i].mes); // Apresentação dos dados ordenados } if (registros[i].mes == 5 ) { printf("\nMaio\n"); // Cabeçalho printf("Cliente %s %s, data do aniversario %d-%d\n", registros[i].nome, registros[i].sobre- nome, registros[i].dia, registros[i].mes); // Apresentação dos dados ordenados } if (registros[i].mes == 6 ) { printf("\nJunho\n"); // Cabeçalho
printf("Cliente %s %s, data do aniversario %d-%d\n", registros[i].nome, registros[i].sobre- nome, registros[i].dia, registros[i].mes); // Apresentação dos dados ordenados }if (registros[i].mes == 7 ) { printf("\nJulho\n"); // Cabeçalho printf("Cliente %s %s, data do aniversario %d-%d\n", registros[i].nome, registros[i].sobre- nome, registros[i].dia, registros[i].mes); // Apresentação dos dados ordenados }if (registros[i].mes == 8 ) { printf("\nAgosto\n"); // Cabeçalho printf("Cliente %s %s, data do aniversario %d-%d\n", registros[i].nome, registros[i].sobre- nome, registros[i].dia, registros[i].mes); // Apresentação dos dados ordenados }if (registros[i].mes == 9 ) { printf("\nSetembro\n"); // Cabeçalho printf("Cliente %s %s, data do aniversario %d-%d\n", registros[i].nome, registros[i].sobre- nome, registros[i].dia, registros[i].mes); // Apresentação dos dados ordenados }if (registros[i].mes == 10 ) { printf("\nOutubro\n"); // Cabeçalho printf("Cliente %s %s, data do aniversario %d-%d\n", registros[i].nome, registros[i].sobre- nome, registros[i].dia, registros[i].mes); // Apresentação dos dados ordenados }if (registros[i].mes == 11 ) { printf("\nNovembro\n"); // Cabeçalho printf("Cliente %s %s, data do aniversario %d-%d\n", registros[i].nome, registros[i].sobre- nome, registros[i].dia, registros[i].mes); // Apresentação dos dados ordenados }if (registros[i].mes == 12 ) { printf("\nDezembro\n"); // Cabeçalho printf("Cliente %s %s, data do aniversario %d-%d\n", registros[i].nome, registros[i].sobre- nome, registros[i].dia, registros[i].mes); // Apresentação dos dados ordenados } } printf("\n\n"); // Espaçamento das informações qsort(registros, maximo_registros, sizeof(struct lista_registros), compararNome); // chamando a fun- ção qsort (ordenação) por nome printf("LISTA DE CLIENTES ORDENAR POR NOME\n"); // Cabeçalho for (i = 0 ; i < maximo_registros; i++) // For Looping para apresentar dados ordenados por nome { printf("Cliente %s %s, data do aniversario %d-%d\n", registros[i].nome, registros[i].sobrenome, re- gistros[i].dia, registros[i].mes); // Apresentação dos dados ordenados } return( 0 ); // Final da função main }
Atividade Pratica 02 Faça um programa onde o usuário digita 3 informações a respeito de uma pessoa: Nome, ende- reço e telefone. Concatene essas três informações em uma única string e faça uma contagem de quantas le- tras do alfabeto estão presentes nesta string (considerando as redundâncias) e de dígitos numéri- cos. Os espaços e os caracteres de pontuação devem ser ignorados (as funções de contagem já fa- zem isso). Requisitos: [✓] Usuário digita 3 informações a respeito de uma pessoa: Nome, endereço e telefone. [✓] Concatene essas três informações em uma única string e faça uma contagem de quan- tas letras do alfabeto estão presentes nesta stringe de dígitos numéricos [✓] Os espaços e os caracteres de pontuação devem ser ignorados (as funções de conta- gem já fazem isso). / /--------- Cabeçalho ---------/ #include <stdio.h> // Biblioteca padrão C #include <stdlib.h> // Biblioteca para alocação de memoria, controle de processos, conversão, etc. #include <string.h> // Biblioteca de manipulação de Strings #include <locale.h> // Biblioteca de caracteres Brasileiro #define maximo_registros 12 /--------- Main ---------*/ int main(void) { setlocale(LC_ALL,"Portuguese"); // Caracteres brasileiro char nome[ 50 ]; // Variavel para armazenamento dos inputs em formato de caracteres (string) char endereco[ 50 ]; // Variavel para armazenamento dos inputs em formato de caracteres (string) char tel[ 50 ]; // Variavel para armazenamento dos inputs em formato de caracteres (string) int telII[ 15 ]; // Variavel para armazenamento dos inputs em formato numerico (Não funciona)
return largura * comprimento; // Retornar a multiplicação dos// Estrutura de Armazenamento dos da- dos do Clienteparametros } /--------- Amarzenamento dos Dados Coletados ---------/ struct // Estrutura de Armazenamento dos dados do Cliente { int tipoDeComodo; int potencia; float largura, comprimento, tamanho; } comodo; /--------- Funções Antes da Main ---------/ float lampada(); // Chamando a Função Menu float calcular(); // Chamando a Função Menu /--------- Main ---------/ int main () { setlocale(LC_ALL,"Portuguese"); // Caracteres brasileiro lampada(); // Chamando a função menu return 0 ; } /--------- Funções Depois da Main ---------/ float lampada() // Função Menu { float quantidade; // variavel float int op; // variavel para sair do menu de opções do // Estrutura de repetição para navegar e sair das opação do menu { system("cls"); // cls = clear (limpeza do menu) printf("CALCULO DO NUMERO DE LAMPADAS 60 WATTS POR COMODO\n\n"); // Cabeçalho printf("\n Tipo 0 - 12 Watts/m^2"); // Opação do menu printf("\n Tipo 1 - 15 Watts/m^2"); // Opação do menu printf("\n Tipo 2 - 18 Watts/m^2"); // Opação do menu printf("\n Tipo 3 - 20 Watts/m^2"); // Opação do menu printf("\n Tipo 4 - 22 Watts/m^2"); // Opação do menu printf("\n 10 - Sair\n"); // Opação do menu scanf("%d", &op); // Captura de dados no formato int getchar(); // Limpar a memoria ou buffer antes das sub-funções switch (op) // Definição das opções do menu para o usuario { case 0 :
comodo.potencia = 12 ; // Definição da potencia na função calcular(); break; case 1 : comodo.potencia = 15 ; // Definição da potencia na função calcular(); break; case 2 : comodo.potencia = 18 ; // Definição da potencia na função calcular(); break; case 3 : comodo.potencia = 20 ; // Definição da potencia na função calcular(); break; case 4 : comodo.potencia = 22 ; // Definição da potencia na função calcular(); break; case 10 : printf("Ate Logo!\nPressione qualquer tecla para fechar o programa"); // Mensagem de Adeus break; default: printf("Opcao Invalida!\nPressione qualquer tecla para voltar ao menu"); // Mensa- gem de Erro break; } getchar(); // Limpar a memoria ou buffer antes das sub-funções } while(op!= 10 ); // Sair do looping se a opção for = 10 } float calcular() // função calcular { int op; // variavel para sair do menu de opções float nlampadas; // variavel para armazenar quantidades de lampadas do // Estrutura de repetição para navegar e sair das opação do menu { printf("\n\nDigite a largura do comodo:"); // Orientação ao Usuario scanf("%f", &comodo.largura); // Captura de dados no formato float printf("\n\nDigite o comprimento do comodo:"); // Orientação ao Usuario scanf("%f", &comodo.comprimento); // Captura de dados no formato float nlampadas = ((comodo.potencia * CalculaArea(comodo.largura, comodo.comprimento)) / 60 ); // Equa- ção dos valores chamando a função prototipo printf("\n\n Pela metragem de seu comodo voce ira precisar de %.2f lampadas\n\n", nlampa- das); // Apresentação dos valores getchar(); // Limpar a memoria ou buffer antes das sub-funções op = 0 ; // Sair do looping se a opção for = 0 } while(op!= 0 );// Sair do looping se a opção for = 0 }
Atividade Pratica 04 Escreva em linguagem C um algoritmo que: [✓] Solicite ao usuário que digite o seu RU; [✓] Armazene cada dígito do RU em uma posição de um vetor, por exemplo: Vetor RU 1º Digito Ult. Digito Posição do vetor RU 0 1 2 3 4 5 6 [✓] Utilizando uma função recursiva mostre o qual o valor do menor dígito inserido no ve- tor. [✓] Utilizando outra função recursiva mostre o qual o valor do maior dígito inse- rido no vetor Para demonstrar o funcionamento utilize o seu RU como entrada para o algoritmo. / /--------- Cabeçalho ---------*/ #include <stdio.h> // Biblioteca padrão C #include <stdlib.h> // Biblioteca para alocação de memoria, controle de processos, conversão, etc. #include <conio.h>
#include <locale.h> // Biblioteca de caracteres Brasileiro #define max 7 //definindo uma constante #define min 0 //definindo uma constante /--------- Variaveis ---------/ int j=- 1 ; // Variavel e atribuição do valor - int k= 10 ; // Variavel e atribuição do valor 10 int maiorRecursiva= 0 ; // Variavel e atribuição do valor 0 int menorRecursiva= 9 ; // Variavel e atribuição do valor 9 /--------- Funções ---------/ void exibirMaior (int vetor[]); // Função Recursiva antes do main void exibirMenor (int vetorII[]); // Função Recursiva antes do main /--------- main ---------/ main() { int RU[max]; // max = 6 (#define) int i; // i para o for loop int maior; // maior valor int menor; // menor valor // Preenchimento dos dados for (i= 0 ; i<max; i++) // For Looping para inclusão dos digitos { printf("Digite o %d digito do seu RU:", i+ 1 ); // Orientação ao Usuario scanf("%i", &RU[i]); // Captura de dados no formato int } /* ------- Função Recursiva ------- */ // Encontrar o maior valor exibirMaior (RU); // chamando a função exibirMenor (RU); // chamando a função printf("\nMostrar o RU: "); // Mostrar o valor na variavel RU for (i= 0 ; i<max; i++) // For Looping para obter todos os valores do array { printf("%i", RU[i]); // Mostrar o valor dentro do array } printf("\nMaior valor funcao recursiva %d", maiorRecursiva); // Mostrar o valor da função recur- siva printf("\nMenor valor funcao recursiva %d", menorRecursiva); // Mostrar o valor da função recur- siva
Atividade Pratica 05 Crie um programa, em linguagem C, que receba 6 registros contendo, Nome do Produto, Có- digo do produto (numérico), valor do produto. Solicite que sejam digitados todos os dados de to- dos os registros e ao final salve-os em um arquivo.csv, utilize o ; (ponto e vírgula) para separa- dor e campo. O nome do arquivo deve ser o seu número de RU. [✓] 6 registros contendo, Nome do Produto, Código do produto (numérico), valor do produto [✓] Solicite que sejam digitados todos os dados de todos os registros e ao final salve- os em um arquivo.csv [✓] utilize o ; (ponto e vírgula) para separador e campo. [✓] O nome do arquivo deve ser o seu número de RU. / /--------- Cabeçalho ---------/ #include <stdio.h> // Biblioteca padrão C #include <stdlib.h> // Biblioteca para alocação de memoria, controle de processos, conversão, etc. #include <string.h> // Biblioteca de manipulação de Strings #include <locale.h> // Biblioteca de caracteres Brasileiro #define maximo_registros 6 // Definição do numero maximo de clientes /--------- Main ---------/ int main() { /--------- Amarzenamento dos Dados Coletados ---------*/ struct ficha_de_produto // Estrutura de Armazenamento dos dados do Produto { char nome_produto[ 50 ]; char codigo_produto[ 10 ]; char preco_produto[ 10 ]; }; FILE *arquivo; // Manipulação de arquivos char *nome = "3435766.csv"; // Variavel nome e atribuição
struct ficha_de_produto registros[maximo_registros]; int op; // variavel para sair do menu de opções do // Estrutura de repetição para navegar e sair das opação do menu { system("cls"); // cls = clear (limpeza do menu) printf("BEM VINDO AO SISTEMA DE CADASTRO DE PRODUTO\n\n"); // Cabeçalho printf("\n 1 - Cadastrar Produto"); // Opação do menu printf("\n 2 - Lista de Produtos"); // Opação do menu printf("\n 3 - Salvar o arquivo"); // Opação do menu printf("\n 0 - Sair\n"); // Opação do menu scanf("%d", &op); // Captura de dados no formato int getchar(); // Limpar a memoria ou buffer antes das sub-funções switch (op) // Definição das opções do menu para o usuario { case 1 : // Sub-opção do Menu for (int i= 0 ; i < maximo_registros; ++i) // For Looping para checar possivel repiti- ção de nome, codigo e preco { system("cls"); // cls = clear (limpeza do menu) printf("CADASTRO DO PRODUTO\n"); // Cabeçalho printf("Digite o Nome do Produto:"); // Orientação ao Usuario scanf("%s", registros[i].nome_produto); // Captura de dados no formato string printf("Digite o Codigo do Produto:"); // Orientação ao Usuario scanf("%s", registros[i].codigo_produto); // Captura de dados no formato string printf("Digite o Preco do Produto:"); // Orientação ao Usuario scanf("%s", registros[i].preco_produto); // Captura de dados no formato string system("pause"); // Pausa do for looping } break; case 2 : // Sub-opção do Menu system("cls"); // cls = clear (limpeza do menu) printf("LISTA DE CLIENTES\n"); // Cabeçalho for (int i = 0 ; i < maximo_registros; i++) { printf("Produtos: %d\n", i+ 1 ); // Retorno do numero de clientes (contador) printf("Nome do Produto: %s\n", registros[i].nome_produto); // Retorno dos da- dos armazenados do usuario na struct printf("Codigo do Produto: %s\n", registros[i].codigo_produto); // Re- torno dos dados armazenados do usuario na struct printf("Preco do Produto: %s\n", registros[i].preco_produto); // Re- torno dos dados armazenados do usuario na struct printf("--------------\n"); } printf("\nEnter - Continuar\n"); // Orientação ao Usuario printf("\n0 - Sair\n"); // Orientação ao Usuario