Buscar

ATIVIDADE Pratica_Linguagem programação

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 14 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 14 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 14 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 
 
 
 
 
 
 
 
 
xxxxxxxxxxxxxxx– RU: 99999 
PROF.: WINSTON SEN LUN FUNG 
 
 
 
 
 
 
 
 
 
 
ESTÂNCIA VELHA – RS 
2021 
 
 
 
 
 
1 EXERCÍCIO 1 
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 nome completo e o seu dia e mês de aniversário em um dos registros de entrada 
solicitado. 
Solução do aluno: 
#include<stdio.h> 
#include<stdlib.h> 
 struct aniversario // declaração da struct 
aniversario. 
{ 
 char 
nome[20]; int 
dia; int mes; 
 int* p; 
 }; 
int main()// programa principal 
{ struct aniversario aniv[12], * search; //struct aniversario possui o membro aniv de 
12 posições e declaração do ponteiro search. search = aniv; //ponteiro search aponta 
para conteudo de aniv. char c; 
 int i; 
 printf("\n===========================================================\n"); 
 printf("\n=================CADASTRO DE ANIVERSARIANTES===============\n"); 
 printf("\n===========================================================\n"); 
 for (i = 0; i <= 12; 
i++) 
 { 
 printf("Digite o [ NOME ]..:"); 
 fgets(aniv[i].nome, 19, stdin); 
 printf("Digite o [ MES ]..:"); scanf_s("%i", 
&aniv[i].mes); 
 while ((c = getchar()) != '\n' && c != EOF) {} 
 printf("Digite o [ DIA ]..:"); 
 scanf_s("%i", &aniv[i].dia); while ((c = 
getchar()) != '\n' && c != EOF) {} 
 printf("\n\n"); 
 } 
 for (i = 0; i <= 12; i++) 
 { 
 { 
 if ((search + i)->mes == 1)//JANEIRO 
 
 { 
printf("Quem nasceu em [JANEIRO]foi..: %s Dia..:%d \n", aniv[i].nome, aniv[i].dia); 
printf("\n=========================================================\n"); 
 } 
 
1 
 if ((search + i)->mes == 2)//FEVEREIRO 
 { 
 printf("Quem nasceu em [MARCO]foi..: %s Dia..:%d \n", aniv[i].nome, 
aniv[i].dia); 
printf("\n==========================================================\n"); 
 } 
 
 if ((search + i)->mes == 4)//ABRIL 
 { 
 printf("Quem nasceu em [ABRIL]foi...: %s Dia..:%d \n", aniv[i].nome, 
aniv[i].dia); 
printf("\n===========================================================\n"); 
 } 
 
 if ((search + i)->mes == 5)//MAIO 
 { 
printf("Quem nasceu em [MAIO]foi...: %s Dia..:%d \n", aniv[i].nome, aniv[i].dia); 
printf("\=====================================================================\n"); 
 } 
 
 if ((search + i)->mes == 6)//JUNHO 
 { 
printf("Quem nasceu em [JUNHO]foi..: %s Dia..:%d \n", aniv[i].nome, aniv[i].dia); 
printf("\n=====================================================================\n"); 
 } 
 
 if ((search + i)->mes == 7)//JULHO 
 { 
printf("Quem nasceu em [JULHO]foi..: %s Dia..:%d \n", aniv[i].nome, aniv[i].dia); 
printf("\n=====================================================================\n"); 
 } 
 
 if ((search + i)->mes == 8)//AGOSTO 
 { 
printf("Quem nasceu em [AGOSTO]foi..: %s Dia..:%d \n", aniv[i].nome, aniv[i].dia); 
printf("\n=====================================================================\n"); 
 } 
 
 if ((search + i)->mes == 9)//SETEMBRO 
 { 
printf("Quem nasceu em [SETEMBRO]foi..: %s Dia..:%d \n", aniv[i].nome, aniv[i].dia); 
printf("\n=====================================================================\n"); 
 } 
 
 if ((search + i)->mes == 10)//OUTUBRO 
 { 
printf("Quem nasceu em [OUTUBRO]foi..: %s Dia..:%d \n", aniv[i].nome, aniv[i].dia); 
printf("\n=====================================================================\n"); 
 } 
 
 if ((search + i)->mes == 11)//NOVEMBRO 
 { 
printf("Quem nasceu em [NOVEMBRO]foi..: %s Dia..:%d \n", aniv[i].nome, aniv[i].dia); 
printf("\n=====================================================================\n"); 
 } 
 
 if ((search + i)->mes == 12) 
 { 
printf("Quem nasceu em [DEZEMBRO]foi..: %s Dia..:%d \n", aniv[i].nome, aniv[i].dia); 
printf("\n=====================================================================\n"); 
 } 
 
 } 
 
 return 0; 
} 
 
Imagem do código funcionando no seu computador: 
 
 
 
2 EXERCÍCIO 2 
Faça um programa onde o 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 quantas letras do alfabeto estão presentes nesta string (considerando as 
redundâncias) e de dígitos numéricos. Os espaços e os caracteres de pontuação devem ser 
ignorados (as funções de contagem já fazem isso). 
 
#include <stdio.h> 
#include <stdlib.h> 
#include <string.h>//necessário para strlen 
#include <conio.h> 
#include <ctype.h> // necessário para isalpha e isdigit TESTES DE TIPOS DE CARACTERES: 
CTYPE.H 
 
char destino[100]; 
char nome[50]; char 
endereco[50]; char 
telef[11]; 
int c; int i; int 
contanumero = 0; int 
contaletras = 0; 
 int main() { 
 printf("\n===========================================================\n"); 
 printf("\n=================CADASTRO CONCATENACAO=====================\n"); 
 printf("\n===========================================================\n"); 
 
 
 
 printf("Digite o nome...:"); 
 fgets(nome, 49, stdin); 
 
 printf("Digite o endereco...:"); 
 fgets(endereco, 49, stdin); 
 
 printf("Digite o telefone...:"); 
 fgets(telef, 10, stdin); 
 
 //printf("Tamanho da STRING e: %d",strlen(nome)-1); 
 printf("\n\n"); 
 
 printf("=======================================\n"); 
 printf("\n Nome.....:%s\n", &nome); printf("\n 
Endereco :%s\n", &endereco); 
 printf("\n Telefone :%s\n", &telef); 
 
 strcat_s(nome,endereco); // contatenando nome + endereço 
 //printf("a união dos 2 e : %s", nome); ////teste impressão das 2 strings. 
 strcpy_s(destino, nome); //função strcpy() copia a sequência de caracteres na 
origem para o array destino strcat_s(destino,telef); //strcat() copia a 
sequência de caracteres na origem para o final da string destino. 
 //printf("a união dos 3 e : %s", destino); //teste impressão das 3 strings. 
 
 int numero = strlen(destino); //strlen: comprimento da string 
 
 for (i = 0; i < numero; i++) 
 { 
 //if (((destino[i] >= 'a') && (destino[i] <= 'z'))||((destino[i] >= 'A') && 
(destino[i] <= 'Z'))) 
 
 if (isalpha(destino[i])) //verifica se o caractere ´e alfabético 
 contaletras = contaletras + 1; 
 
 //if ((destino[i] >= '0') && (destino[i] <= '9')) 
 if (isdigit(destino[i])) //verifica se o caractere é um dígito decimal 
contanumero = contanumero + 1; 
 } 
 printf("\n==============RESULTADO====================="); 
 //printf("\n========================================\n"); printf("\n 
Quantidade de letras do alfabeto = %d\n", contaletras); 
 printf("\n==========================================\n"); printf("\n 
Quantidade de digitos numericos = %d\n", contanumero); 
 printf("\n==========================================\n"); 
 
 return 0; 
 
 
} 
Imagem do código funcionando no seu computador: 
 
 
 
3 EXERCÍCIO 3 
Faça um programa C para calcular o número de lâmpadas 60 watts necessárias para 
um determinado cômodo. O programa deverá ler um conjunto de informações, tais como: tipo, 
largura e comprimento do cômodo. O programa termina quando o tipo de cômodo for igual -1. 
A tabela abaixo mostra, para cada tipo de cômodo, a quantidade de wattspor metro quadrado . 
Use uma estrutura struct para agrupar logicamente as informações de um comodo (int tipo de 
comodo, float largura e float comprimento). Usar uma função com o protótipo: void 
CalulaArea(float *área, float *comprimento, float *largura); para calcular a área do cômodo. 
Os atributos de entrada serão a largura e comprimento do cômodo. Usar uma função com o 
protótipo: float Lampada(int, tipo, float area); para calcular a quantidade de lâmpadas 
necessárias para o cômodo. Os atributos de entrada serão o tipo de cômodo e a metragem (em 
m2) do cômodo. Ao final mostrar para o usuário a quantidade de lâmpadas em valores inteiros 
arredondado para cima. Para demonstrar o funcionamento utilize como comprimento do 
cômodo os dois primeiros dígitos do seu RU e para largura os dois últimos dígitos do seu RU. 
 
#include<stdio.h> 
#include<stdlib.h> 
#include<string.h> 
 
struct comodo 
{ 
 int tipo; 
 float* area; 
 float largura; 
 float comprimento; 
 }; 
void CalculaArea(float* área, float* comprimento, float* largura); // protótipo da 
função 
float Lampada(int tipo, float area); 
 int 
main() 
{ 
 //int lampadas; 
 int c; 
 int tipo; 
 float area, comprimento, largura; 
 //float *CalculaArea; 
 
 printf("Digite o tipo de COMODO..:"); 
 scanf_s("%d", &tipo); 
 //fgets(&tipo, 9, stdin); 
 
 printf("Digite a LARGURA..:"); 
 scanf_s("%f",&largura); 
 while ((c = getchar()) != '\n' && c != EOF) {} 
 
 printf("Digite o COMPRIMENTO..:"); 
 scanf_s("%f", &comprimento); while ((c = 
getchar()) != '\n' && c != EOF) {} 
 printf("\n\n"); 
 
 //solicitar valores 
 //CalculaArea(&area, &comprimento, &largura); 
 //lampadas = lampada(tipo, area); 
 
 
} void CalculaArea(float* area, float* comprimento, float* largura) 
//funçao { 
 *area = *comprimento * *largura; 
} float lampada(int tipo, float 
area) 
{ 
 if (tipo == 0) 
 { 
 area / 12; 
 } 
 
 if (tipo == 1) 
 { 
 
 area / 15; 
 } 
 
 if (tipo == 2) 
 
 { 
 area / 18; 
 } 
 
 if (tipo == 3) 
 { 
 area / 20; 
 } 
 
 if (tipo == 4) 
 { 
 area / 22; 
 } 
 
// if com os tipos e depois divide a area informada pela potencia em wats da tabela 
 printf("\n\n"); 
 printf("\n#################################\n"); 
 
 return 0; 
} 
 
 
Imagem do código funcionando no seu computador: 
 
