Você está na página 1de 15

CENTRO UNIVERSITÁRIO INTERNACIONAL UNINTER

ESCOLA SUPERIOR POLITÉCNICA


BACHARELADO/TECNÓLOGO EM AUTOMAÇÃO INDUSTRIAL
DISCIPLINA DE LINGUAGEM DE PROGRAMAÇÃO

ATIVIDADE PRÁTICA

IVONEI MIQUELINO BAIÃO– RU: 3960990


VINICIUS POZZOBON BORIN
WINSTON SEM LUN FUNG

TOLEDO– PARANÁ
2022
PRÁTICA 01
ESCREVA UM ALGORITMO EM LINGUAGEM C QUE ATENDA OS SEGUINTES RE-
QUISITOS:
✓ OS CAMPOS DE UM REGISTRO DEVEM ARMAZENAR O NOME, DIA E MÊS DE
ANIVERSÁRIO.
✓ SOLICITE AO USUÁRIO QUE DIGITE 08 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 ANIVER-
SÁRIO EM UM DOS REGISTROS DE ENTRADA SOLICITADO.
#include <stdio.h>
#include<stdlib.h>

struct DADOS { // função para entrada de dados


char nome[60]; // entrada do nome do funcionário com 59 caracteres
int dia; // entrada para referencia do dia de nascimento
int mes; // entrada para referencia do mês de nascimento
};

int main() {
struct DADOS func[8], * pont; // define o máximo de entrada de funcionario
da lista
int i, cont;
char c; // para não dar bug de teclado

for (i = 0; i < 8; i++) {


printf("\nInforme seu nome :"); //solicitação de nome para
cadastro na funçao de dados
gets_s(func[i].nome, 59);

printf(" \nInsira o dia que voce nasceu:"); //solicitação de dia


para cadastro na função de dados
scanf_s("%d", &func[i].dia);
c = getchar();

printf(" \nInsira o mes que voce nasceu:"); //solicitação do mês


para cadastro na função de dados
scanf_s("%d", &func[i].mes);
c = getchar();

}
pont = &func[0]; // função para cadastro e
impressão dos aniversarios de cada mes
for (i = 1; i < 13; i++) {
printf("\n\nAniversario mes %i", i); // demostra o mês
for (cont = 0; cont < 8; cont++) {
if (pont[cont].mes == i) {
printf("\n%s", pont[cont].nome); // demostra o nome do
funcionário dentro do mês de aniversario

}
}
}
return 0;
}

Imagem do código funcionando:


PRÁTICA 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 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).

EXEMPLO:

PARA DEMONSTRAR O FUNCIONAMENTO UTILIZE SEU NOME COMPLETO, SEU


RU COMO TELEFONE E O NO ENDEREÇO O NOME DA SUA CIDADE.
#include<stdlib.h>
#include<stdio.h>
#include<ctype.h>
#include<string.h>

int main() {
char nome[50]; //define quantidade de caracteres no nome
char endereco[50]; //define quantidade de caracteres no endereço
int telefone;
char tel_char[12]; //define quantidade de caracteres no numero de
telefone

char info[150];

int letra = 0, num = 0, cont; // entrada para iniciar a contagem das


letras e numeros

printf("\n\npor favor digite seu nome:"); // entrada do nome


gets_s(nome, 59);

printf("\n\npor favor digite seu endereco:"); //entrada do endereco


gets_s(endereco, 59);

printf("\n\npor favor digite seu telefone:"); //entrada do telefone


scanf_s("%i", &telefone);

_itoa_s(telefone, tel_char, 10); //converte o numero do telefone em carac-


teres

strcpy_s(info, 150,nome); //variavel para copiar entrada do nome


strcat_s(info,150, endereco); // variavel para armazenar endereço
strcat_s(info,150,tel_char); //varialvel para armazenar telefone

printf("\n\n retorno do info %s\n\n", info);

for (cont = 0; info[cont] != '\0'; cont++) { //codigo para fazer a contagem


de letras e numero
if (isalpha(info[cont]))
letra++;
if (isdigit(info[cont]))
num++;
}

printf("\n\nfoi inserido %d letras e \n %d numeros", letra, num); //im-


pressão da quantidade de letras e nuumeros

return 0;
}
Imagem do código funcionando:

