0% acharam este documento útil (0 voto)
11 visualizações6 páginas

Atividade Structs

O documento apresenta atividades de programação em C, utilizando estruturas (structs) para gerenciar dados de alunos, produtos, livros, registros de ponto e funcionários. Cada seção contém um código que permite a entrada de dados e a exibição de informações relevantes, como a média salarial e o livro mais caro. O conteúdo é voltado para estudantes de Engenharia Civil que estão aprendendo sobre programação.

Enviado por

IvanildoJacinto
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
11 visualizações6 páginas

Atividade Structs

O documento apresenta atividades de programação em C, utilizando estruturas (structs) para gerenciar dados de alunos, produtos, livros, registros de ponto e funcionários. Cada seção contém um código que permite a entrada de dados e a exibição de informações relevantes, como a média salarial e o livro mais caro. O conteúdo é voltado para estudantes de Engenharia Civil que estão aprendendo sobre programação.

Enviado por

IvanildoJacinto
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

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", &registros[i].horaEntrada);

do {
printf("Hora de saida (ex: 17): ");
fgets(buffer, sizeof(buffer), stdin);
sscanf(buffer, "%d", &registros[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;
}

Você também pode gostar