Buscar

ATIVIDADE PRATICA - Eduardo Moraes 2021 nota 100

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 10 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 10 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 10 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

CENTRO UNIVERSITÁRIO INTERNACIONAL UNINTER 
ESCOLA SUPERIOR POLITÉCNICA 
BACHARELADO EM ENGENHARIA ELÉTRICA 
DISCIPLINA DE LINGUAGEM DE PROGRAMAÇÃO 
 
 
 
 
 
 
 
ATIVIDADE PRÁTICA 
 
 
 
 
 
 
 
 
EDUARDO MORAES– RU: 3346946 
PROF. VINICIUS POZZOBON BORIN 
 
 
 
 
 
 
 
 
 
 
BAGÉ - RS 
2021 
 
 
 
1 
 
1- Escreva um algoritmo em linguagem C que atenda os seguintes requisitos: 
✓ Crie um registro para armazenar o seu Nome Completo e o seu RU. 
✓ Solicite ao usuário que digite o seu RU e o seu Nome Completo. 
✓ Crie um ponteiro para o registro. 
✓ Através do ponteiro para o registro verifique se o RU digitado é um número par ou ímpar e 
informe a resposta na tela. 
✓ Através do ponteiro para o registro imprima o Nome Completo informado de traz para frente, 
invertido. Por exemplo: 
Pedro Alvares Cabral -> larbaC seravlA ordeP 
//Seção das bibliotecas 
#include <stdio.h> 
#include <locale.h> 
 
//criação da Struct Registro a onde irá receber o nome e ru 
typedef struct { 
 
 char nomeCompletoAluno[200]; 
 int ruAluno; 
 
 
}ALUNO; 
 
ALUNO a; 
 
//função main principal 
int main(){ 
 
 ALUNO* aluno = &a; 
 int tamanho = 0, aux; 
 
 setlocale(LC_ALL, "Portuguese");//Função para os caracteres ficarem em português 
 
 printf("\n\tInforme nome completo: ");//recebe o nome 
 gets(aluno->nomeCompletoAluno); 
 fflush(stdin); 
 
 printf("\n\tInforme o RU: ");//recebe RU 
 scanf_s("%d", &aluno->ruAluno); 
 
 tamanho = strlen(aluno->nomeCompletoAluno);//tamanho do nome 
 
 //verifica se Par ou Ímpar o RU 
 if (aluno->ruAluno % 2 == 0) { 
 printf("\nRU %d e número par\n", aluno->ruAluno); 
 } 
 else { 
 printf("\nRU %d e numero Impar\n", aluno->ruAluno); 
 } 
//Função igual a O imprime de traz para frente 
 for (aux = tamanho; aux >= 0; aux--) { 
 printf("%c", aluno->nomeCompletoAluno[aux]); 
 } 
 
 
 
 
 
 
 
 return 0; 
} //finaliza o programa 
Imagem do código no computador: 
 
 
2- Escreva um algoritmo em linguagem C que atenda os seguintes requisitos: 
✓ Crie um vetor com a quantidade de dígitos do seu RU. 
✓ Solicite que usuário digite o seu RU, cada digito digitado deve ser armazenado em uma 
posição do vetor. 
✓ Utilizando ponteiros verifique qual o maior e menor número contido neste vetor e imprima 
na tela. 
 
//Seção das bibliotecas necessárias para rodar o programa 
#include<stdio.h> 
#include <locale.h> 
//função principal main 
int main() 
{ 
 //Seção para os caracteres ficarem em português 
 setlocale(LC_ALL, "Portuguese"); 
 
 //O vetor e o ponteiro e as variáveis para rodar o programa 
 int adicionaRuVetor[7], aux, * ptr; 
 int maiorNumeroRu, menorNumeroRu; 
 
 //o for vai rodar para inserir os números no vetor 
 for (aux = 0; aux < 7; aux++) 
 { 
 
 
 
 
 printf("\n\tInforme um número para inserir no vetor: "); 
 scanf_s("%d", & adicionaRuVetor[aux]);//vai salvar no vetor os adicionaRuVetor 
 } 
 //vai colocar os adicionaRuVetordo vetor adicionaRuVetor ponteiro 
 ptr = adicionaRuVetor; 
 
 printf("\nVetor Preenchido com RU:\n"); 
 //vai mostrar o vetor preenchido com os números informados pelo usuário 
 for (aux = 0; aux < 7; aux++) { 
 //vai mostrar por cada posição do vetor 
 printf("\n[%d] = %d ", aux, ptr[aux]); 
 if (aux == 0) { 
 maiorNumeroRu= ptr[aux]; 
 menorNumeroRu= ptr[aux]; 
 } 
 else { 
 if (ptr[aux] > maiorNumeroRu) { 
 maiorNumeroRu= ptr[aux]; 
 } 
 if (ptr[aux] < menorNumeroRu) { 
 menorNumeroRu= ptr[aux]; 
 } 
 
 } 
 
 } 
 printf("\n\tMaior número no Vetor: %d", maiorNumeroRu); 
 printf("\n\tMenor número no Vetor: %d", menorNumeroRu); 
 return 0; 
 
} 
Imagem do código no computador: 
 
 
 
 
 
 
 
