collapse

* Posts Recentes

Amplificador - Rockboard HA 1 In-Ear por almamater
[Ontem às 19:13]


O que é isto ? por KammutierSpule
[26 de Março de 2024, 19:35]


Bateria - Portátil por almamater
[25 de Março de 2024, 22:14]


Emulador NES em ESP32 por dropes
[13 de Março de 2024, 21:19]


Escolher Osciloscópio por jm_araujo
[06 de Fevereiro de 2024, 23:07]


TP4056 - Dúvida por dropes
[31 de Janeiro de 2024, 14:13]


Leitura de dados por Porta Serie por jm_araujo
[22 de Janeiro de 2024, 14:00]


Distancia Cabo por jm_araujo
[08 de Janeiro de 2024, 16:30]


Meu novo robô por josecarlos
[06 de Janeiro de 2024, 16:46]


Laser Engraver - Alguém tem? por almamater
[16 de Dezembro de 2023, 14:23]

Autor Tópico: system("PAUSE")  (Lida 10173 vezes)

0 Membros e 1 Visitante estão a ver este tópico.

Offline BigFoot

  • Mini Robot
  • *
  • Mensagens: 22
system("PAUSE")
« em: 12 de Fevereiro de 2015, 13:21 »
Boas Pessoal tenho um trabalho de programação para fazer... e preciso de usar a função system("PAUSE") para parar o programa em um ponto... mas tambem preciso que a frase seja alterada em vez de "Prima qualquer tecla para continuar" preciso da frase "Volte a Tentar" existe alguma maneira de mudar a frase???

Aguardo respostas... Agradeço toda a ajuda

Offline msr

  • Mini Robot
  • *
  • Mensagens: 798
Re: system("PAUSE")
« Responder #1 em: 12 de Fevereiro de 2015, 14:35 »
printf("Prima qualquer tecla...")
getchar()

A segunda função bloquei enquando nao premires nenhuma tecla :)

Offline Njay

  • Mini Robot
  • *
  • Mensagens: 3.598
    • Tróniquices
Re: system("PAUSE")
« Responder #2 em: 12 de Fevereiro de 2015, 14:59 »
Abre uma linha de comando e faz

help pause

e tens aí a tua resposta. Acho que não te safas só com a system().
« Última modificação: 12 de Fevereiro de 2015, 15:02 por Njay »

Offline BigFoot

  • Mini Robot
  • *
  • Mensagens: 22
Re: system("PAUSE")
« Responder #3 em: 12 de Fevereiro de 2015, 15:41 »
Malta muito Obrigado mas resolvi a solução por isto

printf("Por favor volte a tentar ... ");
                system("pause > nul");

o > nul apaga a frase escrita e entao fica com a anterior...

Obrigado pela ajuda e o vosso tempo na mesma!!

Abraço e boas Invenções

Offline Njay

  • Mini Robot
  • *
  • Mensagens: 3.598
    • Tróniquices
Re: system("PAUSE")
« Responder #4 em: 12 de Fevereiro de 2015, 15:44 »
Boa :)
Não apaga a frase, "manda-a para o lixo".

StarRider

  • Visitante
Re: system("PAUSE")
« Responder #5 em: 12 de Fevereiro de 2015, 15:53 »

LOL ... usar uma chamada ao interpretador de comandos do sistema para fazer um pause dentro de um
programa em C ... é mesma coisa que correr um programa externo para fazer essa pause.

... a ainda por cima a "solução" passa por redireccionar o outupt do interpretador de comandos para
um outro dispositivo (null).

Faz um favor ao pessoal, não chames a isso um "trabalho de programação" que estás a ofender todos
os programadores.

Abraços,
PA


Offline Njay

  • Mini Robot
  • *
  • Mensagens: 3.598
    • Tróniquices
Re: system("PAUSE")
« Responder #6 em: 12 de Fevereiro de 2015, 16:16 »
Vá lá Star, tenho andado a tentar controlar-me, assim não me ajudas :p . Ele diz que precisa de usar a função system... não me espanta que seja um requisito do trabalho...

Offline BigFoot

  • Mini Robot
  • *
  • Mensagens: 22
