Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

quitZAUMMM

[Código] Sisteminha basicão - bem POG esse

Recommended Posts

Bom galera vo postar aki oq eu fiz em umas 6hrs(tinha 3 meses pra fazer) e q me garantiw passar em uma matéria..

ehUHAUHAUA sei q ta bem "porco" o código, + eu num qria usar lista ligada ai fiz assim... tbm nem aloquei nd xD!

eu sei eu sei tem varios bug's + ta valendo soh vo postar pra vcs verem!

criticas serao bem vindas(e sei q vai ter um monte, c alguem ver o código msm)!

Compilei belezinha pelo TC, + acho q pelo DEVC++ vai dar alguns erros ;D

TA BEM POG HEIN xD!!

 

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>

typedef struct {
	char *cNome;
	char *dDataNas;
 	char *cRG;
}cliente;

typedef struct {
	char *cNumeroConta;
	char *cSaldo;
}conta;

cliente *clClientes;
conta   *coContas;
int iInicio = 0;

void Topo(){
	clrscr();
	printf("\a ***********************************************************************\n");
	printf("\t\t\t\t++ BANCO OMEGA ++\n");
	printf(" ***********************************************************************\n");
	printf("\n\t\t\tSistema de Automacao Bancaria\n\n");
}

int QtdClientes(){
	FILE *fQtd = NULL;
	int iQtd;
	char cQtd[4];
	if ((fopen("qtd","r")) == NULL) {
		fQtd = fopen("qtd", "w+");
		fprintf(fQtd,"1");
		iQtd = 1;
	}
	else {
		fQtd = fopen("qtd", "r");
			fscanf(fQtd, "%d", &iQtd);
	}
	fclose(fQtd);
	return(iQtd);
}

void Inicio(){
	Topo();
	system("cd");
	puts("");
	puts  ("	.------.						  ");
	puts  ("	`-____-.		.--------------.  ");
	puts  ("	 .i--i		  | EM QUE POSSO |  ");
	puts  ("	/ @  @ \\	   /  AJUDAR ??	|  ");
	puts  ("   | -.__.- | ___--				|  ");
	puts  ("	\\.	./ -----------------------  ");
	puts  ("   . \\ ---/.						  ");
	puts  ("  ..  `--'  ..						");
	puts  (" (_.i.	.i._)					   ");
	puts  ("	|	  |						  ");
	puts  ("	|  ..  |						  ");
	puts  ("	| |  | |						  ");
	puts  ("	`-'  `-'						  ");
	printf("\n\nAperte <<ENTER>> para entrar no sistema...");
	iInicio = 1;
	getchar();
}

int Opc() {
	int iOpc  = 0;
	do{
		Topo();
		printf(" Opcoes do Sistema:\n\n");
		puts  (" 1 - Cadastrar Cliente");
		puts  (" 2 - Pesquisar Cliente");
		puts  (" 3 - Pesquisar Conta Corrente");
		puts  (" 4 - Visualizar Clientes");
		puts  (" 5 - Alterar Dados Cliente");
		puts  (" 6 - Sair");
		printf(" - - Digite sua opcao: ");
		scanf("%d",&iOpc);
	}while(iOpc < 1 || iOpc > 6);
	return(iOpc);
}

void SalvaCliente(int iQtd){
	FILE *fCliente, *fQtd;
	char cCod[4], cQtd[4];
	fCliente = fQtd = NULL;
	itoa(iQtd, cCod, 10);
	fCliente	 = fopen(cCod,		   "w+");
	fQtd		 = fopen("qtd",		   "w");
	fprintf (fCliente, "\n Codigo = %s ", cCod);
	fprintf (fCliente, "\n Nome do cliente   : %s						  ", clClientes[iQtd].cNome);
	fprintf (fCliente, "\n Data de Nascimento: %s						", clClientes[iQtd].dDataNas);
	fprintf (fCliente, "\n RG				: %s						", clClientes[iQtd].cRG);
	fprintf (fCliente, "\n");
	itoa(++iQtd, cQtd, 10);
	fprintf (fQtd, "%s", cQtd);
	fclose(fCliente);
	fclose(fQtd);
	printf("\n Cliente cadastrado!! Codigo %d", iQtd-1);
	getch();
	main();
	return;
}

