Ir para conteúdo

Arquivado

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

sbano

Problemas com switch

Recommended Posts

PREZADOS,QUANDO COMPILO ESTE PROGRAMA, O 1º SWITCH NÃO FUNCIONA, APENAS ESCREVE A OPÇÃO NA TELA E DÁ A RESPOSTA DEFAULT AUTOMATICAMENTE PULANDO PARA O 2º SWITCH. COMO FAÇO PARA QUE ELE FUNCIONE ???# include <conio.h># include <stdio.h># include <string.h>void main () { int pt,pe,ie,fo,cv; char loc[30]; float totalPt,totalFo,totalPe,totalIe,totalCv,soma; cv = 0; fo = 0; pe = 0; printf("\a*****************GERENCIA DE SUPORTE A TELECOMUNICACOES****************\n"); printf("*******PROGRAMA PARA CALCULO DE PROJETOS DE CABEAMENTO ESTRUTURADO*****\n"); printf("Digite o nome da localidade:"); gets(loc); printf("Digite a quantidade de pontos telematicos a ser instalada:\n"); scanf("%d", &pt); printf("Digite a quantidade de cabos de fibra optica a ser instalada:\n"); scanf("%d", &fo); if (fo < 3 || fo == 3) { fo = fo * 8000.00; } else { fo = fo * 4555.00; } printf("Digite o comprimento(m) de infra-estrutura externa a ser instalada (2x2'):\n"); scanf("%d", &ie); printf("sera necessaria a instalacao de piso elevado ?\n1 - SIM\n2 - NAO\n"); char opc; scanf("%c", &opc); switch (opc) { case '1': printf("Voce escolheu a opcao 1 !\n"); printf("Digite a dimensao da area para instalacao de piso elevado:"); scanf("%d", &pe); totalPe = pe * 170.00; break; case '2': printf("Voce escolheu a opcao 2 !\n"); printf("\aEste orcamento nao contemplara instalacao de piso elevado!\n"); break; default: printf("Voce digitou uma opcao invalida !\n"); } printf("sera necessaria o fornecimento de conversores FOxUTP ?\n1 - SIM\n2 - NAO\n"); char esc; scanf("%c", &esc); switch (esc) { case '1': printf("Voce escolheu a opcao 1 !\n"); printf("Digite a quantidade de conversores necessarios, incluindo BKP:\n"); scanf("%d", &cv); totalCv = cv * 350.00; break; case '2': printf("Voce escolheu a opcao 2 !\n"); printf("\aEste orcamento nao contemplara o fornecimento de conversores!\n"); break; default: printf("Voce digitou uma opcao invalida !\n"); }totalPt = pt * 330.00;totalFo = fo;totalIe = ie * 200.00;soma = totalPt + totalFo + totalIe + totalPe + totalCv;printf("Valores para %s\t\n",loc);printf("Valor total para pontos telematicos: R$ %4.2f\t\n",totalPt);printf("Valor total para cabos de fibra optica: R$ %4.2f\t\n",totalFo);printf("Valor total para infra-estrutura externa: R$ %4.2f\t\n",totalIe);printf("Valor total para piso elevado: R$ %4.2f\t\n",totalPe);printf("Valor total para conversores: R$ %4.2f\t\n",totalCv);printf("Valor total do projeto: R$ %4.2f\t\n",soma);getch ();return (0);}

Compartilhar este post


Link para o post
Compartilhar em outros sites

voce nao declarou o opc !!!!

por isso o erro !!!

 

 

main()

int c,i,nbranco,noutro,ndigito[10];

nbranco=noutro=0;

for(i=0;<10;i++)

ndigito=0;

while((c=getchar())!=EOF)

switch©{

case'0':

case'1':

case'2':

case'3':

case'4':

case'5':

case'6':

case'7':

case'8':

case'9':

case'10':

ndigito[c-'0']++;

break;

nbranco++;

break

default:

noutro++;

break

}

printf("digitos=");

for (i=0;i<10;i++)

