Ir para conteúdo
Fórum Script Brasil
  • 0

dúvidas sobre programação


Ana Solano

Pergunta

olá pessoal,tenho umas dúvidas sobre meu programa que desenvolvi no curso que estou no 2 semestre. aí está ele :

#include<stdio.h>

#include<conio.h>

#define ESC 27

void TELA();

void MENU();

void PAGAMENTO();

void main ()

{

clrscr();

TELA();

MENU();

TELA();

PAGAMENTO();

getch();

}

void TELA()

{

int A,B,C,D;

textbackground(5);

clrscr();

for (A=1; A<80; A++)

{

printf("-");

}

gotoxy(01,23);

for (B=1; B<80; B++)

{

printf("-");

}

gotoxy(01,01);

for (C=1; C<24; C++)

{

printf("|\n");

}

for (D=1; D<24; D++)

{

gotoxy(79,D);

printf("|\n");

}

gotoxy(29,4);

printf("VENDA SOLANO");

gotoxy(4,8);

printf("ITEM");

gotoxy(14,8);

printf("QUANTIDADE");

gotoxy(32,8);

printf("DESCRI€AO");

gotoxy(48,8);

printf("VALOR UNITARIO");

gotoxy(66,8);

printf("VALOR TOTAL");

gotoxy(52,20);

printf("SUBTOTAL: ");

gotoxy(52,21);

printf("ACRESC/DESC: ");

gotoxy(52,22);

printf("TOTAL: ");

}

void MENU()

{

float qtd,descricao,valor,total,vlrtt,subtt,porc,reais;

int cont,item,incremento;

char TECLA;

char* opc,opca,opcb,opcc;

subtt=0;

incremento=0;

item=1;

TECLA=0;

for (cont=1; cont<11 && TECLA!=ESC; cont++)

{

gotoxy(5,10+incremento);

printf("%i",item);

gotoxy(18,10+incremento);

scanf("%f",&qtd);

gotoxy(34,10+incremento);

scanf("%s",&descricao);

gotoxy(53,10+incremento);

scanf("%f",&valor);

vlrtt=valor*qtd;

gotoxy(68,10+incremento);

printf("R$ %4.2f",vlrtt);

subtt=subtt+vlrtt;

item++;

incremento++;

TECLA=getch();

if (TECLA==ESC)

{

gotoxy(68,20);

printf("R$ %4.2f",subtt);

gotoxy(2,24);

printf("ACRESCIMO OU DESCONTO? (S/N)?");

gotoxy(32,24);

scanf("%s",&opc);

if (opc=='S')

{

gotoxy(2,24);

delline();

gotoxy(2,24);

printf("ACRESCIMO? (S/N)? ");

gotoxy(2,26);

scanf("%s",&opca);

gotoxy(2,24);

delline();

if (opca=='S')

{

gotoxy(2,24);

printf("PORCENTAGEM OU REAIS? (P/R)? ");

gotoxy(31,24);

scanf("%s",&opcb);

if (opcb=='P')

{

gotoxy(2,24);

delline();

gotoxy(2,24);

printf("INFORME A PORCENTAGEM: %");

gotoxy(25,24);

scanf(" %f",&porc);

gotoxy(68,21);

printf("+%4.2f %",porc);

total=(subtt*porc)/100+subtt;

gotoxy(68,22);

printf("R$ %4.2f",total);

}

else

{

gotoxy(2,24);

delline();

gotoxy(2,24);

printf("INFORME O VALOR DO ACRESCIMO: R$");

gotoxy(35,24);

scanf("%f",&reais);

gotoxy(68,21);

printf("+%4.2f R$",reais);

total=subtt+reais;

gotoxy(68,22);

printf("R$ %4.2",&total);

}

}

else

{

gotoxy(2,24);

delline();

gotoxy(2,24);

printf("DESCONTO EM PORCENTAGEM OU REAIS? (P/R)? ");

gotoxy(43,24);

scanf("%s",&opcc);

if (opcc=='P')

{

gotoxy(2,24);

delline();

gotoxy(2,24);

printf("INFORME A PORCENTAGEM: %");

gotoxy(25,24);

scanf(" %f",&porc);

gotoxy(68,21);

printf("- %4.2f %",porc);

total=subtt-(subtt*porc)/100;

gotoxy(68,22);

printf("R$ %4.2f",total);

}

else

{

gotoxy(2,24);

delline();

gotoxy(2,24);

printf("INFORME O VALOR DO DESCONTO: R$");

gotoxy(36,24);

scanf("%f",&reais);

gotoxy(68,21);

printf("R$ %4.2f",reais);

total=subtt-reais;

gotoxy(68,22);

printf("R$ - %5.2f",total);

}

}

}

else

{

gotoxy(2,24);

delline();

gotoxy(68,21);

printf("0.00");

gotoxy(68,22);

printf("R$ %4.2f",subtt);

}

}

}

}