void CadCliente(int iQtd)
{
	Topo();
	printf("\tCadastro de Cliente \n\n");
	puts  (" Nome			  :");
	puts  (" Data de Nascimento:");
	printf(" RG				:");
	gotoxy(22,9);
	fflush(stdin);
	scanf(" %[^\n]s", clClientes[iQtd].cNome);
	gotoxy(22,10);
	fflush(stdin);
	scanf(" %s", clClientes[iQtd].dDataNas);
	gotoxy(22,11);
	fflush(stdin);
	scanf(" %s", clClientes[iQtd].cRG);
	SalvaCliente(iQtd);
}

int OpcModBusca(){
	int iOpc  = 0;
	do{
		Topo();
		printf(" Opcoes de Busca:\n\n");
		puts  (" 1 - Buscar por codigo do Cliente");
		puts  (" 2 - Buscar por fragmento do nome do Cliente");
		printf(" - - Digite sua opcao: ");
		scanf("%d",&iOpc);
	}while(iOpc < 1 || iOpc > 2);
	return(iOpc);
}

void CadConta(int iCodCliente){
	FILE *fConta = NULL;
	char cCodCliente[4];
	itoa(iCodCliente, cCodCliente, 10);
	fConta = fopen(cCodCliente, "a+");
	Topo();
	printf("\tCadastro de Conta Corrente \n\n");
	puts  (" Numero da Conta:");
	puts  (" Saldo		  :");
	gotoxy(19,9);
	fflush(stdin);
	scanf(" %s", coContas[iCodCliente].cNumeroConta);
	gotoxy(19,10);
	fflush(stdin);
	scanf(" %s", coContas[iCodCliente].cSaldo);
	fprintf (fConta, " Numero da Conta:* %s", coContas[iCodCliente].cNumeroConta);
	fprintf (fConta, "\n Saldo		  :  %s		   \n", coContas[iCodCliente].cSaldo);
	fclose(fConta);
	puts("\n Conta cadastrada com sucesso!");
	getch();
	main();
	return;
}

void LerCliente()
{
	FILE *fCliente;
	char cCaracter, cCodCliente[50];
	int iOpcConta, iCodCliente;
	iOpcConta = iCodCliente = 0;
	Topo();
	printf("\tPesquisa de Clientes \n\n");
		printf(" Digite o codigo do cliente que deseja vizualizar: ");
	getchar();
	scanf(" %s",cCodCliente);
		if ((fCliente = fopen(cCodCliente,"r")) == NULL){
		puts("");
		printf(" Cliente nao cadastrado!\n");
		getch();
		main();
		return;
	}
	puts("");
		cCaracter = getc(fCliente);
		while (!feof(fCliente)){
		printf("%c",cCaracter);
		cCaracter = getc(fCliente);
		}
	puts("");
	iOpcConta = OpcConta();
	if (iOpcConta == 1){
		iCodCliente = atoi(cCodCliente);
		CadConta(iCodCliente);
		return;
	}
	fclose(fCliente);
	main();
	return;
}

void Fragmento(iQtd){
	char cNome[100], cNomeOriginal[100], cFragmento[20], cCod[4], cCaracter;
	FILE *fBuscaClientes;
	int iAchou, iVar;
	iAchou = iVar = 0;
	Topo();
	printf("\tPesquisa de Clientes \n\n");
	printf("\n Digite um nome para ser pesquisado no arquivo: ");
	getchar();
	scanf(" %s", &cFragmento);
	puts("");
	for (iVar = 1; iVar < iQtd; iVar++) {
		itoa(iVar, cCod, 10);
		fBuscaClientes = fopen(cCod,"r");
		cCaracter = getc(fBuscaClientes);
		while (cCaracter!=':') cCaracter = getc(fBuscaClientes);
		cCaracter = getc(fBuscaClientes);
		strlwr(cFragmento);
		fgets(cNome, sizeof(cNome), fBuscaClientes);
		strcpy(cNomeOriginal, cNome);
		strlwr(cNome);
		if (strstr(cNome, cFragmento)) {
			iAchou = 1;
			cNomeOriginal[strlen(cNomeOriginal)-1] = '\0';
			printf(" Ã %s . Codigo = %s\n", cNomeOriginal, cCod);
		}
		fclose(fBuscaClientes);
	}
	if (iAchou == 0) puts(" Nao existem clientes com esse fragmento de nome.");
	getch();
	main();
	return;
}

