AJUDA NESTE CÓDIGO EM C.

1. AJUDA NESTE CÓDIGO EM C.

Matheus
Archperson

(usa Kali)

Enviado em 29/10/2016 - 11:48h

Olá amigos, estou programando um código de compra e venda de ingressos para Cinema.
Inicialmente fiz ele em C++, todavia com ajuda dos colegas do fórum converti para C. ( No qual era obrigatório o projeto)
Mas ainda está dando erro, ele compila, mas na hora de selecionar o Switch 1 (case1) ele para de funcionar.
Além do fato do char não estar entrando.


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


int main() {


printf("\t===============================================\n");
printf("\t===============================================\n");
printf("\t========== CINE MAIS MAIS MATHEUS ========\n");
printf("\t===============================================\n");
printf("\t===============================================\n");


int CAD[12] [22];
int op=1,lin,col,cond;

for(int i=0; i<12; i++){
for(int j=0; j<22; j++){
CAD [i] [j]=0; //DISPONIVEIS
}
}
do{
printf("\t| 1 - VENDA DE INGRESSOS \n");
printf("\t| 2 - Ver disponibilidade das cadeiras\n");
printf("\t| 3 - Desistir da compra\n\n");

scanf("%i",&op);

switch(op){
case 1: //VENDER INGRESSO
printf("\t Fila");
scanf("\t lin");
printf("\t Cadeira");
printf("\t coluna");
CAD[lin-1][col-1]=1;
break;
case 2:
for(int i=0; i<12; i++){
for(int j=0; j<22; j++){
if(CAD[i][j] == 0)
printf("\t char (176)");
else
scanf("\t char(1)");
}
}
break;
case 3:
printf("\t Reintegrar uma (1)... \nReintegrar TUDO (2)...");
scanf("\t cond");

if(cond == 1){
printf("\t Fila");
scanf("\t lin");
printf("\t Cadeira");
scanf("\t col");
CAD[lin-1][col-1]=0;

}
else
for(int i=0; i<12; i++){
for (int j=0; j<22; j++){
CAD[i][j]=0;
}
}

break;
default:
op=0;





}
}while(op!=0);




return 0;



}


Criei um tópico ontem, mas acabei excluindo por um descuido meu.
Desde já, agradeço a atenção de todos.


  


2. Re: AJUDA NESTE CÓDIGO EM C.

Adriano
Adriano Sant

(usa Ubuntu)

Enviado em 29/10/2016 - 18:29h

Creio que no codigo você deve inicializar o valor da coluna , pelo visto ele esta pegando lixo da memoria,
fiz um teste aqui e funcionou.
Tome cuidado com esse trecho do codigo CAD[lin-1][col-1] = 1; se lin = 0 , deve dar erro tbm.

Sim,alguns trechos do codigo você trocou a função print pelo scanf por isso erro na hora de printar.


3. Re: AJUDA NESTE CÓDIGO EM C.

Perfil removido
removido

(usa Nenhuma)

Enviado em 29/10/2016 - 18:33h

Alguns scanf() estão estranhos, como em

scanf("\t lin"); 


Era para ser como os outros que você fez, do tipo

scanf("%d", &num); 


EDIT:

O lixo é por causa dos scanf() estranhos.

----------------------------------------------------------------------------------------------------------------
Nem direita, nem esquerda. Quando se trata de corrupção o Brasil é ambidestro.
(anônimo)

Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts