Buscar

LINGUAGEM DE PROGRAMAÇÂO - TRABALHO

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 32 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 32 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 32 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 
ANÁLISE E DESENVOLVIMENTO DE SISTEMAS 
DISCIPLINA DE LINGUAGEM DE PROGRAMAÇÃO 
 
 
 
 
 
 
 
ATIVIDADE PRÁTICA 
 
 
 
 
 
 
 
 
NOME ALUNO: LUCAS BORGES DO NASCIMENTO – RU: 1234567 
NOME PROFESSOR: SANDRO DE ARAUJO 
 
 
 
 
 
 
 
 
 
 
VIAMÃO – RS 
2021 
 
Mauro
Lápis
Mauro
Lápis
 
 
1 
 
EXERCÍCIO 1 
Escreva um algoritmo em linguagem C que atenda os seguintes requisitos: 
✓ Crie um registro para armazenar o seu 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: 
 
 
 
 
 
 
 
✓ Através do ponteiro para o registro imprima o Nome Completo, o salário 
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: 
 
Solução do aluno: 
#include <stdio.h> //Biblioteca de entra e saída padrão C. 
#include <stdlib.h> //Biblioteca padrão C ela quem faz a alocação na memória e con-
trola os processos. 
#include <locale.h> //Necessário para usar setlocale. 
/*Struct É uma estrutura de dados que comporta um conjunto de variáveis do mesmo tipo 
ou de tipos diferentes.*/ 
struct Dados_Funcionario //Nome da Struct 
{ 
 char Nome[50]; //variável Nome do tipo vetor / quantidade de caracteres. 
 float Salario; //variável Salario do tipo float para número com decimais. 
 float Aliquota; //variável Aliquota do tipo float para número com decimais. 
 float Imposto; //variável Imposto do tipo float para número com decimais. 
 
}; struct Dados_Funcionario Colaborador, *Dados; 
 //Colaborador é a variável que referencia toda a struct e Dados é do ponteiro. 
 
int main()//Para o código ser executado precisamos iniciar nosso condigo com a função 
main. 
{// utilizamos chaves para dar início ao código. 
 setlocale(LC_ALL, "Portuguese");//serve para que o programa leia em português 
 
 Dados = &Colaborador; //Dados é um ponteiro que recebe o endereço Colaborador. 
 
 
 
 
 
 //O programa inicia solicitando algumas informações ao usuário. 
 printf("Digite o nome completo do funcionário: "); //irá solicitar ao usuário o 
que digite o nome do funcionário. 
 fflush(stdin); //é usado para limpar o buffer do teclado. 
 fgets(Dados->Nome, 50, stdin); //irá armazenar os dados digitados na variável 
Nome dentro da struct. 
 
 printf("Digite o salário do funcionário: ");//irá solicitar ao usuário que di-
gite o salário do funcionário. 
 scanf_s("\n%f", &Dados->Salario); //irá armazenar os dados digitados na variável 
Salário dentro da struct. 
 
 printf("\n\nNome do Funcionário: %s", Dados->Nome); //irá aparecer na tela do 
usuário o resultado que ficou armazenado na variável Nome. 
 printf("Salário do Funcionário: %.2f", Dados->Salario); //irá aparecer na tela 
do usuário o resultado que ficou armazenado na variável Salário. 
 
 //Condições If para verificar o valor da variável e encontrar a condição verda-
deira para iniciar o cálculo. 
 if (Dados->Salario >= 4664.88) { //Se o Sálario for >= a 4664.88 irá seguir essa 
condição. 
 Dados->Aliquota = 27.50; //Aliquota recebe o valor 27.50. 
 Dados->Imposto = (Dados->Salario * Dados->Aliquota) / 100; /*fará o cal-
culo do ((salário * a aliquota) / 100) e armazenará o resultado 
 do calculo dentro da váriavel imposto dentro da struct*/ 
 
 } else if (Dados->Salario >= 3751.06) { //Se o Sálario for >= a 3751.06 irá se-
guir essa condição. 
 Dados->Aliquota = 22.50; //Aliquota recebe o valor 22.50. 
 Dados->Imposto = (Dados->Salario * Dados->Aliquota) / 100; /*fará o cal-
culo do ((salário * a aliquota) / 100) e armazenará o resultado 
 do calculo dentro da váriavel imposto dentro da struct*/ 
 
 } else if (Dados->Salario >= 2826.66) { //Se o Sálario for >= a 2826.66 irá se-
guir essa condição. 
 Dados->Aliquota = 15.00; //Aliquota recebe o valor 15.00. 
 Dados->Imposto = (Dados->Salario * Dados->Aliquota) / 100; /*fará o cal-
culo do ((salário * a aliquota) / 100) e armazenará o resultado 
 do calculo dentro da váriavel imposto dentro da struct*/ 
 
 } else if (Dados->Salario >= 1903.99) { //Se o Sálario for >= a 1903.99 irá se-
guir essa condição. 
 Dados->Aliquota = 7.50; //Aliquota recebe o valor 7.50. 
 Dados->Imposto = (Dados->Salario * Dados->Aliquota) / 100; /*fará o cal-
culo do ((salário * a aliquota) / 100) e armazenará o resultado 
 do calculo dentro da váriavel imposto dentro da struct*/ 
 
 } else if (Dados->Salario < 1903.98) { //Se o Sálario for < a 1903.98 irá seguir 
essa condição. 
 Dados->Aliquota = 0.00; //Aliquota recebe o valor 0.00. 
 Dados->Imposto = 0; //Não fará o cálculo, dará o valor 0 direto para a 
variável imposto dentro da struct. 
 } //finaliza a condição IF. 
 
 printf("\nA alíquota do imposto de renda em porcentagem é: %.2f", Dados->Ali-
quota); //irá aparecer na tela do usuário o resultado que ficou armazenado na variável 
Aliquota. 
 printf("\nO valor a ser deduzido do salário é: %.2f\n\n\n", Dados->Imposto); 
//irá aparecer na tela do usuário o resultado que ficou armazenado na variável Im-
posto. 
 
 
 
 
 
 system("pause"); //Parada de tela, somente para Windows. 
 return 0; 
}//Serve para finalizar o código. 
 
