Aluno: Ivanildo Jacinto da Silva Junior
Matrícula: 20210098722
E-mail: [Link]@[Link]
Curso: Engenharia Civil
INTRODUÇÃO A PROGRAMAÇÃO
Atividade Categoria Registro (Structs)
Respostas
1.
#include <stdio.h>
#include <string.h>
struct Aluno {
char nome[50];
int idade;
float nota;
};
int main() {
struct Aluno aluno1;
printf("Digite o nome do aluno: ");
fgets([Link], 50, stdin);
strtok([Link], "\n");
printf("Digite a idade: ");
scanf("%d", &[Link]);
printf("Digite a nota: ");
scanf("%f", &[Link]);
printf("\n--- Dados do Aluno ---\n");
printf("Nome: %s\n", [Link]);
printf("Idade: %d\n", [Link]);
printf("Nota: %.2f\n", [Link]);
return 0;
}
2.
#include <stdio.h>
#include <string.h>
struct Produto {
int codigo;
char nome[30];
int quantidade;
float preco;
};
int main() {
int N;
float valor_total = 0;
printf("Quantos produtos deseja cadastrar? ");
scanf("%d", &N);
struct Produto produtos[N];
for (int i = 0; i < N; i++) {
printf("\n--- Produto %d ---\n", i + 1);
printf("Codigo: ");
scanf("%d", &produtos[i].codigo);
getchar();
printf("Nome: ");
fgets(produtos[i].nome, 30, stdin);
produtos[i].nome[strcspn(produtos[i].nome, "\n")] = 0;
printf("Quantidade: ");
scanf("%d", &produtos[i].quantidade);
printf("Preco: ");
scanf("%f", &produtos[i].preco);
getchar();
}
for (int i = 0; i < N; i++) {
valor_total += produtos[i].quantidade * produtos[i].preco;
}
printf("\nO valor total em estoque eh: R$%.2f\n", valor_total);
return 0;
}
3.
#include <stdio.h>
#include <string.h>
struct Livro {
char titulo[100];
char autor[50];
float preco;
};
int main() {
int M;
printf("Quantos livros deseja cadastrar? ");
scanf("%d", &M);
getchar();
struct Livro livros[M];
int indice_mais_caro = 0;
for (int i = 0; i < M; i++) {
printf("\n--- Livro %d ---\n", i + 1);
printf("Titulo: ");
fgets(livros[i].titulo, 100, stdin);
strtok(livros[i].titulo, "\n");
printf("Autor: ");
fgets(livros[i].autor, 50, stdin);
strtok(livros[i].autor, "\n");
printf("Preco: ");
scanf("%f", &livros[i].preco);
getchar();
if (livros[i].preco > livros[indice_mais_caro].preco) {
indice_mais_caro = i;
}
}
printf("\n--- Livro Mais Caro ---\n");
printf("Titulo: %s\n", livros[indice_mais_caro].titulo);
printf("Preco: R$%.2f\n", livros[indice_mais_caro].preco);
return 0;
}
4.
#include <stdio.h>
#include <string.h>
struct RegistroPonto {
char nome_do_funcionario[50];
int horaEntrada;
int horaSaida;
};
int main() {
int K, horas_trabalhadas;
char buffer[100];
printf("Quantos funcionarios deseja registrar? ");
fgets(buffer, sizeof(buffer), stdin);
sscanf(buffer, "%d", &K);
struct RegistroPonto registros[K];
for (int i = 0; i < K; i++) {
printf("\n--- Funcionario %d ---\n", i + 1);
printf("Nome: ");
fgets(registros[i].nome_do_funcionario, 50, stdin);
registros[i].nome_do_funcionario[strcspn(registros[i].nome_do_funcionario, "\n")] = 0;
printf("Hora de entrada (ex: 8): ");
fgets(buffer, sizeof(buffer), stdin);
sscanf(buffer, "%d", ®istros[i].horaEntrada);
do {
printf("Hora de saida (ex: 17): ");
fgets(buffer, sizeof(buffer), stdin);
sscanf(buffer, "%d", ®istros[i].horaSaida);
if (registros[i].horaSaida < registros[i].horaEntrada) {
printf("Erro: A hora de saida deve ser maior ou igual a hora de entrada. Tente novamente.\n");
}
} while (registros[i].horaSaida < registros[i].horaEntrada);
}
printf("\n--- Horas Trabalhadas ---\n");
for (int i = 0; i < K; i++) {
horas_trabalhadas = registros[i].horaSaida - registros[i].horaEntrada;
printf("Funcionario %s: %d horas\n", registros[i].nome_do_funcionario, horas_trabalhadas);
}
return 0;
}
5.
#include <stdio.h>
struct Funcionario {
char nome[50];
float salario;
};
int main() {
int N;
float soma_salarios = 0;
printf("Quantos funcionarios deseja cadastrar? ");
scanf("%d", &N);
struct Funcionario funcionarios[N];
for (int i = 0; i < N; i++) {
printf("\n--- Funcionario %d ---\n", i + 1);
printf("Nome: ");
scanf(" %49[^\n]", funcionarios[i].nome);
printf("Salario: ");
scanf("%f", &funcionarios[i].salario);
soma_salarios += funcionarios[i].salario;
}
printf("\n--- Media Salarial ---\n");
printf("A media salarial da empresa eh: R$%.2f\n", soma_salarios / N);
return 0;
}