void PAGAMENTO()

{

char opcaod;

float total,troco,dinheiro,cartaocredito,cartaodebito,ticket;

char chequeprazo,chequevista,convenio,vale,crediario;

char cartao;

int senha,parcelas,parc,qnt;

char A,B,C,D,E,V,M;

clrscr();

gotoxy(22,1);

printf("OPCOES DE PAGAMENTO");

gotoxy(22,3);

printf(" [1] DINHEIRO");

gotoxy(22,4);

printf(" [2] CARTAO DE CREDITO");

gotoxy(22,5);

printf(" [3] CARTAO DE DEBITO");

gotoxy(22,6);

printf(" [4] TICKET");

gotoxy(22,7);

printf(" [5] CHEQUE A PRAZO");

gotoxy(22,8);

printf(" [6] CHEQUE µ VISTA");

gotoxy(22,9);

printf(" [7] CONVENIO");

gotoxy(22,10);

printf(" [8] VALE");

gotoxy(22,11);

printf(" [9] CREDIARIO");

gotoxy(22,15);

printf(" DIGITE O NUMERO REFERENTE A FORMA DO PAGAMENTO: ");

scanf("%c",&opcaod);

switch(opcaod)

{

case 1:

{

clrscr();

gotoxy(20,2);

printf("PAGAMENTO A DINHEIRO");

gotoxy(20,4);

printf("DINHEIRO RECEBIDO:");

scanf("%f",&dinheiro);

troco=(total-dinheiro);

gotoxy(20,20);

printf("OBRIGADA PELA PREFERENCIA, E VOLTE SEMPRE");

break;

}

case 2:

{

clrscr();

gotoxy(20,2);

printf("INFORME QUAL SEU CARTAO: ");

gotoxy(20,4);

printf("[M] MASTER CARD");

gotoxy(20,5);

printf("[V] VISA");

break;

}

case 10:

{

clrscr();

gotoxy(20,5);

printf("CARTAO MASTER CARD");

scanf("%c",&cartao);

gotoxy(20,7);

printf("DIGITE A SENHA: ");

scanf("%i",&senha);

gotoxy(20,9);

printf("CREDITO PARA: ");

gotoxy(20,10);

scanf("DIAS %i",&qnt);

printf("INFORME PARA QUANTOS DIAS SERA O PAGAMENTO");

gotoxy(20,12);

printf("qnt %i DIAS");

gotoxy(20,20);

printf("OBRIGADA PELA PREFERENCIA, E VOLTE SEMPRE!");

break;

}

case 11:

{

clrscr();

gotoxy(20,2);

printf("CARTAO VISA");

gotoxy(20,4);

scanf("%c",&cartao);

gotoxy(20,6);

printf("DIGITE A SENHA DO CARTAO: ");

scanf("%i",&senha);

gotoxy(20,8);

printf("CREDITO PARA: ");

scanf("%i",&qnt);

gotoxy(20,9);

printf("qnt %i DIAS");

gotoxy(20,20);

printf("OBRIGADA PELA PREFERENCIA, E VOLTE SEMPRE");

break;

}

case 3:

{

clrscr();

gotoxy(20,2);

printf("CARTAO A DEBITO");

gotoxy(20,4);

printf("DIGITE A SENHA: ");

scanf("%f",&senha);

gotoxy(21,6);

printf("VALOR DESCONTADO");

gotoxy(20,20);

printf("OBRIGADA PELA PREFERENCIA, E VOLTE SEMPRE");

break;

}

case 4:

{

clrscr();

gotoxy(20,2);

printf("COMPRA POR TICKET");

gotoxy(20,4);

printf("DIGITE A SENHA: ");

scanf("%f",&senha);

gotoxy(21,6);

printf("VALOR DESCONTADO");

gotoxy(20,20);

printf("OBRIGADA PELA PREFERENCIA, E VOLTE SEMPRE");

break;

}

case 5:

{

clrscr();

gotoxy(20,2);

printf("CHEQUE A PRAZO PARA 30 DIAS");

gotoxy(20,20);

printf("OBRIGADA PELA PREFERENCIA, E VOLTE SEMPRE");

break;

}

case 6:

{

clrscr();

gotoxy(20,2);

printf("CHEQUE µ VISTA");

gotoxy(20,20);

printf("OBRIGADA PELA PREFERENCIA ,E VOLTE SEMPRE");

break;

}

case 7:

{

clrscr();

gotoxy(20,2);

printf("INFORME QUAL O SEU CONVENIO: ");

gotoxy(20,3);

printf("CONVENIOS ACEITOS: ");

gotoxy(20,4);

printf(" [A] SISMURG ");

gotoxy(20,5);

printf(" FAHERG ");

gotoxy(20,6);

printf(" [C] SESC ");

gotoxy(20,7);

printf(" [D] APROFURG ");

gotoxy(20,8);

printf(" [E] SAMEISA ");

scanf("%c",&convenio);

printf("%c",convenio);

gotoxy(20,15);

printf("OPERACAO REALIZADA COM SUCESSO");

gotoxy(20,20);

printf("OBRIGADA PELA PREFERENCIA, E VOLTE SEMPRE");

break;

}

case 8:

{

clrscr();

gotoxy(20,2);

printf("DIGITE A SENHA: ");

scanf("%i",&senha);

gotoxy(20,3);

printf("VALOR DESCONTADO");

gotoxy(20,20);

printf("OBRIGADA PELA PREFERENCIA, E VOLTE SEMPRE");

break;

}

case 9:

{

clrscr();

gotoxy(20,2);

printf("COMPRA A CREDIARIO");

gotoxy(20,3);

printf("INFORME A QUANTIDADE DE PARCELAS:");

scanf("%i",&parcelas);

parc=(total/parcelas);

gotoxy(20,4);

printf("SUA COMPRA FICOU: ");

printf("%i",parcelas);

gotoxy(20,5);

printf("R$ %4.2i",parc);

gotoxy(20,20);

printf("OBRIGADA PELA PREFERENCIA, E VOLTE SMPRE");

break;

}

}

}