Re: system("PAUSE")
« Responder #7 em: 12 de Fevereiro de 2015, 17:07 »
É malta sou iniciante em C... ja programei arduino, Logo da Siemens, Ladder da OMRON, HTML por bloco de notas.... sou iniciante tirei um curso de equivalencia ao 12º ano... agora estou num CET de Automação e Energia... e so tive 16h ainda de C.... StarRider ja vi pelos teus projectos que es Boss nisto mas calma quero aprender... acho que tenho desculpa.... =D

e so mais uma coisa foi a prof que me deu esta solução apesar de ter dito que existe outras... não me disse é quais... =/


Cups

Offline BigFoot

  • Mini Robot
  • *
  • Mensagens: 22
Re: system("PAUSE")
« Responder #8 em: 12 de Fevereiro de 2015, 17:16 »
MSR epa o getchsar(); nao funciona porque tenho uma frase seguinte de erro que tem de ficar apresentada e so sai quando clico numa tecla e tem que voltar ao mesmo ponto....  Obrigado Pela ajuda na mesma! =)
vou deixar aqui o codigo para verem epa não me escumuguem todo por matar pulgas diferente de pessoal com mais experiencia =DDD (StarRider)

O que uso é o codeblock... #include <stdio.h>
#include <stdlib.h>