printf("%d",ndigito);

printf("\nespaço branco=%d,outros=%d\n",nbranco,noutro);

}

 

espero que ajude

Compartilhar este post


Link para o post
Compartilhar em outros sites

PREZADOS,QUANDO COMPILO ESTE PROGRAMA, O 1º SWITCH NÃO FUNCIONA, APENAS ESCREVE A OPÇÃO NA TELA E DÁ A RESPOSTA DEFAULT AUTOMATICAMENTE PULANDO PARA O 2º SWITCH. COMO FAÇO PARA QUE ELE FUNCIONE ???# include <conio.h># include <stdio.h># include <string.h>void main () { int pt,pe,ie,fo,cv; char loc[30]; float totalPt,totalFo,totalPe,totalIe,totalCv,soma; cv = 0; fo = 0; pe = 0; printf("\a*****************GERENCIA DE SUPORTE A TELECOMUNICACOES****************\n"); printf("*******PROGRAMA PARA CALCULO DE PROJETOS DE CABEAMENTO ESTRUTURADO*****\n"); printf("Digite o nome da localidade:"); gets(loc); printf("Digite a quantidade de pontos telematicos a ser instalada:\n"); scanf("%d", &pt); printf("Digite a quantidade de cabos de fibra optica a ser instalada:\n"); scanf("%d", &fo); if (fo < 3 || fo == 3) { fo = fo * 8000.00; } else { fo = fo * 4555.00; } printf("Digite o comprimento(m) de infra-estrutura externa a ser instalada (2x2'):\n"); scanf("%d", &ie); printf("sera necessaria a instalacao de piso elevado ?\n1 - SIM\n2 - NAO\n"); char opc; scanf("%c", &opc); switch (opc) { case '1': printf("Voce escolheu a opcao 1 !\n"); printf("Digite a dimensao da area para instalacao de piso elevado:"); scanf("%d", &pe); totalPe = pe * 170.00; break; case '2': printf("Voce escolheu a opcao 2 !\n"); printf("\aEste orcamento nao contemplara instalacao de piso elevado!\n"); break; default: printf("Voce digitou uma opcao invalida !\n"); } printf("sera necessaria o fornecimento de conversores FOxUTP ?\n1 - SIM\n2 - NAO\n"); char esc; scanf("%c", &esc); switch (esc) { case '1': printf("Voce escolheu a opcao 1 !\n"); printf("Digite a quantidade de conversores necessarios, incluindo BKP:\n"); scanf("%d", &cv); totalCv = cv * 350.00; break; case '2': printf("Voce escolheu a opcao 2 !\n"); printf("\aEste orcamento nao contemplara o fornecimento de conversores!\n"); break; default: printf("Voce digitou uma opcao invalida !\n"); }totalPt = pt * 330.00;totalFo = fo;totalIe = ie * 200.00;soma = totalPt + totalFo + totalIe + totalPe + totalCv;printf("Valores para %s\t\n",loc);printf("Valor total para pontos telematicos: R$ %4.2f\t\n",totalPt);printf("Valor total para cabos de fibra optica: R$ %4.2f\t\n",totalFo);printf("Valor total para infra-estrutura externa: R$ %4.2f\t\n",totalIe);printf("Valor total para piso elevado: R$ %4.2f\t\n",totalPe);printf("Valor total para conversores: R$ %4.2f\t\n",totalCv);printf("Valor total do projeto: R$ %4.2f\t\n",soma);getch ();return (0);}

printf("sera necessaria a instalacao de piso elevado ?\n1 - SIM\n2 - NAO\n");char opc;scanf("%c", &opc);você nao limpou o buff do teclado.fflush(stdin);printf("sera necessaria a instalacao de piso elevado ?\n1 - SIM\n2 - NAO\n");char opc; // nao sei pq você ta declarando aqui, que eu saiba a declaração fica no começo do programafflush(stdin);scanf("%c", &opc);// Sempre q você usa char devemos limpar o buff do teclado %c ok

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.