É ele é grande mas simples,só que quero colocar horário,que imprima e que identifique o total obtido para que faça o cálculo.

desde já agradeço muuuuuuuito!!!!!

Link para o comentário
Compartilhar em outros sites

14 respostass a esta questão

Posts Recomendados

  • 0

Te aconselho que coloque o codigo entre as tags CODE, assim fica bem mais facil, e...(preguiça) pra que serve seu programa(sou novato mas... porque não tentar ajudar?) :D

Editado por phdmais
Link para o comentário
Compartilhar em outros sites

  • 0
Te aconselho que coloque o codigo entre as tags CODE, assim fica bem mais facil, e...(preguiça)

Interessante você mencionar isso. Li em algum lugar (não lembro onde) alguém dizendo algo parecido: que é também um bom conselho quotar apenas o necessário do post anterior, de forma que se possa entender a resposta. Mas isso é uma tremenda bobagem, né? O legal é quotar tudo. Fica bem quilômétrico. E é até uma forma de criar suspense. Tipo: "o que será que o cara vai dizer?" Inclusive ajuda a testar a rodinha do mouse. :)

Link para o comentário
Compartilhar em outros sites

  • 0
Te aconselho que coloque o codigo entre as tags CODE, assim fica bem mais facil, e...(preguiça)