Imagem do código funcionando no seu computador: 
 
 
 
EXERCÍCIO 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. Por exemplo: 
 
 
 
 
 
 
✓ Utilizando ponteiros verifique o valor da soma de todos os elementos contidos neste vetor e 
imprima na tela. 
 Para demonstrar o funcionamento faça as capturas de tela do terminal utilizando seu 
RU. 
 
 
 
Mauro
Lápis
Mauro
Lápis
Mauro
Lápis
Mauro
Lápis
 
 
 
 
Solução do aluno: 
#include <stdio.h> //Biblioteca de entra e saída padrão C. 
#include <stdlib.h> //Biblioteca padrão C ela quem faz a alocação na memória e con-
trola os processos. 
#include <locale.h> //Necessário para usar setlocale. 
 
int main() //Para o código ser executado precisamos iniciar nosso condigo com a função 
main. 
{// utilizamos chaves para dar início ao código. 
 setlocale(LC_ALL, "Portuguese"); //serve para que o programa leia em português. 
 
 //Declarando as variáveis que irei usar no código. 
 int v, c, numero[7]; //Variáveis do tipo int e um vetor para armazenar caracte-
res. 
 int soma = 0; //Variável soma recebe 0 que será usada para fazer o calculo 
 int* vetor; //Declarando a variável Ponteiro. 
 int* soma_v; //Declarando a variável Ponteiro. 
 vetor = numero; //atribuindo o endereço da variável numero ao ponteiro *vetor. 
 soma_v = &soma; //atribuindo o endereço da variável soma ao ponteiro *soma_v. 
 
 printf("Digite a sua RU: \n"); //aparecerá essa frase para o usuário ler e saber 
o que é para fazer. 
 
 //Loop para obter os valores digitados pelo usuário. 
 for (v = 0; v <= 6; v++) { 
 scanf_s("%d", &vetor[v]); //Receberá o valor que o usuário irá digitar 
para armazenar no vetor. 
 while ((c = getchar()) != '\n' && c != EOF) {} //é usado para limpar o 
buffer do teclado. 
 } //Finaliza o loop do for. 
 
 //Loop da soma dos valores do vetor. 
 for (v = 0; v <= 6; v++) { 
 soma = *soma_v + vetor[v]; //Fará a soma dos dados armazenados na variá-
vel vetor. 
 } //Finaliza o loop do for. 
 
 printf("\nA soma dos vetores é : %d\n\n", soma); //Exibição da soma dos vetores. 
 
 system("pause");//Parada de tela, somente para Windows. 
 return 0; 
}//Serve para finalizar o código. 
 
Imagem do código funcionando no seu computador: 
 
 
Mauro
Lápis
Mauro
Lápis
 
 
 
 
EXERCÍCIO 3 
Faça um programa,em linguagem C, para calcular a soma de duas matrizes 4 x 4 de nú-
meros inteiros. O programa deve implementar uma função chamada calc_soma que calcula a 
soma de duas matrizes. 
 O programa deve solicitar ao usuário que seja informado as matrizes A e B de dimensões 
4 x4, calcular e imprimir a matriz resultado C da soma das matrizes A com B. O programa 
termina quando for digitado um valor negativo. A função deve obedecer ao seguinte protótipo: 
void calc_soma(int *mat_A, int *mat_B, int *mat_C); 
Para demonstrar o funcionamento faça os print de tela. 
 
Solução do aluno: 
#include <stdio.h> //Biblioteca de entra e saída padrão C. 
#include <stdlib.h> //Biblioteca padrão C ela quem faz a alocação na memória e contro-
la os processos. 
#include <locale.h> //Necessário para usar setlocale. 
 
void calc_soma(int* mat_A, int* mat_B, int* mat_C); //declaração da função. 
 
