Ir ao conteúdo
  • Cadastre-se

C Dificuldade em um exercício de Ingressos em C


Posts recomendados

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main (){
    //Teatro da faculdade//
    int op=1,lin,col,cond,i,j, n, t, x, p;
   	char ascii = 79;
	char asciii = 158;
    int Cadeiras [20][20];
        for(i=0;i<20;i++){
            for(j=0;j<20;j++){
                Cadeiras[i][j]=0;//Disponíveis
            }
        }
    
    
    do{
        printf("\n1-Comprar ingresso\n");
        printf("\n2-Ver disposicao das cadeiras\n");
        printf("\n3-Reintegrar\n");
        printf("\n4-Escolha concluída\n");
        scanf("%d",&op);
        switch(op){
            case 1://vender ingresso
                printf("\nFila: ");
                scanf("%d",&lin);
                printf("\nColuna: ");
                scanf("%d",&col);
                Cadeiras[lin-1][col-1]=1;
    	printf("\tInforme sua forma de pagamento\n");
    	printf("1-Dinheiro\n");
    	printf("2-Cartao\n");
    	scanf("%d");
    		if(op==1){
    			printf("1-Entrada meia :  5,00\n");
    			printf("2-Entrada inteira: 10,00\n");
    			scanf("%d");
				printf("Seu ingresso foi adquirido com sucesso!\n");
			}
                break;
            
            case 2://ver disposição das cadeiras
					n=0;
					printf("\tC\n\tO\n\tL\n\tU\n\tN\n\tA\n");
					printf("LINHA");
					printf("\t  0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19\n");
							for(i=0 ; i<20; i++)
					{
									printf("\t");
									n==1;
									printf("%d ",n);
									n++;
								
								for(j=0 ; j<20 ; j++)
								{
									if(Cadeiras[i] [j]==0)
									{
										printf("%c ",ascii);
									}	
									else
										printf("%c ",asciii);
								}
								
							printf("\n");
					}
					printf("\n");
					printf("-------------------------------------------------------------\n");
					break;
            case 3://3-Reintegrar
                printf("Reintegrar UMA (1)....\nReintegrar TUDO(2)...");
                scanf("%d",cond);
                if(cond==1){
                    printf("\nFila: ");
                    scanf("%d",&lin);
                    printf("\nCadeira: ");
                    scanf("%d",&col);
                    Cadeiras [lin-1][col-1]=0;
                }
                else
                    for( i=0;i<10;i++){
                        for( j=0;j<40;j++){
                            Cadeiras[i][j]=0;
                        }
                    }
                break;
            default:
                op=0;
        }
    }while(op!=0);  
    system("pause");
            
            
            
            
            
    return 0;
}

Eu preciso fazer um programa de compra de ingresso , que no ticket quando terminar a compra venha escrito a poltrona escolhida ,ja tentei algumas formas e não consegui , vou anexar o codigo a cima,se alguem puder me ajudar :

  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

  • mês depois...

@Thassyano Rodrigues   para você imprimir o ticket você coloca os dados que pegou anteriormente , então seu código com algumas modificações poderia ser assim  :