3- Faça um programa, em linguagem C, para calcular a área e o perímetro de um hexágono. O 
programa deve implementar uma função chamada calc_hexa que calcula a área e o perímetro de 
um hexágono regular de lado L. O programa deve solicitar ao usuário o lado do polígono, 
calcular e imprimir a área e o perímetro do polígono. O programa termina quando for digitado 
um valor negativo qualquer para o lado. A função deve obedecer ao seguinte protótipo: 
void calc_hexa(float l, floar *area, float *perimetro); 
Lembrando que a área e o perímetro de um hexágono regular são dados por: 
 
#include<stdio.h> 
#include<math.h> 
#include <locale.h> 
 
// função para calcular area e o perimetro 
void calc_hexa(float l, float* area, float* per) { 
 *per = 6 * l; 
 *area = (3 * pow(l, 2) * sqrt(3)) / 2; 
} 
 
int main() { 
setlocale(LC_ALL, "Portuguese");//para os caracteres ficarem em português 
 float ladoPerim, areaPerim, perimetro; 
 
 printf("\n\tDigite o lado do hexagono:"); 
 scanf_s("%f", &ladoPerim); 
 while (ladoPerim> 0) {//laço para rodar ate que seja maior que zero 
 calc_hexa(ladoPerim, &areaPerim, &perimetro); 
 printf("\na área e o perímetro do hexagono regular de lado %.2f e igual a %.2f 
\nE o perímetro %.2f", ladoPerim, areaPerim, perimetro); 
 
 printf("\n\n\tDigite o lado do hexagono:"); 
 scanf_s("%f", &ladoPerim); 
 
 } 
return 0; 
} 
 
 
 
 
 
 
 
 
4- Faça, em linguagem C, uma função recursiva para o cálculo potenciação. Sabe-se que o cálculo 
pode ser feito através de multiplicações sucessivas. Para demonstrar o funcionamento utilize o 
primeiro digito do seu RU como base e o último digito como expoente. 
#include <stdio.h> 
#include <locale.h> 
int calcularPotencia(int valorBase, int valorExpoente); 
 
int main() { 
 
setlocale(LC_ALL, "Portuguese");//para os caracteres ficarem em português 
 
 int valorBase = 3, valorExpoente = 6, resultado; 
 
 printf("\n\tInforme o número da Base: "); 
 scanf_s("%d", &valorBase);//recebe o valor da base 
 
 printf("\n\tInforme o número do expoente: "); 
 scanf_s("%d", &valorExpoente);//recebe o valor do expoente 
 
 resultado = calcularPotencia(valorBase, valorExpoente);//recebe o valor do calculo 
 
 printf("\n\tPotenciaação de %d elevado a %d = %d", valorBase, valorExpoente, resultado); 
 
 return 0; 
} 
//função recursiva para calcular a potencia 
 
 
 
 
int calcularPotencia (int valorBase, int valorExpoente){ 
 if (valorExpoente == 0) 
 return 1; 
 else 
 return (valorBase * calcularPotencia (valorBase, valorExpoente - 1)); 
} 
 
 
 
5- Crie um programa, em linguagem C, que receba 10 registros contendo, Nome, RU, telefone 
email. 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. 
 
//Declaração das bibliotecas para rodar o programa de cadastro de ALUNOS 
#define _CRT_SECURE_NO_WARNINGS 
#include <stdio.h> 
#include <stdlib.h> 
#include <time.h> 
#include <time.h> 
#include <string.h> 
#include<locale.h> 
#include <Windows.h> 
#include<ctype.h> 
//criação da Struct ALUNO a onde irá receber o cadastrar Nome , email, ru, fone 
typedef struct{ 
 
 char nomeAluno[200], emailAluno[30], foneAluno[30]; 
 int ruAluno; 
 
 
} ALUNO; 
 
 
//função principal do programa 
int main(){ 
 //as variáveis necessárias para executar o programa 
 int menuOpcao, contador = 0, i; 
 //vai criar a ALUNO 
 ALUNO ALUNO[10], * cadastroAluno, temp; 
 cadastroAluno = ALUNO;//vai criar uma estrutura 
 // salvar os dados cadastrados da ALUNO 
 FILE* arquivo = fopen("3346946.csv", "w"); 
 
 
 
 
 //para os caracteres ficarem em português 
 setlocale(LC_ALL, "Portuguese"); 
 
 //vai começar a rodar o programa e verificar qual foi a opção escolhida pelo usuário 
 do 
 { 
 printf("\n\tSISTEMA DE CADASTRO DE ALUNO\n"); 
 // menu_opcao vai receber da função do menu escolhido pelo usuário 
 menuOpcao = menu(); 
 getchar(); 
 //vai verificar qual foi a opção escolhida pelo usuário 
 switch (menuOpcao) { 
 //Opção de cadastro das ALUNOS 
 case 1: 
 if (contador <=10) 
 {//vai cadastrar até dar menor que 10 
 //vai receber os dados da ALUNO 
 printf("Cadastro de ALUNO: %d\n", contador + 1); 
 printf("Informe nome da ALUNO: "); 
 gets(cadastroAluno[contador].nomeAluno);//nomefflush(stdin); 
 
 printf("email: "); 
 gets(cadastroAluno[contador].emailAluno);//e-mail 
 fflush(stdin); 
 
 printf("fone: "); 
 gets(cadastroAluno[contador].foneAluno);//e-mail 
 fflush(stdin); 
 
 printf("RU: "); 
 scanf_s("%f", &cadastroAluno[contador].ruAluno);//preço 
 contador++; 
 printf("\n============================================\n"); 
 } 
 else 
 {//se tive mais que 10 cadastro de ALUNOS 
 printf("\n\n\tOs ALUNOS estão todos Preenchidas"); 
 } 
 break; 
 
 //opção para salvar os dados dos cadastros das ALUNOS 
 case 2://vai salvar os arquivos 
 for (i = 0; i < contador; i++){ 
//vai rodar todos os cadastros para salvas os dados 
 fprintf(arquivo, "%s;", cadastroAluno[i].nomeAluno); 
//vai salvar o nome 
 fprintf(arquivo, "%s;", cadastroAluno[i].emailAluno); 
//vai salvar o e-mail 
 fprintf(arquivo, "%s;", cadastroAluno[i].foneAluno); 
//vai salvar o fone 
 fprintf(arquivo, "%d;", cadastroAluno[i].ruAluno); 
//vai salvar o preço 
 fprintf(arquivo, "\n"); 
//vai salvar o arquivo 
 
 } 
 
 fclose(arquivo);//vai fechar 
printf("\n\tARQUIVO FOI SALVO COM SUCESSO\n"); 
 break; 
 //opção a onde vai sair do programa 
 
 
 
 
 case 0://vai sair do programa 
 printf("\n\tFinalizando o sistema de cadastro de ALUNOS\n"); 
 break; 
 //caso o usuário tenha escolhido uma opção invalida 
 default://opção invalida 
 printf("\n Opção Invalida\n"); 
 break; 
 } 
 } while (menuOpcao != 0);//vai rodar até o usuário escolha uma opção diferente de 0 
 
 
 return 0; 
} 
//criação da função menu para poder realizar a escolha das opções para controlar a ALUNO 
int menu() 
{ 
 int menu;//vai receber a opção escolhida pelo usuário 
 
 printf("\n\t1-Cadastro\n\t2-Salvar\n\t0-sair\n"); 
 scanf_s("%d", &menu); 
 
 return menu;//vai retornar a opção escolhida pelo usuário 
}

Continue navegando

Outros materiais