int main() //Para o código ser executado precisamos iniciar nosso condigo com a função 
main. 
{// utilizamos chaves para dar início ao código. 
 
 setlocale(LC_ALL, "Portuguese");//serve para que o programa leia em português. 
 int matrizA[4][4], matrizB[4][4], matrizC[4][4], a, b, c, lin, col;//Variáveis 
vetores para armazenar caractéres. 
 int n = 0; //variável n recebe o valor 0. 
 printf("---------- Matriz A ----------\n\n"); //titulo da matriz A 
 //Loop para obter os valores digitados pelo usuário e armazenar na matrizA. 
 for (lin = 0; lin < 4; lin++) { 
 for (col = 0; col < 4; col++) { 
 printf("Digite a posição [%d][%d] da matrizA: ", lin, col); 
 if (n < 0) { //se n for menor que 0, ou seja, nº negativo, pare o 
programa. 
 printf("\nValor negativo informado.\n\n"); 
 exit(0); //parará de solicitar números para matriz A e en-
cerrará o programa. 
 } 
 else { //se caso não receber nenhum valor negativo faça isso. 
 scanf_s("%d", &n); //Receberá o valor que o usuário irá di-
gitar para armazenar no vetor matrizA. 
 matrizA[lin][col] = n; //Está atribuindo o valor de n a ma-
triz indicada. 
 } //Finaliza o if. 
 }//Finaliza o segundo for. 
 }//Finaliza o primeiro for. 
 printf("\n\n---------- Matriz B ----------\n\n"); //titulo da matriz A 
 //Loop para obter os valores digitados pelo usuário e armazenar na matrizB. 
 for (lin = 0; lin < 4; lin++) { 
 for (col = 0; col < 4; col++) { 
 printf("Digite a posição [%d][%d] da matrizB: ", lin, col); 
 
 
 
 
 if (n < 0) { //se n for menor que 0, ou seja, nº negativo, pare o 
programa. 
 printf("\nValor negativo informado.\n\n"); 
 exit(0); //parará de solicitar números para matriz B e en-
cerrará o programa. 
 } 
 else { 
 scanf_s("%d", &n); //Receberá o valor que o usuário- irá 
digitar para armazenar no vetor matrizA. 
 matrizB[lin][col] = n; //Está atribuindo o valor de n a ma-
triz indicada. 
 }//Finaliza o if. 
 }//Finaliza o segundo for. 
 } // Finaliza o primeiro for. 
 
 calc_soma(&matrizA, &matrizB, &matrizC); //chamando a função calc_soma para efe-
tuar a soma das matrizes. 
 
 printf("\n\n-------------- Matriz C --------------\n\n"); //titulo da matriz C 
 //Loop para imprimir os valores da soma entre a matrizA e matrizB. 
 for (lin = 0; lin < 4; lin++) { 
 for (col = 0; col < 4; col++) { 
 n = matrizC[lin][col]; //n recebe os valores armazenados na matriz 
c. 
 printf("\t%d", n); //Imprimirá o valor da soma na tela. 
 } 
 printf("\n"); 
 } 
 
 system("pause"); //Parada de tela, somente para Windows. 
 return 0; 
} 
//função para soma das matrizes. 
void calc_soma(int mat_A[4][4], int mat_B[4][4], int mat_C[4][4]) { 
 
 int lin, col, n; // variaveis do tipo inteiro 
 //Loop da soma dos valores do vetor. 
 printf("\n\n---------- Soma das Matrizes A e B ----------\n\n"); 
 for (lin = 0; lin < 4; lin++) { //a variável a é linha da matriz 
 for (col = 0; col < 4; col++) //a variável b é coluna da matriz 
 mat_C[lin][col] = mat_A[lin][col] + mat_B[lin][col]; //soma dos 
valores armazendos na matriz A e B e acrescentando na matriz C 
 } 
 printf("\n"); //pula uma linha. 
} 
 
 
 
 
 
 
Imagem do código funcionando no seu computador: 
 
 
 
Mauro
Lápis
Mauro
Lápis
Mauro
Lápis
 
 
 
 
EXERCÍCIO 4 
Faça, em linguagem C, uma 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. 
 
Solução do aluno: 
#include <stdio.h> //Biblioteca de entra e saída padrão C. 
#include <stdlib.h> //Biblioteca padrão C ela quem faz a alocação na memoria e contro-
la os processos. 
#include <locale.h> //Necessário para usar setlocale. 
 
int calculo(int a, int b) { //A é o multiplicando e o B é o multiplicador; 
 //Criei uma estrutura de decisão If para fazer o calculo recursivo. 
 
 if (a == 0 || b == 0) { //se A for = 0 ou B for = 0 retorne 0. 
 return(0); //qualquer multiplicação que seja 0 x 1 por exemplo, retornará 
0. 
 } 
 else if (b == 1) { //se B for = 1 retorne A 
 return(a); //qualquer número multiplicado por 1, por exemplo 5 x 1, re-
tornará o valor informado inicialmente. 
 } 
 else { //se caso não for 0 e nem 1 retorne essa condição. 
 return(a + calculo(b - 1, a)); //fará a soma recursiva da multiplicação. 
 }//Finalizará o if. 
} 
 