int OpcConta(){
	int iOpc = 0;
	puts("\n Deseja cadastrar conta corrente para esse cliente?");
	printf(" 1 - Sim\n");
	printf(" 2 - Nao\n");
	printf(" Digite sua opcao: ");
	do{
	scanf("%d",&iOpc);
	clreol();
	}while(iOpc < 1 || iOpc > 2);
	return(iOpc);
}

void PesqContaCor(int iQtd){
	char cConta[25], cFragmento[25], cCaracter, cCod[4];
	int iTemConta, iVar, iAchou;
	FILE *fBuscaContas;
	iTemConta = iVar = iAchou = 0;
	Topo();
	printf("\tPesquisa de Contas \n\n");
	printf("\n Digite uma conta para ser pesquisada no Sistema: ");
	getchar();
	scanf(" %s", &cConta);
	puts("");
	for (iVar = 1; iVar < iQtd; iVar++) {
		strcpy(cFragmento,'\0');
		itoa(iVar, cCod, 10);
		fBuscaContas = fopen(cCod,"r");
		cCaracter = getc(fBuscaContas);
		iTemConta = 0;
		while (!feof(fBuscaContas)){
				cCaracter = getc(fBuscaContas);
			if(cCaracter == '*') iTemConta = 1;
			}
		if (iTemConta == 1) {
			rewind(fBuscaContas);
			cCaracter = getc(fBuscaContas);
			while (cCaracter != '*') cCaracter = getc(fBuscaContas);
			cCaracter = getc(fBuscaContas);
				fgets(cFragmento,sizeof(cFragmento),fBuscaContas);
			cFragmento[strlen(cFragmento)-1] = '\0';
			if (!strcmp(cFragmento,cConta)) {
				printf (" Ã %s . Codigo do Cliente = %s\n", cConta, cCod);
				iAchou = 1;
			}
		}
		fclose(fBuscaContas);
	}
	if (iAchou == 0) puts(" Conta nao encontrada no Sistema.");
	getch();
	main();
	return;
}

int OpcAlterDados(){
	int iOpc = 0;
	puts(" O que deseja alterar do cadastros desse cliente?");
	printf(" 1 - Nome\n");
	printf(" 2 - Data Nascimento\n");
	printf(" 3 - RG\n");
	printf(" Digite sua opcao: ");
	do{
	scanf("%d",&iOpc);
	clreol();
	}while(iOpc < 1 || iOpc > 3);
	return(iOpc);
}

