Baixe o app para aproveitar ainda mais
Prévia do material em texto
FIC – Faculdades Integradas de Caratinga Ciência da Computação – 1° Período DISCIPLINA: PROGRAMAÇÃO DE COMPUTADORES PROFESSOR: HEBERT AMARAL Nome: GRACE KELLY DA SILVA Lista de Exercício Vl - Structs 1. Faça um Programa em C que realize o cadastro de contas bancárias com as seguintes informações: número da conta, nome do cliente e saldo. O banco permitirá o cadastro de apenas 15 conta e não pode haver mais de uma conta com o mesmo número. Utilize estruturas de registros para desenvolver este programa. Crie o menu de opções a seguir: Menu de opções: 1. Cadastrar contas. 2. Visualizar todas as contas de um determinado cliente. 3. Visualizar uma conta específica qualquer. 4. Sair #include <stdio.h> #include <string.h> #include <stdlib.h> #define tam 15 main(){ struct banco{ int num_conta; char cliente[50]; float saldo; }; struct banco contas[15]; int i,j,menu,ver_conta,contcliente=0,cont=0,numero; char vnome[50]; while (menu!=4){ printf("\t\t* * * * * * * * * * * * * * * * * *\n"); printf("\t\t* CONTAS BANCARIAS *\n"); printf("\t\t* * * * * * * * * * * * * * * * * *\n"); printf("\t\t* Menu de Opcoes *\n"); printf("\t\t* * * * * * * * * * * * * * * * * *\n"); printf("\t\t* [1] Cadastrar as Contas *\n"); printf("\t\t* [2] Visualizar todas as contas *\n"); printf("\t\t* [3] Visualizar conta *\n"); printf("\t\t* [4] Sair *\n"); printf("\t\t* * * * * * * * * * * * * * * * * *\n"); menu=0; printf("\n\n\t\t MENU: "); scanf("\t\t%d",&menu); switch (menu){ case 1: system("cls"); printf("\n\n"); do{ printf("\t Digite o Numero da Conta: "); scanf("\t%d",&ver_conta); for (i=0;i<tam;i++){ if (ver_conta!=contas[i].num_conta){ contcliente++; } } if (contcliente==15){ contas[cont].num_conta=ver_conta; printf("\t Digite o Nome do Cliente:"); scanf("\t%s",&contas[cont].cliente); printf("\t Digite o saldo:"); scanf("\t%f",&contas[cont].saldo); printf("\n"); contcliente=0; FIC – Faculdades Integradas de Caratinga Ciência da Computação – 1° Período DISCIPLINA: PROGRAMAÇÃO DE COMPUTADORES PROFESSOR: HEBERT AMARAL Nome: GRACE KELLY DA SILVA } else{ cont=cont-1; printf("Conta existe \n"); contcliente=0; } cont++; }while(cont<15); system("cls"); break; case 2: system("cls"); printf("\n\n"); printf("\tDigite o nome do cliente:"); scanf("\t%s",&vnome); for (i=0;i<tam;i++){ numero=(strcmp(vnome,contas[i].cliente)); if (numero==0) printf("\n \n \tNumero Conta: %d - Nome: %s - Saldo: %f\n",contas[i].num_conta,contas[i].cliente,contas[i].saldo); } system("pause"); system("cls"); break; case 3: system("cls"); printf("\n\n"); printf("\t Digite o Numero da Conta:"); scanf("\t%d",&ver_conta); for (i=0;i<tam;i++){ if (ver_conta==contas[i].num_conta){ printf("\n \n \tNumero Conta: %d - Nome: %s - Saldo: %f\n",contas[i].num_conta,contas[i].cliente,contas[i].saldo); } } system("pause"); system("cls"); break; case 4: break; default: printf("OPCAO INVALIDA"); system("cls"); } } getch(); } FIC – Faculdades Integradas de Caratinga Ciência da Computação – 1° Período DISCIPLINA: PROGRAMAÇÃO DE COMPUTADORES PROFESSOR: HEBERT AMARAL Nome: GRACE KELLY DA SILVA 2-) Criar uma estrutura chamada DadosAluno, que armazena o nome e idade de um aluno. Criar uma variável que é uma estrutura DadosAtuno; ler o nome e a idade de um aluno e armazenar na variável criada; exibir na tela o nome do aluno e a idade do aluno. #include <stdio.h> #include <string.h> struct DadosAluno{ char nome[50]; int idade; }DadosAluno; main(){ struct DadosAluno DadosAluno; printf ("NOME DO ALUNO: "); gets(DadosAluno.nome); printf("IDADE DO ALUNO: "); scanf("%d",&DadosAluno.idade); printf("\n\n"); printf("\n\tNOME \tIDADE"); printf("\n\t%s\t%d",DadosAluno.nome,DadosAluno.idade); getch(); } 3-) Seja um algoritmo para controlar os produtos do estoque de um supermercado. Para cada produto, têm-se os seguintes campos: nome: string de tamanho 15 setor: caracter quantidade: inteiro preço: real //preço por unidade doproduto a-)Escrever a definição da estrutura produto. b) Declarar o vetor estoque do tipo da estrutura definida acima, de tamanho 100 e global. Crie um menu para: c) Definir um bloco de instruções para ler o vetor estoque. d) Definir um bloco de instruções que receba um setor e devolva o número de diferentes produtos desse setor. e) Definir um bloco de instruçöes que calcule e devolva o total de capital investido em produtos do supermercado. f) Sair do Programa. #include <stdio.h> #include <string.h> #include <stdlib.h> #define tam 100 main(){ struct Estoque{ char Produto[15]; char setor[100]; int qnt_prod; float preco; }; struct Estoque SuperMercado[100]; int i,j,menu,nc; float total=0; char vsetor[50]; while (menu!=4){ printf("\t\t* * * * * * * * * * * * * * * * * *\n"); printf("\t\t SUPERMERCADO \n"); printf("\t\t* * * * * * * * * * * * * * * * * *\n"); printf("\t\t* Menu de Opcoes *\n"); FIC – Faculdades Integradas de Caratinga Ciência da Computação – 1° Período DISCIPLINA: PROGRAMAÇÃO DE COMPUTADORES PROFESSOR: HEBERT AMARAL Nome: GRACE KELLY DA SILVA printf("\t\t* * * * * * * * * * * * * * * * * *\n"); printf("\t\t* 1 - Cadastrar Produtoss *\n"); printf("\t\t* 2 - Relatorio Setor x Produto *\n"); printf("\t\t* 3 - Relatorio Produtos x Valor *\n"); printf("\t\t* 4 - Sair *\n"); printf("\t\t* * * * * * * * * * * * * * * * * *\n"); printf("\n\n\t\t MENU:"); scanf("\t\t%d",&menu); switch (menu){ case 1: for (i=0;i<tam;i++){ printf ("\n\t Produto:"); fflush(stdin); gets(SuperMercado[i].Produto); printf("\t Setor:"); scanf("%s",&SuperMercado[i].setor); printf("\t Quantidade:"); scanf("%d",&SuperMercado[i].qnt_prod); printf("\t Valor:"); scanf("%f",&SuperMercado[i].preco); } system("cls"); break; case 2: printf("\n\tSetor:"); scanf("\t%s",&vsetor); for (i=0;i<tam;i++){ nc=(strcmp(vsetor,SuperMercado[i].setor)); if (nc==0) printf("\n \n \t Produto:\tQuantidade:\tValor Unitario:\t Valor Total: \n"); printf("\n\t %s \t\t %d \t\t %.2f \t\t %.2f \n",SuperMercado[i].Produto,SuperMercado[i].qnt_prod,SuperMercado[i].preco,SuperMercado[i].qn t_prod*SuperMercado[i].preco); } system("pause"); system("cls"); break; case 3: for (i=0;i<tam;i++){ total=total+(SuperMercado[i].qnt_prod*SuperMercado[i].preco); } printf("\t Valor Total do Estoque: %f\n",total); system("pause"); total=0; system("cls"); break; case 4: break; default: printf("OPCAO INVALIDA");system("cls"); } } getch(); } FIC – Faculdades Integradas de Caratinga Ciência da Computação – 1° Período DISCIPLINA: PROGRAMAÇÃO DE COMPUTADORES PROFESSOR: HEBERT AMARAL Nome: GRACE KELLY DA SILVA 4- Seja uma estrutura para descrever os carros de uma determinada revendedora, contendo os seguintes campos: marca: string de tamanho 15 ano: inteiro cor: string de tamanho 10 preço: real a) Escrever a definição da estrutura carro. b) Declarar o vetor vetcarros do tipo da estrutura definida acima, de tamanho 20 e global. Crie um menu para: c) Definir um bloco de programa para ler o vetor vetcarros. ci) Definir um bloco de programa que receba um preço e imprima os carros (marca, cor e ano) que tenham preço igual ou menor ao preço recebido. e) Defina um bloco de programa que leia a marca de um carro e imprima as informações de todos os carros dessa marca (preço, ano e cor). f) Defina um bloco de programa que leia uma marca, ano e cor e informe se existe ou não um carro com essas características. Se existir, informar o preço. #include <stdio.h> #include <string.h> #include <stdlib.h> #define tam 20 main(){ struct CARRO{ char COR[15]; char MARCA[100]; int ANO; float preco; }; struct CARRO vetcarros [tam]; int i,j,menu,MC,VANO,CR,A=0; float total=0,VPRECO; char VMARCA[50],VCOR[15]; while (menu!=5){ printf("\t\t* * * * * * * * * * * * * * * * * *\n"); printf("\t\t REVENDEDORA \n"); printf("\t\t* * * * * * * * * * * * * * * * * *\n"); printf("\t\t* Menu de Opcoes *\n"); printf("\t\t* * * * * * * * * * * * * * * * * *\n"); printf("\t\t* 1 - Cadastrar Carro *\n"); printf("\t\t* 2 - Relatorio CARRO X PRECO *\n"); printf("\t\t* 3 - Relatorio MARCA *\n"); printf("\t\t* 4 - Relatorio PRECO *\n"); printf("\t\t* 5 - Sair *\n"); printf("\t\t* * * * * * * * * * * * * * * * * *\n"); printf("\n\n\t\t MENU:"); scanf("\t\t%d",&menu); switch (menu){ case 1: for (i=0;i<tam;i++){ printf ("\n\t COR:"); fflush(stdin); gets(vetcarros [i].COR); printf("\t MARCA:"); scanf("%s",&vetcarros [i].MARCA); printf("\t ANO:"); scanf("%d",&vetcarros [i].ANO); FIC – Faculdades Integradas de Caratinga Ciência da Computação – 1° Período DISCIPLINA: PROGRAMAÇÃO DE COMPUTADORES PROFESSOR: HEBERT AMARAL Nome: GRACE KELLY DA SILVA printf("\t Valor:"); scanf("%f",&vetcarros [i].preco); } system("cls"); break; case 2: printf("\n\tPRECO:"); scanf("\t%f",&VPRECO); for (i=0;i<tam;i++){ if(vetcarros [i].preco<=VPRECO){ printf("\n \n\tMARCA:\tCOR:\tPRECO:\tANO: \n"); printf("\n\t%s \t %s \t %.2f \t %d \n",vetcarros [i].MARCA,vetcarros [i].COR,vetcarros [i].preco,vetcarros [i].ANO); } } system("pause"); system("cls"); break; case 3: printf("\n\tMARCA: "); scanf("\t%s",&VMARCA); for (i=0;i<tam;i++){ MC=(strcmp(VMARCA,vetcarros [i].MARCA)); if (MC==0){ printf("\n \n\tMARCA:\tCOR:\tPRECO:\tANO: \n"); printf("\n\t%s \t %s \t %.2f \t %d \n",vetcarros [i].MARCA,vetcarros [i].COR,vetcarros [i].preco,vetcarros [i].ANO); } } system("pause"); system("cls"); break; case 4: printf("\n\tMARCA: "); scanf("\t%s",&VMARCA); printf("\tCOR: "); scanf("\t%s",&VCOR); printf("\tANO: "); scanf("\t%s",&VANO); for (i=0;i<tam;i++){ MC=(strcmp(VMARCA,vetcarros[i].MARCA)); CR=(strcmp(VCOR,vetcarros[i].COR)); if (MC==0&&CR==0&&VANO==vetcarros[i].ANO){ printf("\n \n\tPRECO:\n"); printf("\n\t %.2f\n",vetcarros[i].preco); A++; } } system("pause"); system("cls"); break; case 5: break; default: printf("OPCAO INVALIDA"); FIC – Faculdades Integradas de Caratinga Ciência da Computação – 1° Período DISCIPLINA: PROGRAMAÇÃO DE COMPUTADORES PROFESSOR: HEBERT AMARAL Nome: GRACE KELLY DA SILVA system("cls"); } } getch(); } 5-) Foi realizada uma pesquisa entre 500 habitantes de uma certa região. De cada habitante foram coletados os dados: idade, sexo, salário e número de filhos. Crie a estrutura de dados adequada para armazenar estas informações e faça uma função que armazene as informações digitadas pelo usuário na estrutura de dados criada. Faça também uma função que calcula a média dos salários dos habitantes. #include <stdio.h> #include <string.h> #include <stdlib.h> #define tam 500 struct PESQ{ int idade; char sexo; float sal; int qnt_filhos; }; main(){ struct PESQ habt[500]; int i,menu,soma=0; while (menu!=3){ printf("\t\t* * * * * * * * * * * * * * * * * *\n"); printf("\t\t* PESQ *\n"); printf("\t\t* * * * * * * * * * * * * * * * * *\n"); printf("\t\t* Menu de Opcoes *\n"); printf("\t\t* * * * * * * * * * * * * * * * * *\n"); printf("\t\t* [1] Cadastrar habitante *\n"); printf("\t\t* [2] Ver Media dos sals *\n"); printf("\t\t* [3] Sair *\n"); printf("\t\t* * * * * * * * * * * * * * * * * *\n"); printf("\n\n\t\t MENU: "); scanf("\t\t%d",&menu); switch (menu){ case 1: cadastro (); system("cls"); break; case 2: media(); break; case 3: break; default: printf("OPCAO INVALIDA"); system("cls"); } } getch(); } cadastro (){ int i; struct PESQ habt[500]; int menu, soma; FIC – Faculdades Integradas de Caratinga Ciência da Computação – 1° Período DISCIPLINA: PROGRAMAÇÃO DE COMPUTADORES PROFESSOR: HEBERT AMARAL Nome: GRACE KELLY DA SILVA for (i=0;i<tam;i++){ printf("\t Idade:"); scanf("\t%d",&habt[i].idade); printf("\t Sexo:"); scanf("\t%c",&habt[i].sexo); printf("\t sal:"); scanf("\t%f",&habt[i].sal); printf("\t Filhos:"); scanf("\t%d",&habt[i].qnt_filhos); printf("\n\n"); } } media(){ float media=0,soma=0; int i; struct PESQ habt[500]; for (i=0;i<tam;i++){ soma=soma+habt[i].sal; } media=soma/tam; printf("\t A media dos sals: %.2f\n",media); system("pause"); system("cls"); }
Compartilhar