Interessante você mencionar isso. Li em algum lugar (não lembro onde) alguém dizendo algo parecido: que é também um bom conselho quotar apenas o necessário do post anterior, de forma que se possa entender a resposta. Mas isso é uma tremenda bobagem, né? O legal é quotar tudo. Fica bem quilômétrico. E é até uma forma de criar suspense. Tipo: "o que será que o cara vai dizer?" Inclusive ajuda a testar a rodinha do mouse. :)

Não vou dar ouvidos a você, afinal, não quero implicar, e se você veio aqui para me ajudar, nem ajude, eu não presciso de sua ajuda, quem prescisa e a Ana ali em cima ali em cima. e me diga, onde eu quotei tudo? E você veio para o forum pra implicar ou pra ajudar e ser ajudado? cara você e um tremendo f!@#$%

Link para o comentário
Compartilhar em outros sites

  • 0

Infelizmente não posso ajudar a colega. Tenho problema de visão e não consigo ler código sem a devida indentação. Mas tenho certeza que o problema logo será resolvido. Fico na torcida. :)

Quanto à sua crítica,...

Note que o espaço que hoje desperdiçamos não é de graça. É pago por alguém. Justamente por aquele que bota essa estrutura à sua disposição sem cobrar nada de você. O mínimo que podemos fazer é oferecer reciprocidade e tratar com respeito o que nos vem de graça. Você quotou o código inteiro da garota pra dizer uma simples frase. Faltou um pouquinho de respeito e esforço (bem pequeno) da sua parte. Era só apagar o quote. Não é tão difícil assim. E de quebra, ajuda os demais usuários a lerem sua mensagem.

Eu sou moderador em dois fóruns: Clipper (PCToledo) e C++ Builder (dicasBCB). Em todos o quotings desnecessários (como o seu) a punição é a advertência privada e a edição da mensagem, pra eliminar esse desperdício. Em casos extremos, suspensão, podendo chegar até a banimento.

Respondendo sua pergunta: sim, vim pra ajudar os colegas programadores. O "toque" que eu estou dando é pra ajudar você, a Ana, e qualquer um que leia esse post.

Link para o comentário
Compartilhar em outros sites

  • 0

Note que o espaço que hoje desperdiçamos não é de graça. É pago por alguém. Justamente por aquele que bota essa estrutura à sua disposição sem cobrar nada de você. O mínimo que podemos fazer é oferecer reciprocidade e tratar com respeito o que nos vem de graça. Você quotou o código inteiro da garota pra dizer uma simples frase. Faltou um pouquinho de respeito e esforço (bem pequeno) da sua parte. Era só apagar o quote. Não é tão difícil assim. E de quebra, ajuda os demais usuários a lerem sua mensagem.

Eu sou moderador em dois fóruns: Clipper (PCToledo) e C++ Builder (dicasBCB). Em todos o quotings desnecessários (como o seu) a punição é a advertência privada e a edição da mensagem, pra eliminar esse desperdício. Em casos extremos, suspensão, podendo chegar até a banimento.

E de você não faltou respeito, né? agora vem dando um de gentilzinho, e não intereça se você e moderrador em outros foruns, eu so desse foruns, a se toca

Link para o comentário
Compartilhar em outros sites

  • 0

Desculpe se deixei você transtornado com o sarcasmo de minha primeira mensagem. Sarcasmo é um defeito meu. Não consigo me livrar disso. Mas eu sou realmente gentil o tempo todo. E dedicado a ajudar sempre que posso. Não apenas em relação às questões técnicas, mas também, como é de minha obrigação e a de todos os usuários que respeitam o fórum que acessam gratuitamente, a dar um toque de vez em quando em alguém que não conhece as boas regras de convivência em fóruns ou newsgroups. Mas não se preocupe. Não vou mais retornar à esse assunto, até porque me parece que você não está num bom dia mesmo. Ademais, você já teve meu "toque". ;-)