int main() //Para o codigo ser executado precisamos iniciar nosso condigo com a função 
main. 
{// utilizamos chaves para dar inicio ao codigo 
 setlocale(LC_ALL, "Portuguese");//serve para que o programa leia em português 
 
 int multiplicacao; //variavel que armazenará o resultado do calculo. 
 int a, b, resultado; //variaveis de entrada. 
 
 printf("***** TABELA DE MULTIPLICAÇÃO *****"); //Título do programa que apare-
cerá na tela do usuário. 
 
 printf("\n\nDigite um número: "); //irá solicitar ao usuário que digite um nu-
mero para o multiplicando. 
 scanf_s("%d", &a);//irá armazenar os dados digitados na variavel A. 
 
 printf("\nDigite um multiplicador; "); //irá solicitar ao usuário que digite um 
numero para o multiplicador. 
 scanf_s("%d", &b); //irá armazenar os dados digitados na variavel B. 
 
 multiplicacao = calculo(a, b); //a variavel multiplicação chama a variavel cal-
culo que armazena os valores que serão calculados para main. 
 printf("\nO calculo da multiplicação é: %d\n\n", multiplicacao); //Exibição do 
resultado do calculo na tela do usuário. 
 
 system("pause");//Parada de tela, somente para Windows. 
 return 0; 
}//Serve para finalizar o código. 
 
 
 
 
Imagem do código funcionando no seu computador: 
 
 
 
 
EXERCÍCIO 5 
Crie um programa, em linguagem C, que receba 6 registros contendo, Nome, CPF, telefone 
e e-mail. 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. 
 
Solução do aluno: 
#include <stdio.h> //Biblioteca de entra e saída padrão C. 
#include <stdlib.h> //Biblioteca padrão C ela quem faz a alocação na memoria e contro-
la os processos. 
#include <locale.h> //Necessário para usar setlocale. 
 
