¡GoConqr estrena diseño! Cuéntanos qué te parece.

Apuntes

LISTA STRUCT

Sthefani Gomes Portugués 3 páginas

Contenido del apunte (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

Información

Descripción
Apunte sobre LISTA STRUCT, creado por Sthefani Gomes el 25/10/2019.
Creado por
Sthefani Gomes · oct 2019
Actualizado
25 oct 2019
Visitas
1
Valoración

Escríbenos

¿Sobre qué es tu mensaje?

¿Qué te parece el nuevo diseño?

¿Te gusta?