Prévia do material em texto
CENTRO UNIVERSITÁRIO INTERNACIONAL UNINTER
ESCOLA SUPERIOR POLITÉCNICA
ANÁLISE E DESENVOLVIMENTO DE SISTEMAS
LINGUAGEM DE PROGRAMAÇÃO
ATIVIDADE PRÁTICA
ALUNO: EDUARDO DI NIZO NOGUEIRA BRITTO – RU: 3521591
PROFESSOR: WINSTON SEM LUN FUNG
SALVADOR –BA
2021
Mauro
Lápis
Mauro
Lápis
Exercício – 01:
Escreva um algoritmo em linguagem C que atenda os seguintes requisitos:
✓ Crie um registro para armazenar o Nome de um funcionário e o seu salário.
✓ Solicite ao usuário que digite o Nome Completo e o salário.
✓ Crie um ponteiro para o registro.
✓ Através do ponteiro para o registro verifique a alíquota do imposto de renda para o
salário informado, utilize a tabela abaixo para determinar a alíquota:
Base de cálculo Alíquota
0,00 até 1903,98 isento
1.903,99 até 2826,65 7,50%
2826,65 até 3.751,05 15,00%
3.751,05 até 4.664,68 22,50%
A partir de 4.664,68 27,50%
✓ Através do ponteiro para o registro imprima o Nome Completo, o salário, a alíquota
do imposto de renda (em %) e o valor a ser deduzido do salário.
Para demonstrar o funcionamento faça as capturas de tela do terminal utilizando seu
nome completo e o no campo salário utilize se RU conforme indicado abaixo:
Salário R$ [1] [2] [3] [4] [5] , [6] [7]
Primeiro dígito , último dígito
Código Exercício - 01:
#include
#include
typedef struct//Struct criada para armazenar as variaveis que receberao s
alario e nome completo do funcionario
{
float salario;
char nome[50];
} funcionario;//Atribuindo o apelido "funcionario" a struct
int main ()
{
funcionario registro;//A struct atenderá pela variavel "registro"
funcionario *ponteiro = ®istro;//Ponteiro aponta para o endereço da
struct
printf("Digite seu nome: ");
fflush(stdin);
fgets(registro.nome, 50, stdin);//Coletando os caracteres de nome do fu
ncionario e enviando para a variavel "nome" dentro da struct
printf("Digite seu salario: R$");
scanf("%f", ®istro.salario);//Coleteando o salario do funcionario e
enviando para a variavel "salario" dentro da struct
//Através do ponteiro as informações de nome e salario digitadas pelo u
suario serão mostradas na tela
printf("\nNOME: %s", (*ponteiro).nome);
printf("SALARIO: R$%.2f", (*ponteiro).salario);
/*As condicionais verificarão através do ponteiro o salário que foi dig
itado pelo usuario e através desta informação,
retornarão a aliquota e a dedução de acordo com este salário*/
if ((*ponteiro).salario
#include
int main ()
{
int ru[7];//O vetor "ru", irá armazenar os dados do tipo "int" do RU
int contador; // variavel que será usada como contador no primeiro laço
"for"
int contador2;// variavel que será usada como contador do segundo laço
"for"
for (contador = 0; contador
#include
void calc_soma(int *mat_A, int *mat_B, int *mat_C);//A função se torna gl
obal
int main()
{
//"matriz1" receberá as posições da primeira matriz e "matriz2" da segu
nda. "contador" será usado nos laços como contador
int matriz1[16], matriz2[16], contador = 0;
int soma[16], v = 1;//Vetor que permanecerá vazio até a chamada da funç
ão, onde receberá a soma dos vetores 1 e 2
printf("----------PRIMERIA MATRIZ----------\n");
for (contador; contadoruma função recursiva para o cálculo multiplicação. Sabe-se que
o cálculo pode ser feito através de somas sucessivas
Para demonstrar o funcionamento utilize o primeiro digito do seu RU como base e o
último digito como expoente.
Código Exercício – 04:
#include
#include
int funcao(int b, int v);//Declarando a função com escopo global
int main ()
{
int base, expoente;//variaveis que armazenarão os números de base e e
xpoente respectivamente
printf("Digite a base: ");
scanf("%d", &base);//armazenando o número escolhido pelo usuario como
base na variável "base"
printf("Digite o expoente: ");
scanf("%d", &expoente);//armazenando o número escolhido pelo usuario
como expoente na variável "expoente"
int valor = base * expoente;//variavel que retorna o valor de base x
expoente
funcao(base, valor);//passando as variaveis "base" e "valor" para a f
unção
system("pause");
return 0;
}
/*A função recebe as variaveis. Caso a variavel b(base) seja menor que o
resultado da multiplicação(valor), a função fará uma chamada para ela mes
ma
acrescentando +1 no valor de b(base) até que ele possua o mesmo valor de
"v", onde por fim o resultado será mostrado na tela */
int funcao(int b, int v)
{
if (b
#include
typedef struct//Struct criada para armazenar as variaveis que receberao n
ome, cpf, telefone e email
{
char nome[20];
char cpf[20];
char telefone[20];
char email[20];
} dados;//Atribuindo o apelido "dados" a struct
int main()
{
FILE *arq = fopen("3521591.csv","w");//Criando o arquivo com os númer
os do meu RU. Ele atenderá pelo nome de "arq"
dados registro;// A struct atenderá pelo nome "Registro"
if (arq == NULL)//Testando se a abertura do arquivo teve exito
{
printf("Erro na abertura\n");
system("pause");
exit(1);
}
//Aqui serão digitados todos os dados pelo usuário e posteriormente s
erão armazenados em suas respectivas variáveis na struct
Mauro
Lápis
Mauro
Lápis
printf("Digite seu nome: ");
scanf("%s", ®istro.nome);
printf("Digite seu CPF: ");
scanf("%s", ®istro.cpf);
printf("Digite seu Telefone: ");
scanf("%s", ®istro.telefone);
printf("Digite seu E-MAIL: ");
scanf("%s", ®istro.email);
//Printando dentro do terminal os dados digitados pelo usuário
printf("\n-------DADOS DO CADASTRO-------\n");
printf("Nome: %s\nCPF: %s\nTelefone: %s\n E-
mail %s\n", registro.nome, registro.cpf, registro.telefone, registro.emai
l);
//Escrevendo os dados digitados pelo usuário dentro do arquivo.csv. (
;) Sendo usado para separador de campo
fprintf(arq, "Nome: %s; CPF: %s; Telefone: %s; E-
mail: %s; ", registro.nome, registro.cpf, registro.telefone, registro.ema
il);
fclose(arq);//Fechamento de arquivo
system("pause");
return 0;
}
Funcionamento Exercício – 05:
Arquivo:
Mauro
Lápis
Mauro
Lápis
Mauro
Lápis
Mauro
Lápis
Mauro
Lápis
Mauro
Lápis