Notas
LISTA STRUCT
Conteúdo das notas (3)
Página 1
QUESTÃO 6
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
void main (void){
struct classe{ /*Cria tipo struct*/
char nome[30];
char matricula[8];
float media_final;
};
struct classe alunos[10]; /*Cria variaveis do tipo strutc para calculos*/
struct classe alunos_rep[10];
struct classe alunos_aprov[10];
for(int x=0;x<10;x++){ /*Coloca os campos que vão ser impressos como em branco para facilitar impressao*/
alunos_rep[x].nome[0]=' ';
alunos_aprov[x].nome[0]=' ';
}
for(int x=0;x<10;x++){ /*Entrada de dados*/
printf("Digite o nome: ");
scanf("%s",&alunos[x].nome);
fflush(stdin);
printf("Digite o numero da matricula: ");
scanf("%s",&alunos[x].matricula);
fflush(stdin);
printf("Digite a media final: ");
scanf("%f",&alunos[x].media_final);
fflush(stdin);
printf("\n");
}
int cont_aprov=0; /*Variaveis para percorrer o vetor a ser impresso */
int cont_rep=0;
for (int x=0;x<10;x++){
if(alunos[x].media_final<(5.0)){/*ONDE ACHO QUE ESTA O ERRO comparações para saber para qual vetor o registro atual vai*/
alunos_rep[cont_rep]=alunos[x];
cont_rep++;
}
if(alunos[x].media_final>(5.0)){
alunos_aprov[cont_aprov]=alunos[x];
cont_aprov++;
}
}
for(int x=0;x<10;x++){ /*printa o que estiver no vetor aprovado e reprovado*/
if(alunos_aprov[x].nome[0]!=' '){
printf("[Aprovado]\nNome: %s\nMatricula: %s\nNota: %2.1f\n\n",alunos_aprov[x].nome,alunos_aprov[x].matricula,alunos_aprov[x].media_final);
}
}
for(int x=0;x<10;x++){
if(alunos_rep[x].nome[0]!=' '){
printf("[Reprovado]\nNome: %s\nMatricula: %s\nNota: %2.1f\n\n",alunos_rep[x].nome,alunos_rep[x].matricula,alunos_rep[x].media_final);
}
}
}
QUESTÃO 7
#include <string.h>
#include <stdio.h>
#include <math.h>
struct carro{
char marca[15];
int ano;
float preco;
};
struct carro cr[5];
int inserir(int qt){
printf("Quantos veículos deseja inserir no banco de dados?");
scanf("%d",&qt);
for(int i=0;i<qt;i++){
printf("Informe a marca do veiculo:");
scanf(cr[i].marca);
getchar();
getchar();
printf("Informe o ano do veículo:");
scanf("%d", &cr[i].ano);
getchar();
getchar();
printf("Informe o preço do veículo:");
scanf("%f", &cr[i].preco);
getchar();
getchar();
getchar();
};
return 0;
}
int imprimir(float p, int qt){
for(int i=0;i<qt;i++){
if(cr[i].preco < p){
p = cr[i].preco;
printf("Marca: %s - Ano: %d - Preço: %f", cr[i].marca, cr[i].ano, cr[i].preco);
}
}
}
int main(float p, int qt){
inserir(qt);
printf("Informe o valor máximo a ser mostrado:");
scanf("%f",&p);
imprimir(p,qt);
return 0;
}
QUESTÃO 10
#include <stdio.h>
#include <string.h>
#define N 50
int main() {
struct produto {
int codigo;
char nome[15];
float preco;
int qtde;
} estoque[N], aux;
int i, pedcod, pedqtde;
char trocou;
for (i=0; i<N; i++) {
printf("%dº produto\n", i+1);
printf("\tCódigo: ");
scanf("%d", &estoque[i].codigo);
printf("\tNome: ");
scanf("%[^\n]s", estoque[i].nome);
printf("\tPreço: ");
scanf(" %f", &estoque[i].preco);
printf("%d", &estoque[i].qtde);
}
printf("\nPedido (código e quantidade): ");
scanf("%d %d", &pedcod, &pedqtde);
i = 0;
while (i < N && estoque[i].codigo != pedcod)
i++;
if (i < N)
if (estoque.qtde[i] >= pedqtde)
estoque.qtde[i] -= pedqtde;
else
printf("Estoque insuficiente\n");
else
printf("Produto %d não localizado\n", pedcod);
do {
trocou = 'N';
for (i=0; i<N-1; i++) {
if (estoque[i].qtde > estoque[i+1].qtde) {
aux.codigo = estoque[i].codigo;
estoque[i].codigo = estoque[i+1].codigo;
estoque[i+1].codigo = aux.codigo;
strcpy(aux.nome, estoque[i].nome);
strcpy(estoque[i].nome, estoque[i].nome);
strcpy(estoque[i+1].nome, aux.nome);
aux.preco = estoque[i].preco;
estoque[i].preco = estoque[i+1].preco;
estoque[i+1].preco = aux.preco;
aux.qtde = estoque[i].qtde;
estoque[i].qtde = estoque[i+1].qtde;
estoque[i+1].qtde = aux.qtde;
trocou = 'S';
}
}
} while (trocou == 'S');
printf("Estoque\n");
for (i=0; i<N; i++)
printf("%d\t%s\t%.2f\t%d\n", estoque[i].codigo, estoque[i].nome, estoque[i].preco, estoque[i].qtde);
return 0;
}
QUESTÃO 11
#include <stdio.h>
#include <string.h>
int main()
{
struct filme{
char nome_fil[30];
int ano;
int duracao;
};
struct diretor{
char nome_dir[21];
int qtd;
struct filme *filmes; //Ponteiro
};
struct diretor diretores[5];
strcpy(diretores[0].nome_dir, "Joao Silva Santos");
//Quantidade de filmes:
diretores[0].qtd = 2;
//Cria um vetor de filmes usando a quantidade:
struct filme filmes0[ diretores[0].qtd ];
//Faz o ponteiro filmes apontar para o vetor criado:
diretores[0].filmes = filmes0;
strcpy(diretores[0].filmes[0].nome_fil, "Joao e Maria");
diretores[0].filmes[0].ano = 1970;
diretores[0].filmes[0].duracao = 30;
strcpy(diretores[0].filmes[1].nome_fil, "Rapunzel");
diretores[0].filmes[1].ano = 2000;
diretores[0].filmes[1].duracao = 90;
printf(" %s\n %d\n\n %s\n %d\n %d\n\n %s\n %d\n %d\n",
diretores[0].nome_dir, diretores[0].qtd,
diretores[0].filmes[0].nome_fil,
diretores[0].filmes[0].ano,
diretores[0].filmes[0].duracao,
diretores[0].filmes[1].nome_fil,
diretores[0].filmes[1].ano,
diretores[0].filmes[1].duracao
);
return 0;
}
QUESTÃO 12
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
struct pessoa {
char nome[50];
int idade;
char sexo;
unsigned long int cpf;
char dataNas[15];
};
typedef struct funcionario {
char cep[15];
char cargo[30];
float salario;
struct pessoa Pessoa;
} Funcionario;
int main() {
setlocale(LC_ALL, "portuguese");
FILE *arq;
arq = fopen("arquivo.txt", "a");
if (arq == NULL) {
printf("Erro na gravação de dados\n\n");
system("pause");
exit(1);
}
int n, i;
printf("Digite qnts funcionarios gostaria de inserir: ");
scanf("%d", &n);
Funcionario x[n];
for (i = 0; i < n; i++) {
getchar();
printf("Nome: ");
fgets(x[i].Pessoa.nome, 50, stdin);
printf("Idade: ");
scanf("%d", &x[i].Pessoa.idade);
printf("Sexo(F/M): ");
scanf("%s", &x[i].Pessoa.sexo);
printf("CPF: ");
scanf("%d", &x[i].Pessoa.cpf);
printf("DataNascimento (ddmmaaa):");
scanf("%s", &x[i].Pessoa.dataNas);
printf("CEP: (00000000): ");
scanf("%s", &x[i].cep);
printf("Cargo: ");
scanf("%s", &x[i].cargo);
printf("Salário: ");
scanf("%f", &x[i].salario);
}
printf("\n----DADOS---\n");
for (i = 0; i < n; i++) {
printf("Nome: %s", x[i].Pessoa.nome);
printf("Idade: %d", x[i].Pessoa.idade);
printf("\nSexo: %c", toupper(x[i].Pessoa.sexo));
printf("\nCPF: %ld", x[i].Pessoa.cpf);
printf("\nDataNascimento: %s", x[i].Pessoa.dataNas);
printf("\nCEP: %s", x[i].cep);
printf("\nCargo: %s", x[i].cargo);
printf("\nSalário: %.2f\n", x[i].salario);
printf("------------------------------\n");
}
printf("\n DADOS GRAVADOS EM ARQUIVOS \n ");
for (i = 0; i < strlen(x[i].Pessoa.nome); i++) {
fprintf(arq, x[i].Pessoa.nome);
fprintf(arq, " ; ");
}
for (i = 0; i <x[i].Pessoa.idade; i++){
fprintf(arq, " ", x[i].Pessoa.idade);}
/*
for (i = 0; i <x[i].Pessoa.idade; i++)
fprintf(arq, " ", x[i].Pessoa.idade);
for (i = 0; i <strlen(x[i].Pessoa.sexo); i++)
fprintf(arq, x[i].Pessoa.sexo);
for (i = 0; i <strlen(x[i].Pessoa.cpf); i++)
fprintf(arq, " ",x[i].Pessoa.cpf);
for (i = 0; i <strlen(x[i].Pessoa.dataNas); i++)
fprintf(arq, x[i].Pessoa.dataNas );
for (i = 0; i <strlen(x[i].cep); i++)
fprintf(arq,x[i].cep );
for (i = 0; i <strlen(x[i].cargo); i++)
fprintf(arq, x[i].cargo);
for (i = 0; i <10; i++)
fprintf(arq, "valor: R$", x[i].salario);
//*/
fclose(arq);
return 0;
}
QUESTÃO 13
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
struct livro
{
char titulo[30];
char autor[15];
int ano;
};
int main()
{
struct livro livros[5];
char busca[30];
int index[5] = {-1,-1,-1,-1,-1};
for(int i=0; i<5;i++)
printf(" Informe o titulo do %dº livro: ", i+1);
scanf("%[^\n]s",&livros[i].titulo);
setbuf(stdin, NULL);
printf("Informe o autor do %dº livro: ", i+1);
scanf("%[^\n]s",&livros[i].autor);
setbuf(stdin, NULL);
printf(" Informe o ano do %dº livro: ", i+1);
scanf("%d", &livros[i].ano);
setbuf(stdin, NULL);
printf("\nInforme o titulo do Livro que deseja pesquisar: ");
scanf("%[^\n]s",&busca);
setbuf(stdin, NULL);
int x = 0;
for(int i=0; i<5; i++)
{
if(strcmp(livros[i].titulo, busca) == 0)
{
index[x] = i;
x++;
}
}
printf("\n\n LIVROS ENCONTRADOS:\n");
for(int i=0; i<= x; i++)
{
if(index[0] != -1)
{
printf(" Título: %s\n", livros[index[i]].titulo);
printf(" Autor: %s\n", livros[index[i]].autor);
printf(" Ano: %d\n", livros[index[i]].ano);
}
else
{
printf("Nenhum livro foi encontrado.\n");
break;
}
}
return 0;
}
Página 2
Página 3
Informações
- Descrição
- Notas sobre LISTA STRUCT, criado por Sthefani Gomes em 25-10-2019.
- Criado por
- Sthefani Gomes · out 2019
- Atualizado
- 25 out 2019
- Visualizações
- 1
- Avaliação