EOT

Link para o comentário
Compartilhar em outros sites

  • 0
Desculpe se deixei você transtornado com o sarcasmo de minha primeira mensagem. Sarcasmo é um defeito meu. Não consigo me livrar disso. Mas eu sou realmente gentil o tempo todo. E dedicado a ajudar sempre que posso. Não apenas em relação às questões técnicas, mas também, como é de minha obrigação e a de todos os usuários que respeitam o fórum que acessam gratuitamente, a dar um toque de vez em quando em alguém que não conhece as boas regras de convivência em fóruns ou newsgroups. Mas não se preocupe. Não vou mais retornar à esse assunto, até porque me parece que você não está num bom dia mesmo. Ademais, você já teve meu "toque". ;-)

EOT

Bem sendo assim, aceito as pazes e, sim estou num dia péssimo, meu programa pascal não roda, já fiz de tudo, fiquei estressado, até que enfim, hoje eu esclui o compilador e decidi começar a programar C, o que deve ser mais facil, porem complicado, so que tem muitos outros recursos...

Link para o comentário
Compartilhar em outros sites

  • 0

poxa nunca fui tratada assim por não saber algo,me desculpem não queria calzar tudo isso.

Talvez eu vá parecer ridícula mas não sei onde é isso TAGS CODE, estou a 2 meses conhecendo programação,antes de entrar para esse curso não sabia nem como começava um programa.Mas sempre tive o sonho de saber e estou me esforçando.E graças a Deus estou acompanhando a turma muito bem.

mas de qualquer forma obrigada pela atenção! :mellow:

poxa nunca fui tratada assim por não saber algo,me desculpem não queria calsar tudo isso.

Talvez eu vá parecer ridícula mas não sei onde é isso TAGS CODE, estou a 2 meses conhecendo programação,antes de entrar para esse curso não sabia nem como começava um programa.Mas sempre tive o sonho de saber e estou me esforçando.E graças a Deus estou acompanhando a turma muito bem.

mas de qualquer forma obrigada pela atenção! :mellow:

Editado por Ana Solano
Link para o comentário
Compartilhar em outros sites

  • 0

Ana,

para usar as tags CODE basta coloca seu codigo entre os marcadores "[ code ]" e "[ /code ]"(sem as aspas e sem espaços).

Quando postar um programa faça uma breve descrição de sua funcionalidade e o que quer e onde quer, para facilitar as pessoas a entenderem seu codigo e te ajudar mais facilmente.

Outra coisa MUITO importante é indentar o codigo, da forma que está, um programa deste tamanho é muito chato de ler, então tente sempre indentar o codigo de seu programa.

Explique-nos melhor o que deseja.

Att.

Editado por Renato RRO
Link para o comentário
Compartilhar em outros sites

  • 0

Teu código ta bem confuso mesmo então não cheguei a ler todo, mas enquanto a tua pergunta.

"É ele é grande mas simples,só que quero colocar horário,que imprima e que identifique o total obtido para que faça o cálculo.

desde já agradeço muuuuuuuito!!!!!"

Enquanto ao horário você pode utilizar as funções da biblioteca time.h

Agora o total obtido eu não li direito teu código mas

você pode coloca os valores em um variável e cada vez

que fosse inserido um novo valor ela ia somando... por ae..

Té mais.

Link para o comentário
Compartilhar em outros sites

  • 0
Teu código ta bem confuso mesmo então não cheguei a ler todo, mas enquanto a tua pergunta.

"É ele é grande mas simples,só que quero colocar horário,que imprima e que identifique o total obtido para que faça o cálculo.

desde já agradeço muuuuuuuito!!!!!"

Enquanto ao horário você pode utilizar as funções da biblioteca time.h

Agora o total obtido eu não li direito teu código mas

você pode coloca os valores em um variável e cada vez