# Não consegui evoluir neste código. 
 
 
 
 
 
 
 
 
 
 
 
 
4 EXERCÍCIO 4 
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 Primeiro 
dígito Último dígito 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 vetor. Utilizando outra função recursiva mostre o 
qual o valor do maior dígito inserido no vetor Para demonstrar o funcionamento utilize o seu 
RU como entrada para o algoritmo. 
 
#include<stdio.h> 
#include<stdlib.h> 
#include<string.h> 
#include<conio.h> 
 int j = -
1; int k = 
-1; int 
maior; int 
menor; int 
conta; int 
contax; 
 void exibirMaior(int vet[]); // declara função ecursiva do tipo 
void. void exibirMenor(int vetx[]);// declara função ecursiva do tipo 
void. 
 int main() { 
 printf("\n===========================================================\n"); 
 printf("\n===============VETOR DE RU (RECURSIVA)=====================\n"); 
 printf("\n===========================================================\n"); 
 int vetor[7], count; // um vetor de 7 posições e um contador do tipo 
inteiro. 
 for (count = 0; count < 7; count++) // laço para receber os 7 vetores. 
 { 
 printf("Digite o seu RU..:"); // solicita informação 
 scanf_s("%d", &vetor[count]); // armazena no vetor 
 } 
 //for (count = 0; count < 7; count++) // laço feito para mostrar o que foi 
digitado 
 //{ 
 // printf("posicao..:%d\n", count); // mostra posição 
 // printf("vetor..:%d\n", vetor[count]); // mostra valor contido 
 //} 
 printf("\n\n"); 
 
 exibirMaior(vetor); // chamada da recursiva 
 exibirMenor(vetor); // chamada da recursiva 
 
 system("pause"); 
 return 0; 
} void exibirMaior(int vet[]) // executa função ( maior 
) { 
 j++; 
 if (j < 7) 
 { 
 maior = vet[0]; 
 for (conta = 0; conta < 7; conta++) 
 if (vet[conta] > maior) 
 { 
 maior = vet[conta]; 
 } 
 } 
 printf("O MAIOR numero do RU .: [%d]\n", maior); 
 printf("\n"); 
} 
void exibirMenor(int vetx[]) // executa função ( menor ) 
{ 
 k++; 
 if (k < 7) 
 { 
 menor = vetx[0]; 
 for (contax = 0; contax < 7; contax++) 
 if (vetx[contax] < menor) 
 { 
 menor = vetx[contax]; 
 } 
 } 
 printf("O MENOR numero do RU .: [%d]\n", menor); 
 printf("\n"); 
 
} 
 
