Prévia do material em texto
CADERNO DE RESPOSTAS DA
ATIVIDADE PRÁTICA DE:
Linguagem de Programação
ALUNO: Almir Angelo de Almeida - RU:4650448
Data: 10/07/2024
Prof. Winston Sen Lun Fung, Esp.
ANO
2024
Caderno de Resolução da
Atividade Prática de
Linguagem de Programação
1
PRÁTICA 01
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
Para demonstrar o funcionamento faça as capturas de tela do terminal utilizando seu
nome completo e o seu RU.
I. Apresentação do código-fonte:
#include
#include
#define MAX_NOME 100
struct Registro {
char nomeCompleto[MAX_NOME];
int RU;
};
int main() {
struct Registro aluno;
struct Registro *ptr_aluno = &aluno;
printf("Digite o seu RU: ");
scanf("%d", &ptr_aluno->RU);
printf("Digite o seu Nome Completo: ");
getchar();
fgets(ptr_aluno->nomeCompleto, MAX_NOME, stdin);
ptr_aluno->nomeCompleto[strcspn(ptr_aluno->nomeCompleto, "\n")] = '\0';
if (ptr_aluno->RU % 2 == 0) {
printf("O RU digitado (%d) eh um numero par.\n", ptr_aluno->RU);
} else {
printf("O RU digitado (%d) eh um numero impar.\n", ptr_aluno->RU);
}
Caderno de Resolução da
Atividade Prática de
Linguagem de Programação
2
printf("Nome Completo invertido: ");
for (int i = strlen(ptr_aluno->nomeCompleto) - 1; i >= 0; i--) {
printf("%c", ptr_aluno->nomeCompleto[i]);
}
printf("\n");
return 0;
}
II. Apresentar a captura de tela evidenciando o funcionamento:
Caderno de Resolução da
Atividade Prática de
Linguagem de Programação
3
PRÁTICA 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.
• Utilizando ponteiros verifique qual o maior e menor número contido neste vetor e
imprima na tela.
Para demonstrar o funcionamento faça as capturas de tela do terminal utilizando seu RU.
III. Apresentação do código-fonte:
#include
int main() {
int i, num_digitos;
printf("Digite a quantidade de digitos do seu RU: ");
scanf("%d", &num_digitos);
int ru[num_digitos];
printf("Digite os %d digitos do seu RU:\n", num_digitos);
for (i = 0; i maior) {
maior = *(ptr + i);
}
if (*(ptr + i)
#include
void calc_hexa(float l, float *area, float *perimetro);
int main() {
float lado;
float area, perimetro;
while (1) {
printf("Digite o comprimento do lado do hexagono (ou um valor negativo
para sair): ");
scanf("%f", &lado);
if (lado
#include
#define NUM_REGISTROS 10
#define MAX_NOME 100
#define MAX_TEL 15
#define MAX_EMAIL 100
void lerString(char *str, int tamanho) {
fgets(str, tamanho, stdin);
size_t len = strlen (str);
if (len > 0 && str[len - 1] == '\n') {
str[len - 1] = '\0';
}
}
int main() {
FILE *arquivo;
char nome[MAX_NOME];
char ru[20];
char telefone[MAX_TEL];
char email[MAX_EMAIL];
arquivo = fopen("registros.csv", "w");
if (arquivo == NULL) {
perror("Não foi possível abrir o arquivo para escrita");
return EXIT_FAILURE;
}
fprintf(arquivo, "Nome;RU;Telefone;Email\n");
for (int i = 0; iMAX_NOME);
printf("RU: ");
lerString(ru, sizeof(ru));
printf("Telefone: ");
lerString(telefone, MAX_TEL);
printf("Email: ");
lerString(email, MAX_EMAIL);
fprintf(arquivo, "%s;%s;%s;%s\n", nome, ru, telefone, email);
printf("\n");
}
fclose(arquivo);
printf("Dados salvos com sucesso em 'RU4650448.csv'.\n");
return EXIT_SUCCESS;
}
IX. Apresentar a captura de tela evidenciando o funcionamento:
Caderno de Resolução da
Atividade Prática de
Linguagem de Programação
11
X. Apresentar a captura de tela do arquivo CSV:
-
Caderno de Resolução da
Atividade Prática de
Linguagem de Programação
12