que fosse inserido um novo valor ela ia somando... por ae..

Té mais.

obrigada ;)

Ana,

para usar as tags CODE basta coloca seu codigo entre os marcadores "[ code ]" e "[ /code ]"(sem as aspas e sem espaços).

Quando postar um programa faça uma breve descrição de sua funcionalidade e o que quer e onde quer, para facilitar as pessoas a entenderem seu codigo e te ajudar mais facilmente.

Outra coisa MUITO importante é indentar o codigo, da forma que está, um programa deste tamanho é muito chato de ler, então tente sempre indentar o codigo de seu programa.

Explique-nos melhor o que deseja.

Att.

ta bom Renato

obrigada ;)

Teu código ta bem confuso mesmo então não cheguei a ler todo, mas enquanto a tua pergunta.

"É ele é grande mas simples,só que quero colocar horário,que imprima e que identifique o total obtido para que faça o cálculo.

desde já agradeço muuuuuuuito!!!!!"

Enquanto ao horário você pode utilizar as funções da biblioteca time.h

Agora o total obtido eu não li direito teu código mas

você pode coloca os valores em um variável e cada vez

que fosse inserido um novo valor ela ia somando... por ae..

Té mais.

obrigada ;)

Ana,

para usar as tags CODE basta coloca seu codigo entre os marcadores "[ code ]" e "[ /code ]"(sem as aspas e sem espaços).

Quando postar um programa faça uma breve descrição de sua funcionalidade e o que quer e onde quer, para facilitar as pessoas a entenderem seu codigo e te ajudar mais facilmente.

Outra coisa MUITO importante é indentar o codigo, da forma que está, um programa deste tamanho é muito chato de ler, então tente sempre indentar o codigo de seu programa.

Explique-nos melhor o que deseja.

Att.

ta bom Renato

obrigada ;)

É UM PROGRAMA DE UMA VENDA

TEM MENU --> ITEM QUANTIDADE DESCRIÇÃO VALOR UNITÁRIO VALOR TOTAL

EX.: 01 02 ARROZ 22 44.00

E ASSIM POR DIANTE ATÉ QUE APERTE A TECLA -ESC-, DAÍ APARECERÁ O SUBTOTAL QUE É A SOMA DOS TOTAIS

TERÁ A PERGUNTA -DESCONTO OU ACRÉSCIMO?- SE FOR SIM SEGUIRÁ RESPONDENDO AS PERGUNTAS, SE NÃO, PASSARÁ PARA A PRÓXIMA TELA QUE SERÁ A DE -FORMAS DE PAGAMENTO-

AÍ É QUE ESTA O PROBLEMA?

você TERIA QUE COMPILAR ELE NO SEU PC, você TEM O PROGRAMA?

SE NÃO TIVER DEIXA RA LÁ

JÁ ESTOU ENCOMODANDO DE MAIS.DESDE JÁ AGRADEÇO ;)

Link para o comentário
Compartilhar em outros sites

  • 0

Eu não entendi completamente a pergunta mas você ta dizendo que o problema ta

quando a pessoa digita todos os campos e aperta Esc?

Se for esta parte do teu codigo ta errado

TECLA=getch();

if (TECLA==ESC)
porque tem um negocio com o getch(); que parece q você tem q ler ele duas vezes porque ele coloca o valor ascii no buffer uma coisa assim teste lendo ele duas vezes se não funciona avisa q tento ajudar outro erro aqui nesse ponteiro
char* opc
depois tu faz isso
scanf("%s",&opc);
if (opc=='S')
porque ponteiro? para um caractere? e scanf ta errado tu teria q faze assim
scanf("%c",&opc);
if (opc=='S')

e não declara o char opc como ponteiro mas sim como um tipo caractere.

e teu main não ta returnando o return 0 para avisa para o sistema q o teu programa

terminou corretamente em alguns compiladores ele nem compila.

EDIT: O valor da tecla Esc em ascii é 27 ou 32 mas n tenho certeza mas é um desses valores =P.

Té mais.

Editado por Bat4K
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...