struct registro /* É uma estrutura de dados que comporta um 
conjunto de váriaveis do mesmo tipo ou de tipos diferentes.*/ 
{ 
 char nome[50]; //variável Nome do tipo vetor / quantidade de caracteres. 
 char CPF[20]; //variável CPF do tipo vetor / quantidade de caracteres. 
 char telefone[12]; //variável telefone do tipo vetor / quantidade de caracteres. 
 char email[40]; //variável Email do tipo vetor / quantidade de caracteres. 
}; struct registro cadastro [6]; //cadastro [6] é a variavel que referencia toda a 
struct e a quantidade registros que ficarão armazenados no mesmo; 
 
 
int main(void) //Para o código ser executado precisamos iniciar nosso condigo com a 
função main. 
{// utilizamos chaves para dar início ao código. 
 
 setlocale(LC_ALL, "Portuguese");//serve para que o programa leia em português. 
 
 FILE *p_arquivo; //variável ponteiro que indica o arquivoque ele irá abrir. 
 errno_t err; 
 int i, j; //variável de entrada do tipo inteiro. 
 
 
Mauro
Lápis
 
 
 
 
 err = fopen_s(&p_arquivo, "3295992.csv", "w"); //vai criar e abrir o arquivo 
para edição. 
 if (err == 0) { /*Condições If para verificar se arquivo foi aberto ou não, se 
caso foi aberto 
 para edição, armazene as seguintes informações den-
tro do arquivo.*/ 
 
 printf("---- Bem-vindo ao CDC (Cadastrador de Dados do Cliente) ----
");//Título do código. 
 fprintf(p_arquivo, "---- Bem-vindo ao CDC (Cadastrador de Dados do Cli-
ente) ----\n");//Título do arquivo. 
 fprintf(p_arquivo, "\nNome;CPF;Telefone;E-mail;\n"); //Título das colunas 
se for abrir em uma planilha. 
 //Loop para obter os dados digitados pelo usuário. 
 for (i = 0; i < 6; i++) { 
 for (j = 0; j < 6; j++) { //Loop para informar em qual nº o cadas-
tro se encontra. 
 printf("\n\n------ Cadastro número %d ------", j + 1); 
 printf("\nDigite o seu nome...: "); //irá solicitar ao usu-
ário o que é digite o seu nome. 
 fflush(stdin); //é usado para limpar o buffer do teclado. 
 gets_s(cadastro->nome, 49, stdin); //irá armazenar os dados 
digitados na variavel nome dentro da struct. 
 /*(cadastro.nome) CADASTRO vem primeiro, pois referencia a 
struct, e depois o NOME informando onde o dado digitado será salvo*/ 
 fprintf(p_arquivo, "%s;", cadastro->nome);//irá armazenar o 
dado dentro do arquivo '3295992.csv'. 
 
 printf("Digite o seu CPF...: ");//irá solicitar ao usuário 
o que é digite o seu CPF. 
 fflush(stdin); //é usado para limpar o buffer do teclado. 
 gets_s(cadastro->CPF, 19, stdin); //irá armazenar os dados 
digitados na variavel CPF dentro da struct. 
 fprintf(p_arquivo, "%s;", cadastro->CPF);//irá armazenar o 
dado dentro do arquivo '3295992.csv'. 
 
 printf("Digite o seu número para contato...: ");//irá soli-
citar ao usuário o que é digite o seu telefone. 
 fflush(stdin); //é usado para limpar o buffer do teclado. 
 gets_s(cadastro->telefone, 14, stdin);//irá armazenar os 
dados digitados na variavel telefone dentro da struct. 
 fprintf(p_arquivo, "%s;", cadastro->telefone);//irá armaze-
nar o dado dentro do arquivo '3295992.csv'. 
 
 
 printf("Digite o seu E-mail...: ");//irá solicitar ao usuá-
rio o que é digite o seu email. 
 fflush(stdin); //é usado para limpar o buffer do teclado. 
 gets_s(cadastro->email, 39, stdin); //irá armazenar os da-
dos digitados na variavel email dentro da struct. 
 fprintf(p_arquivo, "%s;\n", cadastro->email);//irá armaze-
nar o dado dentro do arquivo '3295992.csv'. 
 
 printf("\n---------------------------------------"); 
 i++; 
 } 
 } 
 
 } 
 else { //se caso o arquivo não abrir ele não será criado. 
 printf("\nO arquivo '3295992.csv' não foi aberto!\n"); 
 } 
Mauro
Lápis
Mauro
Lápis
Mauro
Lápis
Mauro
Lápis
Mauro
Lápis
Mauro
Lápis
 
 
 
 
 if (p_arquivo) { 
 err = fclose(p_arquivo); 
 if (err == 0) { //Caso tenha sido criado o arquivo e armazenado as infor-
mações, no final ele fechará e salvará as alterações. 
 printf("\nO arquivo '3295992.csv' foi fechado!\n"); 
 } 
 else { //informará que o arquivo não foi fechado 
 printf("\nO arquivo '3295992.csv' não foi fechado!\n"); 
 } 
 } 
 getchar(); 
 return 0; 
}//Serve para finalizar o código. 
 
Imagem do código funcionando no seu computador: 
 
Mauro
Lápis
Mauro
Lápis
Mauro
Lápis
Mauro
Lápis
Mauro
Lápis
Mauro
Lápis
Mauro
Lápis
Mauro
Lápis
Mauro
Lápis
Mauro
Lápis
Mauro
Lápis
Mauro
Lápis
Mauro
Lápis
Mauro
Lápis
Mauro
Lápis
Mauro
Lápis
 
 
 
 
 
Mauro
Lápis
Mauro
Lápis
Mauro
Lápis
Mauro
Lápis
Mauro
Lápis
Mauro
Lápis
 
 
 
 
CENTRO UNIVERSITÁRIO INTERNACIONAL UNINTER 
ESCOLA SUPERIOR POLITÉCNICA 
TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE 
SISTEMAS 
DISCIPLINA DE LINGUAGEM DE PROGRAMAÇÃO 
 
 
 
ATIVIDADE PRÁTICA 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
EXERCÍCIO 1: ESCREVA UM ALGORITMO EM LINGUAGEM C COM AS 
SEGUINTES INSTRUÇÕES: 
1. Declare três variáveis (inteiro, real e char); 
2. Declare três ponteiros; 
3. Associe as variáveis aos ponteiros; 
4. Modifique os valores de cada variável indiretamente usando os ponteiros 
associados. Para armazenar os valores nas variáveis, armazene na variável char a 
primeira letra do seu nome, na variável inteira os dois últimos dígitos do seu RU e na 
variável real os 4 últimos dígitos do seu RU, sendo os 2 últimos os valores com 
virgula; 5. Imprima na tela os valores das variáveis antes e após a modificação. 
 
#include <stdio.h> //Biblioteca 
#include <stdlib.h> 
#include <stdio.h> // Biblioteca de entra e saída padrão C 
#include <stdlib.h> // Biblioteca padrão C ela quem faz a alocação na memoria e 
controla os processos 
 
int main()// Para o codigo ser executado precisamos iniciar nosso condigo com a 
função main 
{// utilizamos chaves para dar inicio ao codigo 
 int x = 80; // int para valores inteiros o valor inteiro referente aos 
dois ultimos numeros das RU do Welington RU : 3173880 numero utilizado é o 80 
 float y = 38.80; // float para valor real com ponto, valor referente aos quatro 
ultimos numeros das RU do Welington RU :3173880 numero utilizado é o ponto 
38.80 char z = 'W'; // char para demonstrar um caractere o qual 
solicitado foi a primeira letra do Welington letra: W 
 
 int* pX = &x; // utilizando o asterisco * para identificar que é um 
ponteiro este ponteiro vai estar indicando o valor da variavel inteira x=80 e o 
endereco de memoria float* pY = &y; //utilizamos o asteriscos* para 
identificar que é um ponteiro este ponteiro vai estar indicando o valor da 
variavel com ponto (.) y=38.80 e o endereco de memoria char* pZ = &z; 
//utilizamos o asterisco* para identificar que é um ponteiro este ponteiro vai 
estar indicando o valor da variavel tipo caractere z= 
*W* e o endereco de memoria 
 printf("Endereco x = %p - valor de x = %i\n", pX, 
*pX); printf("Endereco y = %p - valor de y = %f\n", 
pY, *pY); printf("Endereco z = %p - valor de z = %c\n", 
pZ, *pZ); 
 // printf para imprimir na tela os enderecos de memoria e os valores 
referentes a cada um das variaveis . 
 system("pause"); //comando que pausa a mensagem na tela e solicita 
uma tecla para continuar return 0; // para retornar sem erro 
 
}// para finalizar o codigo. 
 
 
 
 
 
 
 
 
Imagem do código funcionando no seu computador: 
 
 
 
 
 
Exercício 2: Escreva um algoritmo em LINGUAGEM C que armazene na memória o seu 
RU e o valor 1234567, ambos digitados pelo usuário na tela. Em seguida, imprima na 
tela ambos RU usando ponteiros. O algoritmo também vai ter que comparar os dois RU 
usando ponteiros e imprimir na tela qual é o maior. 
 
 
#include <stdio.h> // Biblioteca de entra e saída padrão C 
#include <stdlib.h> // Biblioteca padrão C ela quem faz a alocação na memoria e 
controla os processos 
 void maior(int* x, int* y); //void inicial para ter o retorno do ponteiro 
maior int main()// Para o codigo ser executado precisamos iniciar nosso 
condigo com a função main 
{// utilizamos chaves para dar inicio ao codigo int 
ru, ru2, * p1, * p2; // declaracao das variaveis 
 
 printf("1 -DIGITE SEU RU, E PRECIONE A TECLA ENTER :"); // printf para 
imprimir na tela os enderecos de memoria e os valores referentes a cada um das 
variaveis. 
 scanf_s("%d", &ru); //fazendo a leitura do primeiro dado de entrada 
printf("\n"); // pulando uma linha 
 printf("2 -DIGITE O SEGUNDO RU, E PRECIONE A TECLA ENTER : "); // printf para 
imprimir na tela os enderecos de memoria e os valores referentes a cada um das 
variaveis. 
 scanf_s("%d", &ru2); //fazendo a leitura do segundo dado de entrada 
p1 = &ru; //declaração do primeiro ponteiro p2 = &ru2; 
//declaraçao do segundo ponteiro 
 
 printf(" \n SEU RU: %d", *p1); // mensagem impressa na tela comindicaçao do 
ponteiro 1 
 printf(" \n SEGUNDO RU: %d\n", *p2); // mensagem impressa na tela com 
indicaçao do ponteiro 2 
 maior(&ru, &ru2); // retorno da maior 
variavel printf("\n\n\n"); // pulando linhas 
 
 system("pause"); //comando que passa a mensagem na tela e solicita uma tecla 
para continuar 
}// para finalizar o codigo. 
 
void maior(int* x, int* y) //void inicial para ter o retorno do ponteiro maior { 
 if (*x > * y) //estara trazendo o valor maior 
 { 
 printf("\ NO RU MAIOR E : %d\n", *x); //se for maior vai me trazer o 
valor de x } else { 
 printf("\ NO RU MAIOR E : %d\n", *y); //se for maior vai me trazer o 
valor de y 
 } 
 //if_else para determinar qual vai ser a maior Ru 
 
} 
 
 
Imagem do código funcionando no seu computador: 
 
 
 