Imagem do código funcionando no seu computador: 
 
 
5 EXERCÍCIO 5 
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 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. 
 
#include<stdio.h> 
#include<stdlib.h> 
#include<string.h> 
#include<conio.h> 
 
struct cadprodutos 
{ char 
nome[30]; int 
codigo; float 
preco; int* p; 
 }; 
struct cadprodutos cad[6]; 
 
int main() 
{ 
printf("\n=====================================================================\n"); 
printf("\n================CADASTRO DE PRODUTOS=================================\n"); 
printf("\n=====================================================================\n"); 
 char 
c; int 
i; 
 for (i = 0; i < 6; i++) 
 { 
 printf("Digite o [ NOME DO PRODUTO ]..:"); 
fgets(cad[i].nome, 29, stdin); 
 cad[i].nome[strlen(cad[i].nome) - 1] = '\0'; // solução encontrada na internet 
para evitar o pula linha na hora do printf 
 printf("Digite o [ CODIGO DO PRODUTO 
]..:"); scanf_s("%i", &cad[i].codigo); 
 while ((c = getchar()) != '\n' && c != EOF) {} 
 printf("Digite o [ PRECO DO PRODUTO 
]..:"); scanf_s("%f", &cad[i].preco); 
 while ((c = getchar()) != '\n' && c != EOF) {} 
 
printf("\n"); 
 } 
 
 FILE* stream; 
 
 errno_t err; 
 
 // Open for read (will fail if file "crt_fopen_s.c" doesn't exist) 
err = fopen_s(&stream, "3619559.csv", "w"); if (err == 0) 
 { 
 printf("The file '3619559.csv' foi aberto\n"); 
 printf("\nnome_produto; codigo_produto; preco_produto\n"); 
} 
 else 
{ 
 printf("The file '3619559.csv' Nao pode ser aberto\n"); 
 } 
 // leia os 6 registros 
for (i = 0; i < 6; i++) 
 { printf("%s; %4d; %4.2f\n",cad[i].nome, cad[i].codigo, 
cad[i].preco); fprintf(stream, "%s ; %4d ; %4.2f\n" ,cad[i].nome, 
cad[i].codigo, cad[i].preco); } 
 fclose(stream); 
 
printf("\n=====================================================================\n"); 
system("pause"); 
 
printf("\n=====================================================================\n"); 
return 0; 
} 
 
Imagem do código funcionando no seu computador:

Outros materiais