PRÁTICA 03

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 COMPRI-
MENTO 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 WATTS POR METRO QUADRADO.
USE UMA ESTRUTURA STRUCT PARA AGRUPAR LOGICAMENTE AS INFORMA-
ÇÕES DE UM CÔMODO (INT TIPO DE COMODO, FLOAT LARGURA E FLOAT COM-
PRIMENTO). USAR UMA FUNÇÃO COM O PROTÓTIPO: VOID CALULA AREA
(FLOAT *ÁREA, FLOAT *COMPRIMENTO, FLOAT *LARGURA); PARA CALCULAR
A ÁREA DO CÔMODO. OS ATRIBUTOS DE ENTRADA SERÃO A LARGURA E COM-
PRIMENTO DO CÔMODO. USAR UMA FUNÇÃO COM O PROTÓTIPO: FLOAT LAM-
PADA (INT, TIPO, FLOAT AREA); PARA CALCULAR A QUANTIDADE DE LÂMPA-
DAS 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 AR-
REDONDADO 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 <math.h>

void calculaarea(float *area, float *comprimento, float *largura);

float lampada(int tipo, float area);

struct comodo { // comando de armazenamento das funções


int tipo; // armazena o tipo do comando
float largura; // armazena a informação da largura do comodo
float comprimento; //armazena a informação do comprimento do
comodo
};