void AlterarDados(){
	FILE *fAlter = NULL;
	int iVar, iOpc;
	char cNome[100], cNomeTroca[100], cCaracter, cCodCliente[4];
	iVar = iOpc = 0;
	Topo();
	printf("\tAlteracao de dados dos Clientes \n\n");
		printf(" Digite o codigo do cliente que deseja alterar dados: ");
	getchar();
	scanf(" %s", &cCodCliente);
	if ((fAlter = fopen(cCodCliente,"r+")) == NULL){
		printf(" Cliente nao cadastrado!\n");
		getch();
		main();
		return;
	}

	puts("");
		cCaracter = getc(fAlter);
		while (!feof(fAlter)){
			printf("%c",cCaracter);
			cCaracter = getc(fAlter);
		}
	puts("");

	iOpc = OpcAlterDados();

	rewind(fAlter);
	cCaracter = getc(fAlter);
		if	  (iOpc == 1) {
				 while (cCaracter!=':') cCaracter = getc(fAlter);
				 cCaracter = getc(fAlter);
					 fgets(cNome,sizeof(cNome),fAlter);
				}
	else if (iOpc == 2) {
			while (cCaracter!=':') cCaracter = getc(fAlter);
				cCaracter = getc(fAlter);
				while (cCaracter!=':') cCaracter = getc(fAlter);
						cCaracter = getc(fAlter);
						fgets(cNome,sizeof(cNome),fAlter);
			}
	else			{
			while (cCaracter!=':') cCaracter = getc(fAlter);
				cCaracter = getc(fAlter);
				while (cCaracter!=':') cCaracter = getc(fAlter);
					cCaracter = getc(fAlter);
					while (cCaracter!=':') cCaracter = getc(fAlter);
					cCaracter = getc(fAlter);
					 		fgets(cNome,sizeof(cNome),fAlter);
			}

	rewind(fAlter);
		if	  (iOpc == 1) {
				 while (cCaracter!=':') cCaracter = getc(fAlter);
				 cCaracter = getc(fAlter);
				}
	else if (iOpc == 2) {
			while (cCaracter!=':') cCaracter = getc(fAlter);
				cCaracter = getc(fAlter);
				while (cCaracter!=':') cCaracter = getc(fAlter);
						cCaracter = getc(fAlter);
			}
	else			{
			while (cCaracter!=':') cCaracter = getc(fAlter);
				cCaracter = getc(fAlter);
				while (cCaracter!=':') cCaracter = getc(fAlter);
					cCaracter = getc(fAlter);
					while (cCaracter!=':') cCaracter = getc(fAlter);
					cCaracter = getc(fAlter);
			}

	fseek(fAlter, 0, SEEK_CUR);
	if	  (iOpc == 1) printf(" Digite por qual nome deseja alterar: ");
	else if (iOpc == 2) printf(" Digite por qual Data deseja alterar: ");
	else				printf(" Digite por qual RG deseja alterar: ");
	getchar();
	gets(cNomeTroca);
	fprintf(fAlter,"%s",cNomeTroca);
	if(strlen(cNome) > strlen(cNomeTroca)) for(iVar = strlen(cNomeTroca); iVar < strlen(cNome)-1; iVar++) fprintf(fAlter," ");
	fprintf(fAlter,"\n");
	fclose(fAlter);
	puts("\n Cliente com cadastrado atualizado!!!");
	getch();
	main();
	return;
}

void VerClientes(int iQtd){
	FILE  *fClientes =  NULL;
	char cCaracter, cCod[4];
	int iVar = 0;
	Topo();
	printf("\tVisualizacao dos Clientes \n");
	for (iVar = 1; iVar < iQtd; iVar++) {
		itoa(iVar, cCod, 10);
		fClientes = fopen(cCod,"r");
		puts("");
			cCaracter = getc(fClientes);
			while (!feof(fClientes)){
				printf("%c",cCaracter);
				cCaracter = getc(fClientes);
			}
		fclose(fClientes);
	}
	getch();
	main();
	return;

}

int SaidoPrograma(){
	Topo();
	printf("\n\n Obrigado por utilizar nosso Sistema!\n\n");
	puts(" \tGrupo Dataflex\n");
	puts(" Ú");
	puts(" Ã quitZAUMMM");
	puts(" À");
}

int main(){
	int iOpc, iOpcBusca, iQtd;
	iOpc = iOpcBusca = iQtd = 0;
	if (iInicio == 0) Inicio();
	iOpc = Opc();
	iQtd = QtdClientes();
	do{
		switch(iOpc){
			case 1:  CadCliente(iQtd);
				 break;
			case 2:  iOpcBusca = OpcModBusca();
				 if(iOpcBusca == 1) LerCliente();
				 else			   Fragmento(iQtd);
				 break;
			case 3:	 PesqContaCor(iQtd);
				 break;
			case 4:  VerClientes(iQtd);
				 break;
			case 5:  AlterarDados();
				 break;
			case 6:  SaidoPrograma();
				 break;
		}
	if (iOpc == 6) break;
	}while(iOpc <= 0 || iOpc > 6);
	getch();
	return (0);
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Em 6 horas, ta bom demais pra quem fez em 6 horas...... Bom trabalho quit, so falta agora mesmo alocacao dinamica

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.