Exercício 3: Faça um algoritmo em linguagem C com as seguintes funcionalidades: 
• Receba um registro, com dois campos, como dados de entrada. 
• O primeiro campo é um vetor que vai armazenar o nome do aluno. 
• O segundo campo é uma variável do tipo inteiro que vai armazenar o RU do aluno. 
• Imprime na tela os dados armazenados na estrutura. 
 
#include <stdio.h> //Biblioteca 
#include <stdlib.h> 
typedef struct reg1 //declaracao do registro solicitado 
{ char name[100];//vetor nome quantidade de 
letras int RuAluno;//variavel RU do aluno 
}reg;//declara variavel registro int main() { 
 { 
 reg ficha;//declara variavel registro ficha 
 
nome 
printf("\nDigite seu nome: ");//solicita ao usuario que digite seu 
 scanf("%s", &ficha.name); //armazena o nome 
 printf("\nDigite o numero do Ru:"); 
 scanf("%d", &ficha.RuAluno); //informa os dados armazenados 
 printf("\n\nDados do aluno\n"); //vai imprimir a mensagem na tela 
 
digitado 
printf("\nNome do Aluno:%s", ficha.name); //imprime o nome 
 
digitado 
printf("\nNumero do Ru:%d", ficha.RuAluno); //imprime o RU 
 printf("\n\n"); 
 system("pause"); 
 return(0); 
 } 
 
