Ir ao conteúdo
  • Cadastre-se

Gustavo Santos Reis

Membro Júnior
  • Posts

    13
  • Cadastrado em

  • Última visita

posts postados por Gustavo Santos Reis

  1. Boa tarde! Fiz um código para uma bilheteria de teatro, mas não consigo pensar em como fazer a função de reservar o ingresso, só resta esta função para terminar o código alguém podeira me ajudar, por favor.

     

    #include <stdio.h>
    #include <conio.h>
    #include <string.h>
    #include <stdlib.h>
    
    // Estrutura da Peça Teatral.
    typedef struct peca
    {
    	unsigned long int codigo;
    	char nome[100];
    	char data[10];
    	char horario[5];
    	unsigned long int capacidade;
    	float valor;
    	struct peca* prox;
    } Peca;
    
    typedef struct ingresso
    {
    	unsigned long int codigo;
    	char nome[100];
    	char data[10];
    	char horario[5];
    	char tipo[20];
    	float total;
    	struct ingresso* prox;
    } Ingresso;
    
    // Declaração de funções da estrutura peça.
    Peca* inserir_pecas(Peca* primeiro);
    void listar_pecas(Peca* primeiro);
    Peca* excluir_pecas(Peca* primeiro);
    void alterar_pecas(Peca* primeiro);
    
    // Declaração de funções da estrutura ingresso.
    Ingresso* reservar_ingressos(Ingresso* segundo);
    void listar_ingressos(Ingresso* segundo);
    Ingresso* excluir_ingressos(Ingresso* segundo);
    
    main()
    {
    	// Declaração de variáveis.
    	Peca *primeiro = NULL;
    	Ingresso *segundo = NULL;
    	int opcao;
    	
    	// Artifício para repetir o programa.
    	while(opcao != 0)
    	{
    		// Menu de Opções.
    		printf("%c----------------------------------------------------------------------------%c\n", 201, 187);
    		printf(" | ");
    		printf("\t\t\t\t MENU DE OPÇÕES \t\t\t\t");
    		printf(" | ");
    		printf("\n\n");
    		printf("| 1 - Cadastrar peças |\n");
    		printf("| 2 - Listar peças |\n");
    		printf("| 3 - Alterar peças |\n");
    		printf("| 4 - Excluir peças |\n");
    		printf("| 5 - Reservar ingressos |\n");
    		printf("| 6 - Listar ingressos |\n");
    		printf("| 7 - Excluir ingressos |\n");
    		printf("| 0 - Finalizar sistema |\n\n");
    		printf("%c----------------------------------------------------------------------------%c\n\n", 200, 188);
    		printf("Comando: ");
    		scanf("%d", &opcao);
    		
    		// Lendo a opção do menu
    		fflush(stdin);
    		opcao = getch();
    		
    		// Executando as funções de acordo com a opção escolhida.
    		switch(opcao)
    		{
    			case 1:
    				// Inserindo peças.
    				fflush(stdin);
    				system("cls");
    				printf("%c----------------------------------------------------------------------------%c\n", 201, 187);
    				printf(" | ");
    				printf("\t\t\t CADASTRAR NOVA PEÇA \t\t\t");
    				printf(" | ");
    				printf("%c----------------------------------------------------------------------------%c\n\n", 200, 188);
    				primeiro = inserir_pecas(primeiro);
    				getch();
    				system("cls");
    				break;
    			case 2:
    				// Listando peças.
    				system("cls");
    				printf("%c----------------------------------------------------------------------------%c\n", 201, 187);
    				printf(" | ");
    				printf("\t\t\t PEÇAS CADASTRADAS \t\t\t");
    				printf(" | ");
    				printf("%c----------------------------------------------------------------------------%c\n\n", 200, 188);
    				listar_pecas(primeiro);
    				getch();
    				system("cls");
    				break;
    			case 3:
    				// Alterando peças da lista.
    				system("cls");
    				printf("%c----------------------------------------------------------------------------%c\n", 201, 187);
    				printf(" | ");
    				printf("\t\t\t ALTERAR PEÇAS CADASTRADAS \t\t\t");
    				printf(" | ");
    				printf("%c----------------------------------------------------------------------------%c\n\n", 200, 188);
    				alterar_pecas(primeiro);
    				getch();
    				system("cls");
    				break;
    			case 4:
    				// Excluindo peças da lista.
    				system("cls");
    				printf("%c----------------------------------------------------------------------------%c\n", 201, 187);
    				printf(" | ");
    				printf("\t\t\t EXCLUIR PEÇA CADASTRADA \t\t\t");
    				printf(" | ");
    				printf("%c----------------------------------------------------------------------------%c\n\n", 200, 188);
    				primeiro = excluir_pecas(primeiro);
    				getch();
    				system("cls");
    				break;
    			case 5:
    				// Reservando ingressos.
    				fflush(stdin);
    				system("cls");
    				printf("%c----------------------------------------------------------------------------%c\n", 201, 187);
    				printf(" | ");
    				printf("\t\t\t RESERVAR INGRESSO \t\t\t");
    				printf(" | ");
    				printf("%c----------------------------------------------------------------------------%c\n\n", 200, 188);
    				segundo = reservar_ingressos(segundo);
    				getch();
    				system("cls");
    				break;
    			case 6:
    				// Listando ingressos.
    				system("cls");
    				printf("%c----------------------------------------------------------------------------%c\n", 201, 187);
    				printf(" | ");
    				printf("\t\t\t INGRESSOS CADASTRADOS \t\t\t");
    				printf(" | ");
    				printf("%c----------------------------------------------------------------------------%c\n\n", 200, 188);
    				listar_ingressos(segundo);
    				getch();
    				system("cls");
    				break;
    			case 7:
    				// Excluindo peças da lista.
    				system("cls");
    				printf("%c----------------------------------------------------------------------------%c\n", 201, 187);
    				printf(" | ");
    				printf("\t\t\t EXCLUIR INGRESSO CADASTRADO \t\t\t");
    				printf(" | ");
    				printf("%c----------------------------------------------------------------------------%c\n\n", 200, 188);
    				segundo = excluir_ingressos(segundo);
    				getch();
    				system("cls");
    				break;
    			case 0:
    				// Artifício para finalizar o programa.
    				opcao = 0;
    				break;
    			default:
    				// Artifício que previne a situação de um usuário qualquer, digitar uma opção inexistente no menu.
    				system("cls");
    				break;
    		}
    	}
    }
    
    Peca* inserir_pecas (Peca *primeiro){
    	Peca peca;
    	Peca *atual = primeiro;
    	char identificador = 'F';
    	
    	// Lendo as informações da peça.
    	printf("Nome da peça: ");
    	fflush(stdin);
    	fgets(peca.nome, 100, stdin);
    	printf("\n");
    	printf("Data: ");
    	fflush(stdin);
    	fgets(peca.data, 10, stdin);
    	printf("\n");
    	printf("Horário: ");
    	fflush(stdin);
    	fgets(peca.horario, 5, stdin);
    	printf("\n");
    	printf("Valor do ingresso: ");
    	scanf("%f", &peca.valor);
    	printf("\n");
    	printf("Capacidade: ");
    	scanf("%u", &peca.capacidade);
    	printf("\n");
    	printf("Código: ");
    	scanf("%u", &peca.codigo);
    	printf("\n");
    	
    	// Verificando se o cadastro já existe.
    	for(atual=primeiro; atual!=NULL; atual=atual->prox){
    		if(atual->codigo==peca.codigo){
    			identificador = 'V';
    			break;
    		}
    	}
    	
    	if(identificador!='V' && (strlen(peca.nome)!=1 && strlen(peca.data)!=1)){
    		// Alocando os espaços e guardando as informações da peça.
    		Peca* NovaPeca=(Peca*) malloc (sizeof(Peca));
    		strcpy(NovaPeca->nome, peca.nome);
    		strcpy(NovaPeca->data, peca.data);
    		strcpy(NovaPeca->horario, peca.horario);
    		NovaPeca->capacidade= peca.capacidade;
    		NovaPeca->valor= peca.valor;
    		NovaPeca->codigo= peca.codigo;
    		NovaPeca->prox= primeiro;
    		printf(" Cadastro realizado com sucesso.");
    		printf("\n\n Pressione QUALQUER TECLA para voltar ao menu...");
    		return NovaPeca;
    	}else{
    		printf(" Cadastro inválido.");
    		printf("\n\n Pressione QUALQUER TECLA para voltar ao menu...");
    		exit(0);
    	}
    }
    
    void listar_pecas (Peca* primeiro){
    	Peca* atual; // Ponteiro para percorrer a lista sem perder a referência do primeiro elemento da lista.
    	
    	// Imprimindo as peças da lista, e suas respectivas informações.
    	for(atual= primeiro; atual!= NULL; atual= atual->prox){
    		printf("\nCódigo: ");
    		printf("%u", atual->codigo);
    		printf("\nPeça: ");
    		printf("%s", atual->nome);
    		printf("\nData: ");
    		printf("%s", atual->data);
    		printf("\nHorário: ");
    		printf("%s", atual->horario);
    		printf("\nCapacidade: ");
    		printf("%u", atual->capacidade);
    		printf("\nValor: ");
    		printf("%f", atual->valor);
    		printf("\n\n");
    	}
    	if(primeiro==NULL)
    		printf(" Nenhuma peça cadastrada.");
    		printf("\n\n Pressione QUALQUER TECLA para voltar ao menu...");
    }
    
    Peca* excluir_pecas(Peca *primeiro){
    	
    	Peca *anterior= NULL; // Ponteiro para saber o elemento anterior ao elemento atual da lista.
    	Peca *atual= primeiro; // Ponteiro para percorrer a lista sem perder o primeiro elemento da lista.
    	unsigned long int codigo=0;
    	
    	// Requisitando e lendo o código da peça a ser excluída.
    	printf("Código da peça: ");
    	fflush(stdin);
    	scanf("%u", &codigo);
    	
    	// Procurando a peça na lista.
    	while(atual!= NULL && atual->codigo!=codigo){
    		anterior= atual;
    		atual= atual->prox;
    	}
    	
    	// Mensagem caso a peça não seja encontrada.
    	if(atual==NULL){
    		printf("\n Peça não encontrada.");
    		printf("\n\n Pressione QUALQUER TECLA para voltar ao menu...");
    		return primeiro;
    	}
    	
    	// Excluindo a primeira peça da lista.
    	if(anterior==NULL){
    		printf("\n Conteúdo excluído com sucesso.");
    		primeiro= atual->prox;
    	// Excluindo uma peça do meio da lista.
    	}else{
    		printf("\n Conteúdo excluído com sucesso.");
    		anterior->prox= atual->prox;
    	}
    	
    	// Desalocando o espaço da memória.
    	free(atual);
    	printf("\n\n Pressione QUALQUER TECLA para voltar ao menu...");
    	return primeiro;
    }
    
    // Função para alterar peças.
    void alterar_pecas(Peca* primeiro){
    	char nome_substituto[100], data_substituta[10], horario_substituto[5];
    	unsigned long int capacidade_substituta;
    	float valor_substituto;
    	unsigned long int codigo;
    	Peca* atual=primeiro;
    	
    	// Requisitando e lendo o código da peças a ser alterada.
    	printf("\nCódigo da peça: ");
    	fflush(stdin);
    	scanf("%u", &codigo);
    	
    	// Procurando a peça na lista.
    	while(atual!= NULL && atual->codigo!=codigo){
    		atual= atual->prox;
    	}
    	
    	// Alterando os dados da peça.
    	if(atual!=NULL){
    		printf("\nNovo nome: ");
    		fflush(stdin);
    		fgets(nome_substituto, 100, stdin);
    		strcpy(atual->nome,nome_substituto);
    		printf("\nNova data: ");
    		fflush(stdin);
    		fgets(data_substituta, 10, stdin);
    		strcpy(atual->data,data_substituta);
    		printf("\nNovo horário: ");
    		fflush(stdin);
    		fgets(horario_substituto, 5, stdin);
    		strcpy(atual->horario,horario_substituto);
    		printf("\nNova capacidade: ");
    		fflush(stdin);
    		scanf("%u", &capacidade_substituta);
    		atual->capacidade == capacidade_substituta;
    		printf("\nNovo valor: ");
    		fflush(stdin);
    		scanf("%f", &valor_substituto);
    		atual->valor == valor_substituto;
    		printf("\n");
    		printf("Dados alterados com sucesso.");
    	}else{
    		printf("\nPeça não encontrada.");
    	}
    	printf("\n\n\nPressione QUALQUER TECLA para voltar ao menu...");
    	
    }
    
    void listar_ingressos (Ingresso* segundo){
    	Ingresso* atual; // Ponteiro para percorrer a lista sem perder a referência do primeiro elemento da lista.
    	
    	// Imprimindo od ingressos da lista, e suas respectivas informações.
    	for(atual= segundo; atual!= NULL; atual= atual->prox){
    		printf("\nCódigo: ");
    		printf("%u", atual->codigo);
    		printf("\nPeça: ");
    		printf("%s", atual->nome);
    		printf("\nData: ");
    		printf("%s", atual->data);
    		printf("\nHorário: ");
    		printf("%s", atual->horario);
    		printf("\nTipo: ");
    		printf("%s", atual->tipo);
    		printf("\nValor: ");
    		printf("%f", atual->total);
    		printf("\n\n");
    	}
    	if(segundo==NULL)
    		printf(" Nenhum ingresso cadastrado.");
    		printf("\n\n Pressione QUALQUER TECLA para voltar ao menu...");
    }
    
    Ingresso* excluir_ingressos(Ingresso *segundo){
    	
    	Ingresso *anterior= NULL; // Ponteiro para saber o elemento anterior ao elemento atual da lista.
    	Ingresso *atual= segundo; // Ponteiro para percorrer a lista sem perder o primeiro elemento da lista.
    	unsigned long int codigo=0;
    	
    	// Requisitando e lendo o código do ingresso a ser excluído.
    	printf("Código do ingresso: ");
    	fflush(stdin);
    	scanf("%u", &codigo);
    	
    	// Procurando o ingresso na lista.
    	while(atual!= NULL && atual->codigo!=codigo){
    		anterior= atual;
    		atual= atual->prox;
    	}
    	
    	// Mensagem caso o ingresso não seja encontrado.
    	if(atual==NULL){
    		printf("\n Ingresso não encontrado.");
    		printf("\n\n Pressione QUALQUER TECLA para voltar ao menu...");
    		return segundo;
    	}
    	
    	// Excluindo o primeiro ingresso da lista.
    	if(anterior==NULL){
    		printf("\n Conteúdo excluído com sucesso.");
    		segundo= atual->prox;
    	// Excluindo um ingresso do meio da lista.
    	}else{
    		printf("\n Conteúdo excluído com sucesso.");
    		anterior->prox= atual->prox;
    	}
    	
    	// Desalocando o espaço da memória.
    	free(atual);
    	printf("\n\n Pressione QUALQUER TECLA para voltar ao menu...");
    	return segundo;
    }

     

    • Curtir 2
  2. Boa tarde!

     

    Estou tentando fazer um código para executar uma bilheteria, e estou no começo do código ainda e tentando fazer o cadastro de peça para arquivo. Alguém poderia me ajudar, por favor!!

     

    #include <stdio.h>
    #include <stdlib.h>
    #include <locale.h>
    
    typedef struct peca
    {
    	char nome[100];
    	char data[10];
    	char horario[5];
    	char sala[10];
    	float valor;
    } peca;
    
    typedef struct info_ing
    {
    	char nome[100];
    	char data[10];
    	char horario[5];
    	char tipo[10];
    	char sala[10];
    	float valor_total;
    } info_ing;
    
    typedef struct info_ing ingresso;
    
    typedef struct peca peca;
    
    void menu();
    
    void cadastrar_peca();
    
    int main(int argc, char *argv[]) 
    {
    	setlocale(LC_ALL, "Portuguese");
    	
    	do
    	{
    		menu();
    	}while(1);
    	
    	return 0;
    }
    
    void menu()
    {
    	int opcao, finalizar;
    	
    	printf("------------------------------ TEATRO AURORA ------------------------------");
    	printf("\n\n");
    	printf("1 - Cadastrar peça\n");
    	printf("2 - Reservar ingresso\n");
    	printf("3 - Cancelar reserva\n");
    	printf("4 - Excluir peça\n");
    	printf("5 - Listar peças\n");
    	printf("6 - Listar ingressos\n");
    	printf("7 - Pesquisar peça\n");
    	printf("8 - Pesquisar ingresso\n");
    	printf("9 - Ver mapa de assentos\n");
    	printf("0 - Finalizar sistema\n\n");
    	printf("---------------------------------------------------------------------------");
    	printf("\n\n");
    	printf("Comando: ");
    	scanf("%d", &opcao);
    	
    	if(opcao == 1)
    	{
    		printf("\n\nCadastrar peça\n\n");
    	}
    	else if(opcao == 2)
    	{
    		printf("\n\nReservar ingresso\n\n");
    	}
    	else if(opcao == 3)
    	{
    		printf("\n\nCancelar reserva\n\n");
    	}
    	else if(opcao == 4)
    	{
    		printf("\n\nExcluir peça\n\n");
    	}
    	else if(opcao == 5)
    	{
    		printf("\n\nListar peças\n\n");
    	}
    	else if(opcao == 6)
    	{
    		printf("\n\nListar ingressos\n\n");
    	}
    	else if(opcao == 7)
    	{
    		printf("\n\nPesquisar peça\n\n");
    	}
    	else if(opcao == 8)
    	{
    		printf("\n\nPesquisar ingresso\n\n");
    	}
    	else if(opcao == 9)
    	{
    		printf("\n\nVer mapa de assentos\n\n");
    	}
    	else if(opcao == 0)
    	{
    		printf("\n\nDeseja finalizar o sistema?\n\n1 - Sim\n2 - Não\n\n");
    		printf("Comando: ");
    		scanf("%d", &finalizar);
    		if(finalizar == 1)
    		{
    			exit(0);
    		}
    		else
    		{
    			printf("\n\n");
    			menu();
    		}
    	}
    	else
    	{
    		printf("\n\nOpção inválida! Pressione ENTER para continuar...\n\n");
    		getchar();
    		menu();
    	}
    }
    
    void cadastrar_peca()
    {
    	printf("------------------------------ CADASTRO DE PEÇAS ------------------------------");
    	printf("\n\n");
    	printf("Nome: ");
    	fflush(stdin);
    	gets(peca.nome);
    	printf("\nData: ");
    	fflush(stdin);
    	gets(peca.data);
    	printf("\nHorário: ");
    	fflush(stdin);
    	gets(peca.horario);
    	printf("\nSala: ");
    	fflush(stdin);
    	gets(peca.sala);
    	printf("\nValor: ");
    	fflush(stdin);
    	gets(peca.valor);
    }

     

    • Curtir 1
  3. Boa noite!!

     

    Estou desenvolvendo um trabalho que consiste na criação de um algoritmo de uma bilheteria de teatro, que faça a venda, consulta de assentos e faturamento dos preços além de ter as opções dos tipos de comprar inteira, meia, idosos, deficientes, professores e crianças carentes as terças-feira. Por favor, poderiam me ajudar a completo este código.

     

    Obs.: Pode não estar muito correto, então me desculpem.

     

    Segue o código abaixo:

    #include <stdio.h>
    #include <stdlib.h>
    
    int main(){
    	
    	int CAD[30][60];
    	int opcao,total,quant,q;
    	int i;
    	int j;
    	
    	for(i=0;i<=30;i++){
    		for(j=0;j<=60;j++){
    			CAD[i][j]=0;
    		}
    	}
    	
    	do{
    		printf("********** SEJA BEM-VINDO(A) AO TEATRO AURORA! **********");
    		printf("\n\n");
    		printf("1 - Ver Assentos Disponiveis\n");
    		printf("2 - Comprar Ingressos\n");
    		printf("3 - Cancelar Ingresso\n");
    		printf("4 - Faturar\n");
    		printf("5 - Encerrar o Sistema\n");
    		printf("\n");
    		printf("Comando: ");
    		scanf("%d", &opcao);
    		printf("\n");
    		
    		switch(opcao){
    			case 1:
    				for(i=0;i<=30;i++){
    					for(j=0;j<=60;j++){
    						if(CAD[i][j]==1){
    							printf("\nAssentos Ocupados: [%d][%d]", i, j);
    						}else{
    							printf("\nNenhum assento ocupado!\n");
    						}
    					}
    				}
    				break;
    			case 2:
    				for(i=0;i<=30;i++){
    					for(j=0;j<=60;j++){
    						printf("\nFila: ");
    						scanf("%d", &i);
    						printf("\nAssento: ");
    						scanf("%d", &j);
    						if(CAD[i][j]==0){
    							printf("\nAssento reservado com sucesso!\n");
    							CAD[i][j]=1;
    							main();
    						}else{
    							printf("\nAssento ocupado!");
    							main();
    						}
    					}
    				}
    				break;
    			case 3:
    				break;
    			case 4:
    				break;
    		}
    	}while(opcao!=5);
    	
    	system("pause");
    	return 0;
    }
  4. Sim, o meu problema é a conta eu nao sei muito bem como montar eu não sei muito então montei essa com base em alguns exemplos que vi na internet:

    // Variavel do número inteiro digitado.
    Int limite = jTNumber; 
    // Variavel do resultado da conta que aparecerá na lista.
    Int resultado;
    // Variavel cont.
    Int cont = 0;
    Do{
    Resultado = limite % 2;
    lista.addElement(resultado);
    Cont++;
    While (cont <= 10){
    }
    // Apresentando o resultado na lista.
    jLResultado.setmodel(lista);
    }

     

    Importei o DefaultListModel, não sei se este código esta certo ou muito errado, sei que estou quebrando muito a cabeça com isto.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!