#include <stdio.h>
#include <windows.h>
#include <stdlib.h>
#include <math.h>
void gotoxy(int x, int y){
    COORD c;
    c. X = x;
    c. Y = y;
    SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),c);
}
int Cadeiras [20][20];
int main(){
    //Teatro da faculdade//
    int carac[8]={179,47,196,92,179,47,196,92};
    int op=1,lin,col,cond,i,j, n, t, x, y;
   	char ascii = 79;
	char asciii = 158;
    do{
        printf("1 - Comprar ingresso\n");
        printf("2 - Ver disposicao das cadeiras\n");
        printf("3 - Reintegrar\n");
        printf("4 - Escolha concluída\n");
        j=0;
        HANDLE hOut;                              /* controle dos dispositivos do pc         */
        hOut= GetStdHandle(STD_OUTPUT_HANDLE);    /* pega a saída padrão                     */
        CONSOLE_SCREEN_BUFFER_INFO SBInfo;        /* informações sobre a buffer da tela      */
        GetConsoleScreenBufferInfo(hOut, &SBInfo);/* pega a posição do cursor do console     */
        x = SBInfo.dwCursorPosition.X;            /* X será a posição x do cursor no console */
        y = SBInfo.dwCursorPosition.Y;            /* Y será a posição y do cursor no console */
        do{
            for(n=0;n<8;n++){
                if(kbhit()){
                    gotoxy(x+10,y+1);
                    printf("      \n");
                    op=getche()-48;
                    j=10;
                    break;
                }
                gotoxy(x+10,y+1);
                printf("  %c",carac[n]);          /* gira o caractere na tela                */
                Sleep(100);                        /* dorme um tempinho                       */
            }
        }while(j==0);
        printf("\n");
        switch(op){
        case 1://vender ingresso
            do{
                printf("\nFila: ");
                scanf("%d",&lin);
                printf("\nColuna: ");
                scanf("%d",&col);
                if(Cadeiras[lin-1][col-1]!=0){
                    printf("essa Poltrona esta ocupada !\n");
                    printf("escolha outra conforme esse mapa :\n");
                    printf("onde eh  X  esta ocupada !\n");
                    printf("     01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20\n");
                    for(j=0;j<20;j++){
                        printf("%2d - ",j+1);
                        for(i=0;i<20;i++){
                            if(Cadeiras[j][i]==1)
                                printf("X  ");
                            else
                                printf(".  ");
                        }
                        printf("\n");
                    }
                }
            }while(Cadeiras[lin-1][col-1] != 0);
            Cadeiras[lin-1][col-1]=1;
    	    printf("\tInforme sua forma de pagamento\n");
    	    printf("1 - Dinheiro\n");
    	    printf("2 - Cartao\n");
    	    scanf("%d",&op);
    		if(op==1){
    			printf("1 - Entrada meia    :  5,00\n");
    			printf("2 - Entrada inteira : 10,00\n");
    			scanf("%d",&j);
				printf("Seu ingresso foi adquirido com sucesso!\n\n");
				HANDLE hOut;                              /* controle dos dispositivos do pc         */
                hOut= GetStdHandle(STD_OUTPUT_HANDLE);    /* pega a saída padrão                     */
                CONSOLE_SCREEN_BUFFER_INFO SBInfo;        /* informações sobre a buffer da tela      */
                GetConsoleScreenBufferInfo(hOut, &SBInfo);/* pega a posição do cursor do console     */
                x = SBInfo.dwCursorPosition.X;            /* X será a posição x do cursor no console */
                n = SBInfo.dwCursorPosition.Y;            /* Y será a posição y do cursor no console */
                printf("\n          Seu Ticket     %c\n\n",169);
				printf("        Poltrona ---> %d\n",(lin-1)*20+col);
				printf("        Valor pago -> %d\n",j*5);
				printf("        Com Dinheiro !\n\n");
				for(j=0;j<30;j++){
                    if(j<8){
                        gotoxy(0,n+j);
                        printf("%c",186);
                        gotoxy(30,n+j);
                        printf("%c",186);
                    }
                    gotoxy(j,n);
                    printf("%c",205);
                    gotoxy(j,n+8);
                    printf("%c",205);
				}
				gotoxy(0,n   );printf("%c",201);
				gotoxy(0,n+8 );printf("%c",200);
				gotoxy(30,n  );printf("%c",187);
				gotoxy(30,n+8);printf("%c",188);
				gotoxy(0,n+10);
			}
            break;
        case 2://ver disposição das cadeiras
                n=0;
                printf("\tC\n\tO\n\tL\n\tU\n\tN\n\tA\n");
                printf("LINHA");
                printf("\t   00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19\n");
                for(i=0 ; i<20; i++){
                    printf("\t");
                    n==1;
                    printf("%2d  ",n);
                    n++;
                    for(j=0 ; j<20 ; j++){
                        if(Cadeiras[i] [j]==0){
                            printf("%c  ",ascii);
                        }
                        else
                            printf("%c ",asciii);
                    }
                    printf("\n");
                }
                printf("\n");
                printf("-------------------------------------------------------------\n");
                break;
            case 3://3-Reintegrar
                printf("Reintegrar UMA (1)....\nReintegrar TUDO(2)...");
                scanf("%d",cond);
                if(cond==1){
                    printf("\nFila    : ");
                    scanf("%d",&lin);
                    printf("\nCadeira : ");
                    scanf("%d",&col);
                    Cadeiras [lin-1][col-1]=0;
                }
                else
                    for( i=0;i<10;i++){
                        for( j=0;j<40;j++){
                            Cadeiras[i][j]=0;
                        }
                    }
                break;
            default:
                op=0;
        }
    }while(op!=0);
    system("pause");
    printf("\n\n");
    return 0;
}

 

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

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!