Imagem do código funcionando no seu computador: 
 
 
Exercício 4: 
Replique o exercício 3. Porém, agora, declare um ponteiro para a estrutura de dados 
heterogênea. No momento da leitura dos dados e da impressão na tela, use o ponteiro 
para buscar o conteúdo dos campos. Imprima na tela também o seu RU na tela. 
 
#include <stdio.h> //Biblioteca 
#include <stdlib.h> 
typedef struct reg1 { //criação do registro char 
name[100];//vetor nome quantidade de letras int 
RuAluno; //variavel RU do aluno 
}reg; main() { reg ficha, * p; //declaração da variavel com ponteiro 
 p = &ficha; //aponta o ponteiro p para para ficha printf("\nDigite seu 
nome: ");// solicita que o usuario digite seu nome scanf("%s", &p->name); 
//armazena o nome digitado printf("\nDigite o numero do RU:"); 
 scanf("%d", &p->RuAluno); printf("\n\nDados do aluno\n"); //vai imprimir a 
mensagem na tela printf("Nome do Aluno: %s", p->name); 
 printf("\nNumero do RU:%d\n", p->RuAluno); 
 system("pause"); 
 return(0); 
} 
 
 
 
Imagem do código funcionando no seu computador: 
 
 
Exercício 5: Faça um algoritmo em linguagem C que contenha dois números inteiros 
digitados na tela pelo usuário: 
a. O primeiro número marca um início; 
b. O segundo número marca um fim; 
O algoritmo vai contar quantos números existem entre o início (primeira entrada) e o fim 
(segunda entrada). A impressão na tela do usuário deve ser realizada de duas formas: 
a. Iterativa; 
b. Recursiva; Ao colocar no seu relatório uma imagem do seu código funcionando, 
coloque ele rodando utilizando como valor de inicio os 2 últimos valores do seu RU e 
valor final o número 99. 
 
 
#include <stdio.h> 
 
#include <stdlib.h> 
 
 int qtdeEntreNumeros(int numero, int fim); //assinatura da 
função 
 int 
main() 
 
{ 
 int x, y, i, qtde = 0, qtde2 = 0; //declaração das variáveis 
printf("Digite um inteiro inicio:"); //Impressão na tela 
 
 scanf_s("%d", &x); //Leitura de valor na dela e guarda na variável x 
 
 
 printf("Digite um inteiro fim:"); //Impressão na tela 
 
 scanf_s("%d", &y); //Leitura de valor na dela e guarda na variável y 
 
 
 for (i = x + 1; i < y; i++) //Laço de repetição por iteração 
 
 { 
 qtde = qtde + 1; //soma 1 a variavel qtde 
 
 } 
 
 
 qtde2 = qtdeEntreNumeros(x, y); //chamada da função que retorna o valor para 
a variavel qtde2 
 
 
 printf("Resposta Iteracao: %d\n", qtde); //Impressão na tela 
 
 printf("Resposta Fatorial: %d\n", qtde2); //Impressão na tela 
 
} 
 
 
int qtdeEntreNumeros(int numero, int fim) //função que recebe dois parametros e 
retorna um interno 
 
{ 
 int qtde = 0; //declaração da variavél 
 
 if (fim > numero) //teste condicional que verifica se o número é menor que o 
fim 
 return (1); 
 
else 
 { 
 
 //Chamada recursiva 
 qtde = qtdeEntreNumeros(numero + 1, 
fim); 
 
 return (qtde); 
 
 } 
 
} 
Imagem do código funcionando no seu computador: 
 
 
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<stdio.h> 
#include<stdlib.h> 
 
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 = &registro;//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", &registro.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 < 1903.98) 
 { 
 printf("\nAliquota: Isento"); 
 printf("\nSem deducao!"); 
 } 
 else if ((*ponteiro).salario< 2826.65) 
 { 
 printf("\nALIQUOTA: 7,50%%"); 
 printf("\nDeducao de salario: %.2f", (*ponteiro).salario * 0.075); 
 } 
 else if ((*ponteiro).salario < 3751.05) 
 { 
 printf("\nALIQUOTA: 15,00%%"); 
 printf("\nDeducao de salario: %.2f", (*ponteiro).salario * 0.15); 
 } 
 else if ((*ponteiro).salario < 4664.68) 
 { 
 printf("\nALIQUOTA: 22,50%%"); 
 printf("\nDeducao de salario: %.2f", (*ponteiro).salario * 0.225); 
 } 
 else 
 { 
 printf("\nALIQUOTA: 27,50%%"); 
 printf("\nDeducao de salario: %.2f", (*ponteiro).salario * 0.275); 
 } 
 printf("\n"); 
 system ("pause"); 
 return 0; 
} 
Funcionamento Exercício 01: 
 
 
Exercício – 02: 
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. Por exemplo: 
Vetor RU Primeiro dígito Último dígito 
Posição do vetor 0 1 2 2 4 5 
✓ Utilizando ponteiros verifique o valor da soma de todos os elementos contidos neste 
vetor e imprima na tela. 
Para demonstrar o funcionamento faça as capturas de tela do terminal utilizando seu 
RU. 
Código Exercício - 02: 
#include<stdio.h> 
#include<stdlib.h> 
 
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 < 7; contador ++)// 1º laço for. Utilizado 
para armazenar os números de RU digitados em sua determinada casa dentro 
do vetor "ru". 
 { 
 printf("Digite o digito [%d] de seu RU: ", contador+1); 
Mauro
Lápis
Mauro
Lápis
 scanf("%d", &ru[contador]); 
 } 
 
 int *ponteiro = ru;// variavel do tipo "ponteiro" recebe as informações
 contidas no vetor "ru" 
 
 printf("\nRU: "); 
 for (contador2 = 0; contador2 < 7; contador2 ++)// 2º laço for. Utiliza