int main() {
struct comodo dados;
float area; //variavel para realizar calculo da area
float lampadas; //variavel para quantidade de lampada
char c; //para evitar bug de teclado

while (1) { //laço para repetição

printf("\n insira o tipo de comodo [0 -> 4], para sair insira -1:");
// solicitação do tipo de comodo
scanf_s("%d", &dados.tipo); //con-
versão para dados do tipo do comodo
c = getchar(); //travamento
do bug de teclado

if (dados.tipo < 0) { //usuario


digitar numero menor que zero para o programa
break;
}

else if (dados.tipo > 4) { //usuario


inserir numero maior que 4, programa ira solicitar novo loop
printf("\ninsira o tipo de comodo entre 0 e 4 \n:");
printf("\npressione qualquer tecla para tentar novamente\n:");
getchar();
continue;
}
printf("\n insira a largura do comodo: "); //
solicitação da largura do comodo
scanf_s("%f", &dados.largura); //con-
versão para dados da largura do comodo
c = getchar(); //travamento
do bug de teclado

printf("\n insira o comprimento do comodo:"); //


solicitação do comprimento do comodo
scanf_s("%f", &dados.comprimento); //con-
versão para dados do comprimento do comodo
c = getchar(); //travamento
do bug de teclado

calculaarea(&area, &dados.comprimento, &dados.largura);


//comando que realiza o envio para calculo da area

printf("\n o comodo tem area total %f.", area); //re-


torno da area total do comodo
getchar();

lampadas = lampada (dados.tipo, area); //comando para armazenar


função

printf("\nsera utilizado no comodo tipo %d, necessario instalar %f


lampadas de 60 Watss", dados.tipo, lampadas);

c = getchar ();

return 0;
}

void calculaarea(float* area, float* comprimento, float* largura) { //comando


para intentar calculo da area
*area = *comprimento * *largura; //comando
que realiza o calculo da area
return;
}

float lampada(int tipo, float area) {


float lampadas, potencia; //variavel de armazenamento das
lampadas e potencia

if (tipo == 0)
potencia = 12.0;
else if (tipo == 1)
potencia = 15.0;
else if (tipo == 2)
potencia = 18.0;
else if (tipo == 3)
potencia = 20.0;
else if (tipo == 4)
potencia = 22.0;

lampadas = ceil(area * potencia/ 60); //realiza o calculo da quantidade


de lampadas por comodo

return lampadas;
}
Imagem do código funcionando:

PRÁTICA 04

Escreva em linguagem C um algoritmo que: ✓ Solicite ao usuário que digite o seu RU; ✓ Ar-
mazene cada dígito do RU em uma posição de um vetor, por exemplo:

✓ 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 <stdlib.h>
#include <stdio.h>

1
int maior_n(int vet[], int tam, int indice); // função para receber o vetor do
numero para determinar o maior numero do RU digitado

int menor_n(int vet[], int tam, int indice); // função para receber o vetor do
numero para determinar o menor numero do RU digitado

int main() { // entrada para solicitação de dados de repetição


int RU[7]; // entrada para limitação de RU com até 7 digitos
int cont, maior, menor;

for (cont = 0; cont < 7; cont++) {


printf("\ndigite o %d digito do seu RU:", cont + 1); //solicitação
para usuario digitar o seu RU
scanf_s("%d", &RU[cont]); //variavel
para contagem do indice do RU
}
maior = maior_n(RU, 7, 0);
menor = menor_n(RU, 7, 0);

printf("\n O maior digito do RU e: %d", maior); // demosntra o maior


numero do RU
printf("\n O menor digito do RU e: %d", menor); // demostra o menor
numero do RU

return 0;
}

int maior_n(int vet[], int tam, int indice) { //função para buscar
maior digito do RU
if (tam == 0)
return vet[indice];
else {
if (vet[tam - 1] > vet[indice])
return maior_n(vet, tam - 1, tam - 1);
else
return maior_n(vet, tam - 1, indice);
}

int menor_n(int vet[], int tam, int indice) { //função para buscar
menor digito do RU
if (tam == 0)
return vet[indice];
else {
if (vet[tam - 1] < vet[indice])
return menor_n(vet, tam - 1, tam - 1);
else
return menor_n(vet, tam - 1, indice);
}
Imagem do código funcionando:

PRÁTICA 05

Crie um programa, em linguagem C, que receba 7 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ír-
gula) para separador e campo. O nome do arquivo deve ser o seu número de RU.
Exemplo:

#include<stdlib.h>
#include<stdio.h>

struct prod {
char nome[30]; // para entrada de nome do produto com até 30 caracteres
int codigo; // para entrada do codigo do produto
float valor; // para entrada do valor do produto
};

FILE* strean; // varialvel para arquivo

int main() {
int cont; // para realizar a contagem
char c; //para detectar bug de teclado
errno_t err;

struct prod produtos[7]; // determina a quantidade de produto para ca-


dastro

for (cont = 0; cont < 7; cont++) { // para determinar a contagem da en-


trada de produto de 0 a 6

printf("\n entra com o %d registro do produto,", cont + 1);

printf("\n insira o nome do produto:"); //solicita nome do pro-


duto ao usuario
gets_s(produtos[cont].nome, 29);

printf("\n insira o codigo do produto:"); //solicita codido do


produto ao usuario
scanf_s("%d", &produtos[cont].codigo);
c = getchar();

printf("\n insira o valor do produto:"); //solicita valor do


produto ao usuario
scanf_s("%f", &produtos[cont].valor);
c = getchar();

printf("\n\n\n");

err = fopen_s( & strean, "3960990csv", "w");


if (err == 0) {
printf("\n arquivo aberto com sucesso\n"); // função que avisa usu-
ario que arquivo foi aberto
}
else {
printf("\n arquivo apresentou erro ao tentar abrir. saindo\n");
//função para avisar usuario que arquivo esta em erro
exit(1);
}

fprintf(strean, " nome_produto;codigo_produto;preço_produto\n");

for (cont = 0; cont < 7; cont++) {


fprintf(strean, "%s; %d;%.2f\n", produtos[cont].nome, produ-
tos[cont].codigo, produtos[cont].valor);
}
_fcloseall(); //função para limpar arquivo

printf("\nos registros foram gravado no arquivo 3960990 csv"); // reposta


do registro gravados no arquivo
return 0;
}
Imagem do código funcionando:

Você também pode gostar