int main()
{
    char OPCAO,XX=0;
    float AGUA=0,LUZ=0,GAS=0,TELEFONE=0,TELEMOVEL=0,INTERNET=0,TELEVISAO=0;
    float S_AGUA=0,S_LUZ=0,S_GAS=0,S_TELEFONE=0,S_TELEMOVEL=0,S_INTERNET=0,S_TELEVISAO=0,T_SOMA,T_IVA;
    int I_AGUA=0,I_LUZ=0,I_GAS=0,I_TELEFONE=0,I_TELEMOVEL=0,I_INTERNET=0,I_TELEVISAO=0,T_IND=0;
    float M_AGUA=0,M_LUZ=0,M_GAS=0,M_TELEFONE=0,M_TELEMOVEL=0,M_INTERNET=0,M_TELEVISAO=0;
            printf("*****************************************\n");
            printf("*\tBem-Vindo\t\t\t*\n");
            printf("*\t(GF):Gestor de Faturas\t\t*\n");
            printf("*****************************************\n");
            system("PAUSE");
            system("cls");
    do{
            T_SOMA=S_AGUA+S_LUZ+S_GAS+S_TELEFONE+S_TELEMOVEL+S_INTERNET+S_TELEVISAO;
            T_IND=I_AGUA+I_LUZ+I_GAS+I_TELEFONE+I_TELEMOVEL+I_INTERNET+I_TELEVISAO;
            T_IVA=T_SOMA*0.23;


    // Menu
    printf("*********************************************************\n");
    printf("*\tMENU PRINCIPAL - SELECCIONE UMA OPCAO\t\t*\n");
    printf("*\t(1)-Indicar valor da fatura da agua\t\t*\n");
    printf("*\t(2)-Indicar valor da fatura da luz\t\t*\n");
    printf("*\t(3)-Indicar valor da fatura do gas\t\t*\n");
    printf("*\t(4)-Indicar valor da fatura do telefone\t\t*\n");
    printf("*\t(5)-Indicar valor da fatura do telemovel\t*\n");
    printf("*\t(6)-Indicar valor da fatura da internet\t\t*\n");
    printf("*\t(7)-Indicar valor da fatura da televisao\t*\n");
    printf("*\t(8)-Consultar estatisticas\t\t\t*\n");
    printf("*\t(t)-Indicar valor da fatura da agua\t\t*\n");
    printf("*********************************************************\n");
    printf("SEL:[   ]\b\b\b");
    if(XX=='1'||XX=='2'||XX=='3'||XX=='4'||XX=='5'||XX=='6'||XX=='7'){
                OPCAO=XX;
            }else{
    scanf("%c",&OPCAO);
            }
            system("cls");


    switch(OPCAO){

    case '1':
        system("cls");
        XX=0;
        printf("[Dados de uma Fatura]\n");
        printf("Indique o valor da fatura da agua ]0,500]:[______]\b\b\b\b\b\b\b");
        scanf("%f",&AGUA);
            if(AGUA>0&&AGUA<=500){
                I_AGUA++;
                S_AGUA=S_AGUA+AGUA;
                M_AGUA=S_AGUA/I_AGUA;
        }else{

                printf("ERRO:Valor fora da gama permitida\n");
                XX='1';
                printf("Por favor volte a tentar ... ");
                getchar();
        }
        break;

    case '2':
        system("cls");
        XX=0;
        printf("[Dados de uma Fatura]\n");
        printf("Indique o valor da fatura da luz ]0,500]:[______]\b\b\b\b\b\b\b");
        scanf("%f",&LUZ);
        if(LUZ>0&&LUZ<=500){
                I_LUZ++;
                S_LUZ=S_LUZ+LUZ;
                M_LUZ=S_LUZ/I_LUZ;
        }else{
                printf("ERRO:Valor fora da gama permitida\n");
                XX='2';
                printf("Por favor volte a tentar ... ");
                system("pause > nul");
        }
        break;

    case '3':
        system("cls");
        XX=0;
        printf("[Dados de uma Fatura]\n");
        printf("Indique o valor da fatura da luz ]0,500]:[______]\b\b\b\b\b\b\b");
        scanf("%f",&GAS);
        if(GAS>0&&GAS<=500){
                I_GAS++;
                S_GAS=S_GAS+GAS;
                M_GAS=S_GAS/I_GAS;
        }else{
                printf("ERRO:Valor fora da gama permitida\n");
                XX='3';
                printf("Por favor volte a tentar ... ");
                system("pause > nul");
        }
        break;

    case '4':
        system("cls");
        XX=0;
        printf("[Dados de uma Fatura]\n");
        printf("Indique o valor da fatura da luz ]0,500]:[______]\b\b\b\b\b\b\b");
        scanf("%f",&TELEFONE);
        if(TELEFONE>0&&TELEFONE<=500){
                I_TELEFONE++;
                S_TELEFONE=S_TELEFONE+TELEFONE;
                M_TELEFONE=S_TELEFONE/I_TELEFONE;
        }else{
                printf("ERRO:Valor fora da gama permitida\n");
                XX='4';
                printf("Por favor volte a tentar ... ");
                system("pause > nul");
        }
        break;

    case '5':
        system("cls");
        XX=0;
        printf("[Dados de uma Fatura]\n");
        printf("Indique o valor da fatura da luz ]0,500]:[______]\b\b\b\b\b\b\b");
        scanf("%f",&TELEMOVEL);
        if(TELEMOVEL>0&&TELEMOVEL<=500){
                I_TELEMOVEL++;
                S_TELEMOVEL=S_TELEMOVEL+TELEMOVEL;
                M_TELEMOVEL=S_TELEMOVEL/I_TELEMOVEL;
        }else{
                printf("ERRO:Valor fora da gama permitida\n");
                XX='5';
                printf("Por favor volte a tentar ... ");
                system("pause > nul");
        }
        break;

    case '6':
        system("cls");
        XX=0;
        printf("[Dados de uma Fatura]\n");
        printf("Indique o valor da fatura da luz ]0,500]:[______]\b\b\b\b\b\b\b");
        scanf("%f",&INTERNET);
        if(INTERNET>0&&INTERNET<=500){
                I_INTERNET++;
                S_INTERNET=S_INTERNET+INTERNET;
                M_INTERNET=S_INTERNET/I_INTERNET;
        }else{
                printf("ERRO:Valor fora da gama permitida\n");
                XX='6';
                printf("Por favor volte a tentar ... ");
                system("pause > nul");
        }
        break;

    case '7':
        system("cls");
        XX=0;
        printf("[Dados de uma Fatura]\n");
        printf("Indique o valor da fatura da luz ]0,500]:[______]\b\b\b\b\b\b\b");
        scanf("%f",&TELEVISAO);
        if(TELEVISAO>0&&TELEVISAO<=500){
                I_TELEVISAO++;
                S_TELEVISAO=S_TELEVISAO+TELEVISAO;
                M_TELEVISAO=S_TELEVISAO/I_TELEVISAO;
        }else{
                printf("ERRO:Valor fora da gama permitida\n");
                XX='7';
                printf("Por favor volte a tentar ... ");
                system("pause > nul");
        }
        break;

    case '8':
        system("cls");
        printf("*****************************************************************\n");
        printf("*\t\tESTATISTICAS FATURAS\t\t\t\t*\n");
        printf("*[Agua]\t\tIndicadas:%d\tSoma:%07.2f Media:%07.2f\t*\n",I_AGUA,S_AGUA,M_AGUA);
        printf("*[Luz]\t\tIndicadas:%d\tSoma:%07.2f Media:%07.2f\t*\n",I_LUZ,S_LUZ,M_LUZ);
        printf("*[Gas]\t\tIndicadas:%d\tSoma:%07.2f Media:%07.2f\t*\n",I_GAS,S_GAS,M_GAS);
        printf("*[Telefone]\tIndicadas:%d\tSoma:%07.2f Media:%07.2f\t*\n",I_TELEFONE,S_TELEFONE,M_TELEFONE);
        printf("*[Telemovel]\tIndicadas:%d\tSoma:%07.2f Media:%07.2f\t*\n",I_TELEMOVEL,S_TELEMOVEL,M_TELEMOVEL);
        printf("*[Internet]\tIndicadas:%d\tSoma:%07.2f Media:%07.2f\t*\n",I_INTERNET,S_INTERNET,M_INTERNET);
        printf("*[Televisao]\tIndicadas:%d\tSoma:%07.2f Media:%07.2f\t*\n\n",I_TELEVISAO,S_TELEVISAO,M_TELEVISAO);
        printf("*Total Indicadas:     %04d\t\t\t\t\t*\n",T_IND);
        printf("*Total Soma:\t      %07.2f\t\t\t\t\t*\n",T_SOMA);
        printf("*Total Soma IVA(0.23%):%07.2f\t\t\t\t\t*\n",T_IVA);
        printf("*****************************************************************\n");
        system("PAUSE");
        system("cls");
        break;


        }
        }while(OPCAO!='t');
        return 0;
}