do para mostrar as informações do vetor contidas no ponteiro formando o R
U completo; 
 { 
 printf("%d", *(ponteiro + contador2)); 
 } 
 
 printf("\nSoma: %d", ponteiro[0] + ponteiro[1] + ponteiro[2] + ponteiro
[3] + ponteiro[4] + ponteiro[5] + ponteiro[6]);//Mostrando a soma de todo
s os elementos dentro do ponteiro 
 
 printf("\n"); 
 
 system ("pause"); 
 return 0; 
} 
 
Funcionamento Exercício 02: 
 
 
 
 
 
 
 
Mauro
Lápis
Exercício – 03: 
Faça um programa, em linguagem C, para calcular a soma de duas matrizes 4 x 4 de 
números inteiros. 
O programa deve implementar uma função chamada calc_soma que calcula a soma de 
duas matrizes. O programa deve solicitar ao usuário que seja informado as matrizes A 
e B de dimensões 4 x4, calcular e imprimir a matriz resultado C da soma das matrizes A 
com B. O programa termina quando for digitado um valor negativo. A função deve 
obedecer ao seguinte protótipo: void calc_soma(int *mat_A, int *mat_B, int *mat_C); 
Para demonstrar o funcionamento faça os print de tela. 
Código Exercício – 03: 
#include<stdio.h> 
#include<stdlib.h> 
 
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; contador < 16; contador ++)//Coletando os dados da prime
ira matriz 
 { 
 printf("[%d] POSICAO: ", contador+1); 
 scanf("%d", &matriz1[contador]); 
 } 
 contador = 0; 
 printf("----------SEGUNDA MATRIZ----------\n"); 
 for (contador; contador < 16; contador ++)//Coletando os dados da segun
da matriz 
 { 
 printf("[%d] POSICAO: ", contador+1); 
 scanf("%d", &matriz2[contador]); 
 } 
 
 //Chamada de função, passando os vetores "matriz1", "matriz2" e "soma" 
como parâmetro 
 calc_soma(matriz1, matriz2, soma); 
 
 
 printf("\n"); 
 
 system ("pause"); 
 return 0; 
} 
 
void calc_soma(int *mat_A, int *mat_B, int *mat_C) 
{ 
 int i = 0;//Variavel a ser usada como contador dentro da função 
 
 //Adicionando a soma das matrizes 1 e 2 em sua respectiva posição no ve
tor mat_C 
 for (i ; i < 16; i++) 
 { 
 mat_C[i] = mat_A[i] + mat_B[i]; 
 } 
 i = 0; 
 
 printf("----------Soma das duas matrizes----------\n"); 
 //Mostrando na tela o vetor mat_C 
 for (i ; i < 16; i++) 
 { 
 printf(" %d ", mat_C[i]); 
 //Aqui serão feitas condicionais para o espaçamento na hora de mostra
r a soma das matrizes 
 if ( i == 3 ) 
 { 
 printf("\n"); 
 } 
 else if ( i == 7 ) 
 { 
 printf("\n"); 
 } 
 else if ( i == 11 ) 
 { 
 printf("\n"); 
 } 
 } 
} 
 
 
 
 
 
Funcionamento Exercício – 03: 
 
 
 
Exercício – 04: 
Faça, em linguagem C, uma 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 <stdio.h> 
#include <stdlib.h> 
 
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 < v) 
 { 
 funcao(b+1, v); 
 } 
 else 
 { 
 printf("\nResultado = %d", b); 
 printf("\n"); 
 } 
} 
 
Funcionamento Exercício – 04: 
 
 
Exercício – 05: 
Crie um programa, em linguagem C, que receba 6 registros contendo, Nome, CPF, 
telefone e 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. 
 
Código Exercício – 05: 
#include <stdio.h> 
#include <stdlib.h> 
 
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", &registro.nome); 
 printf("Digiteseu CPF: "); 
 scanf("%s", &registro.cpf); 
 printf("Digite seu Telefone: "); 
 scanf("%s", &registro.telefone); 
 printf("Digite seu E-MAIL: "); 
 scanf("%s", &registro.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

Outros materiais