#include <stdio_ext.h>
struct Conta {
char nome[100];
int numero;
float saldo;
};
void inicializar(struct Conta[50]);
int cadastrar(int, struct Conta[50]);
int remover(struct Conta[50]);
void depositar(struct Conta[50]);
void sacar(struct Conta[50]);
void consultar(struct Conta[50]);
void inicializar(struct Conta contas[50]) {
int i=0;
for(i = 0; i < 50; i++) {
contas[i].numero = 0;
contas[i].saldo = 0;
}
}
int cadastrar(int nroContas, struct Conta contas[50]) {
int i, aux, numero, existe, cadastardoComSucesso;
existe = 0;
cadastardoComSucesso = 0;
if(nroContas<=50) {
for(i = 0; i < 50; i++) {
if(contas[i].numero == 0) {
aux = i;
}
}
printf("\nInforme um número para conta: ");
scanf("%d", &numero);
for(i = 0; i < 50; i++) {
if(numero == contas[i].numero)
existe = 1;
}
if(existe) {
printf("\nA conta %d já existe!\n", numero);
}else{
__fpurge(stdin);
printf("\nInforme o nome: ");
gets(contas[aux].nome);
contas[aux].saldo = 0;
contas[aux].numero = numero;
cadastardoComSucesso = 1;
printf("\nConta cadastrada com sucesso!\n\n");
}
} else {
printf("\nNão há mais espaço para cadastrar novos clientes!\n\n");
}
return cadastardoComSucesso;
}
int remover(struct Conta contas[50]) {
int codigo, i, aux, cadastardoComSucesso;
aux = -1;
cadastardoComSucesso = 0;
printf("\nInforme o número da conta: ");
scanf("%d", &codigo);
for(i = 0; i < 50; i++) {
if(contas[i].numero == codigo)
aux = i;
}
if(aux == -1)
printf("\nEssa conta não está cadastrada!\n\n");
else {
contas[aux].numero = 0;
contas[aux].saldo = 0;
cadastardoComSucesso = 1;
printf("\nConta excluida com sucesso!\n\n");
}
return cadastardoComSucesso;
}
void depositar(struct Conta contas[50]) {
int numero, i, aux;
aux = -1;
printf("\nInforme o número da conta: ");
scanf("%d", &numero);
for(i = 0; i < 50; i++) {
if(contas[i].numero == numero) {
aux = i;
}
}
if(aux == -1) {
printf("\nEssa conta não está cadastrada!\n\n");
}else{
float valor;
printf("\nInforme o valor que deseja depositar: ");
scanf("%f", &valor);
if(valor > 0) {
contas[aux].saldo = contas[aux].saldo + valor;
printf("\nDeposito realizado com sucesso!\n");
}else{
printf("\nNão é possível depositar um valor negativo ou nulo a sua conta!\n\n");
}
}
}
void sacar(struct Conta contas[50]) {
int numero, i, aux;
aux = -1;
printf("\nInforme o número da conta: ");
scanf("%d", &numero);
for(i = 0; i < 50; i++) {
if(contas[i].numero == numero) {
aux = i;
}
}
if(aux == -1) {
printf("\nEssa conta não está cadastrada!\n\n");
}else{
float valor;
printf("\nInforme o valor que deseja sacar: ");
scanf("%f", &valor);
if(valor > 0) {
contas[aux].saldo = contas[aux].saldo - valor;
printf("\nValor sacado com sucesso!\n\n");
}else{
printf("\nNão é possível salvar um valor negativo ou nulo!\n\n");
}
}
}
void consultar(struct Conta contas[50]) {
int numero, i, aux;
aux = -1;
printf("\nInforme o número da conta: ");
scanf("%d", &numero);
for(i = 0; i < 50; i++) {
if(contas[i].numero == numero) {
aux = i;
}
}
if(aux == -1) {
printf("\nEssa conta não está cadastrada!\n\n");
}else{
printf("\n\nDADOS DA CONTA %d", aux);
printf("\nNúmero.: %d", contas[aux].numero);
printf("\nCliente.: %s", contas[aux].nome);
printf("\nSaldo.: R$%.2f", contas[aux].saldo);
printf("\n\n");
}
}
int main() {
int opcao=0, nroContas=1, aux, i;
struct Conta contas[50];
inicializar(contas);
while(opcao != 6) {
printf("1-Cadastramento da conta \n2-Remoção da conta \n3-Depósito \n4-Saque \n5-Consulta\n6-Sair\n: ");
scanf("%d", &opcao);
switch(opcao) {
case 1:
if(cadastrar(nroContas, contas))
nroContas++;
break;
case 2:
if(remover(contas))
nroContas--;
break;
case 3:
depositar(contas);
break;
case 4:
sacar(contas);
break;
case 5:
consultar(contas);
break;
case 6:
break;
default:
printf("\nA opção digita não existe!\n\n");
break;
}
}
return 0;
}
#include <stdio_ext.h>
#include <string.h>
struct Filme {
int codigo, ano;
char titulo[50], sinopse[100], diretor[50], genero[30];
};
void inicializar(struct Filme[50]);
void cadastrar(struct Filme[50]);
void alterar(struct Filme[50]);
void listarFilmes(struct Filme[50]);
void ordemCrescenteArray(struct Filme[50]);
void procurarFilmePorTitulo(struct Filme[50]);
void inicializar(struct Filme filmes[50]) {
int i = 0;
for(i = 0; i < 50; i++) {
filmes[i].codigo = 0;
filmes[i].ano = 0;
}
}
void cadastrar(struct Filme filmes[50]) {
int aux, i;
aux = -1;
for(i = 0; i < 50; i++) {
if(filmes[i].codigo == 0) {
aux = i;
}
}
if(aux == -1) {
printf("\nMemória insuficiente para realizar cadastro\n\n");
}else{
int codigo, jaExiste = 0;
for(i = 0; i < 50; i++) {
if(filmes[i].codigo == codigo) {
jaExiste = 1;
}
}
if(jaExiste) {
printf("\nJá existe um filme cadastrado com o código %d\n\n", codigo);
}else{
printf("\nInforme o código: ");
scanf("%d", &filmes[aux].codigo);
__fpurge(stdin);
printf("\nInforme o título: ");
gets(filmes[aux].titulo);
__fpurge(stdin);
printf("\nInforme a sinopse: ");
gets(filmes[aux].sinopse);
__fpurge(stdin);
printf("\nInforme o diretor: ");
gets(filmes[aux].diretor);
__fpurge(stdin);
printf("\nInforme o genêro: ");
gets(filmes[aux].genero);
printf("\nInforme o ano: ");
scanf("%d", &filmes[aux].ano);
printf("\nFilme cadastrado com sucesso!\n\n");
ordemCrescenteArray(filmes); //manter o array organizado
}
}
}
void alterar(struct Filme filmes[50]) {
int aux, codigo, i;
aux = -1;
printf("\nInforme o código do filme que deseja alterar: ");
scanf("%d", &codigo);
for(i = 0; i < 50; i++) {
if(codigo == filmes[i].codigo) {
aux = i;
}
}
if(aux == -1) {
printf("\nEsse filme não está cadastrado!\n\n");
}else{
__fpurge(stdin);
printf("\nInforme um novo título para o filme: ");
gets(filmes[i].titulo);
__fpurge(stdin);
printf("\nInforme uma nova sinopse para o filme: ");
gets(filmes[i].sinopse);
__fpurge(stdin);
printf("\nInforme um novo diretor para o filme: ");
gets(filmes[i].diretor);
__fpurge(stdin);
printf("\nInforme um novo genêro para o filme: ");
gets(filmes[i].genero);
__fpurge(stdin);
printf("\nInforme um novo ano para o filme: ");
scanf("%d", &filmes[i].ano);
printf("\nFilme alterado com sucesso!\n\n");
}
}
void listarFilmes(struct Filme filmes[50]) {
int i, nroFilmes;
nroFilmes = 0;
for(i = 0; i < 50; i++) {
if(filmes[i].codigo != 0) {
printf("\nCódigo: %d", filmes[i].codigo);
printf("\nTítulo: %s" , filmes[i].titulo);
printf("\nSinopse: %s", filmes[i].sinopse);
printf("\nGenêro: %s", filmes[i].genero);
printf("\nDiretor: %s", filmes[i].diretor);
printf("\nAno: %d", filmes[i].ano);
printf("\n");
nroFilmes++;
}
}
printf("\nTotal de filmes: %d\n\n", nroFilmes);
}
void ordemCrescenteArray(struct Filme filmes[50]) {
struct Filme filme;
int i;
for(i = 1; i < 50; i++) {
if(filmes[i].codigo != 0 && filmes[i-1].codigo != 0) {
if(filmes[i].ano < filmes[i-1].ano) {
filme = filmes[i];
filmes[i] = filmes[i-1];
filmes[i-1] = filme;
}
}
}
}
void procurarFilmePorTitulo(struct Filme filmes[50]) {
char titulo[50];
int i, aux;
aux = -1;
__fpurge(stdin);
printf("\nInforme o titulo que deseja buscar: ");
gets(titulo);
for(i = 0; i < 50; i++) {
if(strcmp(titulo, filmes[i].titulo) == 0) {
aux = 1;
printf("\nCódigo: %d", filmes[i].codigo);
printf("\nTítulo: %s", filmes[i].titulo);
printf("\nSinopse: %s", filmes[i].sinopse);
printf("\nDiretor: %s", filmes[i].diretor);
printf("\nGenêro: %s", filmes[i].genero);
printf("\nAno: %d", filmes[i].ano);
printf("\n");
}
}
if(aux == -1) {
printf("\nEsse filme não está cadastrado!\n\n");
}
}
int main() {
int opcao;
struct Filme filmes[50];
opcao = 0;
inicializar(filmes);
while(opcao != 6) {
printf("\n1-Cadastrar\n2-Alterar\n3-Listar filmes\n4-Listar filmes por ano\n5-Procurar filme por nome\n6-Sair:");
scanf("%d", &opcao);
switch(opcao) {
case 1:
cadastrar(filmes);
break;
case 2:
alterar(filmes);
break;
case 3:
listarFilmes(filmes);
break;
case 4:
listarFilmes(filmes);
break;
case 5:
procurarFilmePorTitulo(filmes);
break;
case 6:
printf("\n\nSistema encerrado!!\n");
break;
default:
printf("\nOperação inválida!\n\n");
break;
}
}
return 0;
}
Nenhum comentário:
Postar um comentário