Offline jm_araujo

  • Mini Robot
  • *
  • Mensagens: 2.947
  • NERD!
Re: system("PAUSE")
« Responder #9 em: 12 de Fevereiro de 2015, 17:28 »
MSR epa o getchsar(); nao funciona porque tenho uma frase seguinte de erro que tem de ficar apresentada e so sai quando clico numa tecla e tem que voltar ao mesmo ponto.... 

Explica lá porque é que não funciona?
O getchar(); fica à espera que carregues numa tecla e depois segue a execução normal do programa, como me parece que queres.

Offline Njay

  • Mini Robot
  • *
  • Mensagens: 3.598
    • Tróniquices
Re: system("PAUSE")
« Responder #10 em: 12 de Fevereiro de 2015, 17:30 »
Este livro é *muito* bom para quem quer aprender C, e não é grande: "The C Programming Language" de Kernighan & Ritchie (2da edição)

Não sei se está autorizada a publicação livre do livro, mas se googlarem "c kernighan & ritchie" vão encontrar vários sites aparentemente "legitimos" com o livro em PDF. Para comprar a amazon do uk tem versões usadas a partir de uns 20€.
« Última modificação: 12 de Fevereiro de 2015, 17:32 por Njay »

Offline BigFoot

  • Mini Robot
  • *
  • Mensagens: 22
Re: system("PAUSE")
« Responder #11 em: 12 de Fevereiro de 2015, 17:32 »
epa eu no case 1 pus o getchar(); e ele arranca logo mal eu ponho o valor maior que 500... não para e mostra a mensagem...

Offline BigFoot

  • Mini Robot
  • *
  • Mensagens: 22
Re: system("PAUSE")
« Responder #12 em: 12 de Fevereiro de 2015, 17:35 »
Njay obrigado pela sugestão mas ainda ontem comprei um que é Fundamentos de Programação usando C de Marques de Sá... é um prof da universidade do Porto que o escreveu... e foi a minha prof que recomendou...

Offline jm_araujo

  • Mini Robot
  • *
  • Mensagens: 2.947
  • NERD!
Re: system("PAUSE")
« Responder #13 em: 12 de Fevereiro de 2015, 17:42 »
Tive aulas com ele (antes passar a ter sido reitor da UP).
Estás muito melhor com o K&R.
« Última modificação: 12 de Fevereiro de 2015, 18:05 por jm_araujo »

Offline BigFoot

  • Mini Robot
  • *
  • Mensagens: 22
Re: system("PAUSE")
« Responder #14 em: 12 de Fevereiro de 2015, 17:56 »
Reitor ela!! Parabens!! epa boa tives-te aulas no Porto eu estou no IPL... acredito se tu o dizes... tenho de ir a procura-lo agora não que as minha economias foram para este =/...