Ir ao conteúdo
  • Cadastre-se
Helvecio Junior

C++ Dev c++ Problema com código

Posts recomendados

Ola novamente estou presso num trabalho

 

Faça um programa em C que apresente ao usuário o menu de opções a seguir, leia a opção do usuário e os dados
necessários para executar cada operação.
Menu de opções:
1 Somar dois números
2 Multiplicar dois números
3 Subtrair dois números
4 Dividir dois números

 

eu fiz o código mais sempre da erro 

 

#include <stdio.h>
#include <stdlib.h>
 int main()
{
    int op,num1,num2;
 
    
    printf("Digite: primeiro numero:\n");scanf("%d",&num1);
    printf("Digite: segundo numero:\n");scanf("%d",&num2);
    printf("\nOPERADORES\n");
    printf("Soma -> 1 \n");
    printf("subitrair -> 2 \n");
    printf("Multiplicar -> 3 \n");
    printf("Dividir -> 4 \n");
    printf("\nEscolha o Numero");
    scanf(" %d",op);
    switch(op)
    {
    case '1':
     printf("= %d", num1+num2); break;
     case '2':
     printf(" = %d", num1 - num2); break;
     case '3':
     printf("= %d", num1 * num2); break;
     case'4':
     printf("= %d", num1 / num2); break;
    }
    
        system ("pause");
}

 

  

image.png

  • Obrigado 1

Compartilhar este post


Link para o post
Compartilhar em outros sites
35 minutos atrás, Helvecio Junior disse:

1 Somar dois números
2 Multiplicar dois números
3 Subtrair dois números
4 Dividir dois números

 

Se você tem o menu especificado porque mudou o texto? Isso é uma especificação, Um contrato. Não pode fazer menos :) 


Pode fazer mais:

 
switch(op)
{
    case '1':
    case '+':
        printf("= %d", num1+num2);
        break;
    case '2':
    case '-':
        printf(" = %d", num1 - num2);
        break;
    case '3':
    case '*':
        printf("= %d", num1 * num2);
        break;
    case '4':
    case '/':
        printf("= %d", num1 / num2);
        break;
    default:
        break;
};  // switch()

Assim o cara pode digitar também os operadores + - * /. Eu esperaria isso.

 

scanf() não foi escrita para ler campos do teclado. Talvez deva confirmar que leu até o fim da linha na entrada, rodando algo como esse do{}while antes de ler o outro operador. Ou mudar a mascara de scanf() que le o segundo numero

do { int ch = getc(stdin); } while ((ch != '\n') && (ch != EOF)); // para ter certeza que nao ficou nada
 
switch(op)
{
    case '1':
	case '+':
        printf("= %d", num1+num2);
        break;
    case '2':
    case '-':
        printf(" = %d", num1 - num2);
        break;
    case '3':
    case '*':
        printf("= %d", num1 * num2);
        break;
    case '4':
    case '/':
        printf("= %d", num1 / num2);
        break;
    default:
        break;
};  // switch()

Em geral se espera ver um default: em todo case. 

 

44 minutos atrás, Helvecio Junior disse:

printf("subitrair -> 2 \n");

 

Isso também foi mal... Use como está no enunciado, e com a grafia certa

    3 Subtrair dois numeros

E isso

 

46 minutos atrás, Helvecio Junior disse:

printf("\nEscolha o Numero");

 

Como acabou de perguntar por dois números talvez devesse usar outra palavra aqui, 

como "Escolha a operacao"

 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Helvecio Junior     para postar seu código é melhor usar o botão  <>   

barra.jpg.673e1445a6b8d8d45af71975b5e580b1.jpg

que está desenhado lá na barra de ferramentas da janela de postar , pois senão seu código pode ficar faltando alguns caracteres , e  você não disse qual erro , mas pelo teste aqui , ele não mostra nenhum resultado e termina , e creio que seja por quê você colocou a variável  op  como int e lá dentro do switch no case  você colou aspas simples antes e depois do número , assim ele não reconhece esses caracteres e passa direto para o final do código , então modificando essa parte , seu código poderia ser assim  ;

#include <stdio.h>
#include <ctype.h>
#include <conio.h>
#include <stdlib.h>
#include <windows.h>
#define H GetStdHandle(STD_OUTPUT_HANDLE)
#define cls system("cls");
void saindo(                           );
void som(int f, int d                  );
void    gotoxy_2(int x, int y          );
void textcolor_2 (int letras, int fundo);
int main(){
    int op;
    float num1,num2;
    char sair='S';
    do{
        cls
        printf("Primeiro numero -: "      );
        scanf("%f",&num1                  );
        printf("Segundo numero --: "      );
        scanf("%f",&num2                  );
        printf("\nOPERADORES\n\n"         );
        printf("1 - Somar          \n"    );
        printf("2 - Subtrair       \n"    );
        printf("3 - Multiplicar    \n"    );
        printf("4 - Dividir      \n\n"    );
        printf("    Escolha a Opera%c%co ",135,198);
        /* scanf(" %d",op);  */
        op = getch()-48;/* sem precisar pressionar Enter */
        if(op < 0)op+=48;

        printf("\n");
        switch(op){
        case  1:
        case 43:
            printf("A Soma %c -------------: %.2f\n",
                   130,num1+num2);
            break;
        case  2:
        case 45:
            printf("A Subtra%c%co %c ------: %.2f\n",
                   135,198,130,num1 - num2);
            break;
        case  3:
        case 42:
            printf("A Multiplicas%c%co %c -: %.2f\n",
                   135,198,130,num1 * num2);
            break;
        case  4:
        case 47:
            printf("A Divis%co %c ---------: %.2f\n",
                   198,130,num1 / num2);
            break;
        default :
            printf("Opera%c%co Imv%cLidA . . . !\n\n",
                   135,198,160);
            break;
        }
        printf("\nFazer Outro S/N\n\n");
        sair = (char)getch();
    }while(toupper(sair) != 'N' );
    saindo();
    system("pause");
    return 0;
}
void textcolor_2(int letras, int fundo){SetConsoleTextAttribute(H,letras+(fundo<<4));}
void    gotoxy_2(int x, int y){
  COORD c;
  c.X = x;
  c.Y = y;
  SetConsoleCursorPosition(H,c);
}
void som(int f, int d){Beep(f,d);}
int letras[8][5] ={{15,16,14, 1,30}, /* letra  S */
                   {14,17,31,17,17}, /* letra  A */
                   {14, 4, 4, 4,14}, /* letra  I */
                   {17,25,21,19,17}, /* letra  N */
                   {30,17,17,17,30}, /* letra  D */
                   {14,17,17,17,14}, /* letra  O */
                   { 0, 0, 0, 0, 0}, /* letra    */
                   { 1, 2, 4, 0,16}, /* letra  ! */
};
int sm[8]={800,400,800,400,2500,200,2500,200};
void saindo(){
    textcolor_2(14,0);
    gotoxy_2(0,45);
    gotoxy_2(0,30);
    int w,px,py,x;                            /* variáveis simples                                   */
    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                 */
    px = SBInfo.dwCursorPosition.X;           /* pX será a posição da coluna do cursor no console    */
    py = SBInfo.dwCursorPosition.Y;           /* pY será a posição da linha do cursor no console     */
    int y1=py+1,x1=20,y2=y1,x2=x1,j,i,a,b;    /* y1=linha inicial  y2 para recuperar a linha inicial */
    for(i=0;i<8;i++){                         /* sao 8 letras                                        */
        for(j=0;j<5;j++){                     /* o caractere é de 5 linhas                           */
            x1 = x2;
            a=letras[i][j];                   /* pega o numero da 1 linha do caractere               */
            for(b=0;b<5;b++){                 /* aqui eh um numero de apenas 8 bits                  */
                gotoxy_2(x1,y1);
                if(a % 2 != 0){               /* se bit 0 igual 1                                    */
                    printf("%c",219);         /* coloca espaço invertido senão coloca espaço normal  */
                }
                else{
                    printf(" ");              /* senão coloca espaço normal                          */
                }
                a=a/2;                        /* dividindo numero por 2 desloca os bits para direita */
                x1--;
                Sleep(10);
            }
            y1++;                             /* muda para proxima linha                             */
            x1=x2;                            /* volta para a coluna inicial                         */
        }                                     /* proxima linha                                       */
        x2=x2+6;                              /* avança 6 colunas posicionando para o prox caract    */
        y1=y2;                                /* volta para linha inicial                            */
    }                                         /* imprimiu o primeiro caractere                       */
    for(j=0;j<8;j+=2)
        som(sm[j],sm[j+1]);
    Sleep(800);
    printf("\n\n\n\n\n");
    textcolor_2(10,12);
}

 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Helvecio Junior Seguindo sua linha de raciocínio, poderia ser feito assim:

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

int main() {
    char operacao = ' ';

    double valor1 = 0.0;
    double valor2 = 0.0;

    printf("=-= =-= =-= OPERAÇÕES =-= =-= =-= \n");
    printf("[ 1 ] - Adição \n");
    printf("[ 2 ] - Multiplicação \n");
    printf("[ 3 ] - Subtração \n");
    printf("[ 4 ] - Divisão \n");
    printf("[ 0 ] - Sair \n");
    printf("> ");
    scanf(" %c", &operacao);

    if (operacao == '0') {
        // Encerra a execução do programa
        return EXIT_SUCCESS;
    }

    printf("Digite o valor 1: ");
    scanf(" %lf", &valor1);

    printf("Digite o valor 2: ");
    scanf(" %lf", &valor2);

    switch (operacao) {
        case '1':
            printf("Resultado: %.2f \n", (valor1 + valor2));
            break;
        case '2':
            printf("Resultado: %.2f \n", (valor1 * valor2));
            break;
        case '3':
            printf("Resultado: %.2f \n", (valor1 - valor2));
            break;
        case '4':
            if (valor2 != 0) {
                printf("Resultado: %.2f \n", (valor1 / valor2));
            } else {
                printf("Resultado: 0.00");
            }
            break;
        default:
            // Encerra o programa com código de erro
            printf("[ E ]: Operação inválida. \n");
            return EXIT_FAILURE;
    }

    return EXIT_SUCCESS;
}

 

  • Curtir 1
  • Obrigado 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

:D

 

Podem me chamar de coisas. Como chato por exemplo...

 

Mas vou repetir: um enunciado é como um contrato de serviços, uma especificação de projeto. No mundo real se você fizer menos pode não receber. E ser processado. E se fizer mais pode receber e mesmo assim ser processado.

 

No mundo acadêmico dos exercícios de programação às vezes o enunciado tem pegadinhas. Pequenos detalhes aparentemente irrelevantes que o cara que escreveu deixou para ver até onde o aluno está atento. E ao tentar fazer mais você pode perder muito tempo com o mais antes de fazer o simples. E um erro no mais pode acabar com sua nota...

 

OK, não fui eu que escrevi tal enunciado, não estou aprendendo nem ensinando e nem vou corrigir, mas... se tiver paciência continue lendo

 

Nós temos isso no enunciado:
 

12 horas atrás, Helvecio Junior disse:

1 Somar dois números
2 Multiplicar dois números
3 Subtrair dois números
4 Dividir dois números

 

Não isso (versão do autor)

    printf("Digite: primeiro numero:\n");scanf("%d",&num1);
    printf("Digite: segundo numero:\n");scanf("%d",&num2);
    printf("\nOPERADORES\n");
    printf("Soma -> 1 \n");
    printf("subitrair -> 2 \n");
    printf("Multiplicar -> 3 \n");
    printf("Dividir -> 4 \n");
    printf("\nEscolha o Numero");
  • Com '- >' apontando para os números de opção, que claro vão ficar desalinhados. Não ficariam se estivessem a esquerda, certo?
  • Subtrair escrito errado
  • Apenas essa opção sem a primeira letra em maiúscula
  •  O prompt é Escolha o Numero mas o título do menu  é OPERADORES. Provavelmente seria mais coerente escrever Escolha o OPERADOR mantendo as maiúsculas para associar imediatamente com o título do menu
  • Seria melhor deixar um espaço ao final do prompt Escolha o Numero: para o cursor não ficar grudado na palavra ao ler a opção
  • Apesar de estar no enunciado, recomendo não usar acentos nesses programas de console a menos que o enunciado seja bem explícito sobre isso. Fazer isso não acrescenta nada exceto o acento.

Ou isso (versão de @devair1010)

    printf("Primeiro numero -: ");
    scanf("%f", &num1);
    printf("Segundo numero --: ");
    scanf("%f", &num2);
    printf("\nOPERADORES\n\n");
    printf("1 - Soma        +  \n");
    printf("2 - subitrair   -  \n");
    printf("3 - Multiplicar *  \n");
    printf("4 - Dividir     /\n\n");
    printf("    Escolha a Opera%co ", 135, 198);
  • Os números passaram para a esquerda
  • Apareceram os operadores que não estão no enunciado, mas estão a direita e vão claro ficar desalinhados. Provavelmente ficariam melhor logo a direita dos números, mas como não estão no enunciado não deveriam aparecer. O programa poderia simplesmente aceitar os operadores, mas como uma conveniência porque se o cara está usando o teclado numérico tem os sinais ali do lado e ele poderia tentar por engano. 
  • Não corrigiu a grafia de subitrair 
  • O printf("Escolha...") tem um especificador %c, mas dois parâmetros. Está errado. E em muitos casos 135 é mesmo o código para 'ç'. Mas 198 nem sempre é 'ã'. Esses caracteres são da parte da tabela chamada extended ASCII e o que vai aparecer na tela é sempre uma emoção.  Veja na tabela original da IBM e vai ver que no limiar dos tempos era outra coisa ;) 

    135198.png.65f8d251e0f13800d8a54f9be90d8bc9.png

    e assim é preciso ajustar a página de código dentro do programa para alguma que tenha essa letra em 198 como a Code page 850 (Latin-1 - Western European languages). E se vai mesmo fazer isso precisa antes obter o número da codepage em uso e salvar em seu programa para restaurar na saída. O mesmo deve ser feito com as cores do texto: se o cara que vai rodar esse programa estava usando cyan sobre azul exemplo vai ficar furioso depois de rodar um programinha desses e ver que ele mudou a cor na saída para o que o autor do programa acha certo. 
    Ou seja: um inferno. Talvez seja melhor não fazer nada.

Ou isso na versão de @AdrianoSiqueira

    printf("=-= =-= =-= OPERAÇÕES =-= =-= =-= \n");
    printf("[ 1 ] - Adição \n");
    printf("[ 2 ] - Multiplicação \n");
    printf("[ 3 ] - Subtração \n");
    printf("[ 4 ] - Divisão \n");
    printf("[ 0 ] - Sair \n");
    printf("> ");
    scanf(" %c", &operacao);
  • As opções ganharam outro formato agora com os números entre [ ]
  • Apareceu uma opção nova que não tinha no enunciado
  • O prompt virou um singelo e solitário '>'. Talvez um prompt relacionado ao título do menu fosse mais adequado. Algo como "Escolha a OPERACAO: " já que o título está assim. Desse modo fica muito clara a associação entre a opção e o objeto da opção. 
  • E agora temos muitos acentos. E nenhuma tentativa de acertar a tal codepage.Eis o que aparece em meu computador por exemplo:
    menu.png.1bd62f6438272508c6d9d797e856b217.png

    Steve Jobs diria que EU não soube usar o programa, claro. E que eu deveria ter configurado meu computador "corretamente".

    Mas pode ser que o cara que vai corrigir seu programa não pense assim com o Steve e a Apple e lá se vai sua nota perfeita

Copiando do enunciado e tirando os acentos seria só

 


Menu de opções:

    1 Somar dois numeros
    2 Multiplicar dois numeros
    3 Subtrair dois numeros
    4 Dividir dois numeros


Sua opcao:

 

Porque não? 

 

  • Curtir 3

Compartilhar este post


Link para o post
Compartilhar em outros sites

@arfneto Fiquei intrigado com os acentos não aparecendo no seu programa. Isso poderia ser resolvido adicionando essa linha?

setlocale(LC_ALL, "pt_BR.utf8");

PS.: Cara, cada post seu é uma aula. Show de bola.

  • Obrigado 2

Compartilhar este post


Link para o post
Compartilhar em outros sites
setlocale(LC_ALL, "pt_BR.utf8");

Não. Na verdade fica pior. Acho que aqui mesmo já escrevi muitas vezes sobre isso:
 

Citação

 


É um pesadelo programar a console no Windows. No Linux não tem console. Mas é um pesadelo programar no Linux usando os comandos dos VT-xxx dos anos 80 como era um pesadelo nos anos 80 programar no Unix os terminais VT-52, VT-100, VT-240 e família quando eles existiam de verdade. Na época a gente usava quando preciso uma biblioteca como curses, que evoluiu nos '90 para ncurses. E é algo bem sofisticado e disponível hoje.

No entanto nos últimos anos  tem voltado muito o interesse nessas coisas e não por acaso a Microsoft tem gasto desde 17/18 uma fortuna nisso. O novo Terminal do Windows é parte desse esforço. De onde vem isso? Provavelmente do fato que muitas máquinas "na nuvem" não tem interface gráfica... Sobre isso veja https://devblogs.microsoft.com/commandline/new-experimental-console-features/ por exemplo
 

 


Então eis o que eu penso: tem que ter um bom motivo para mexer nessas coisas. Se não tem, use uma interface gráfica. É muito mais fácil e recompensador. Um motivo bom seria assim:

  • alguém está te pagando bem para fazer isso
  • tenha uma boa nota a partir disso
  • tem uma questão pessoal de ver essas coisas funcionando mesmo sabendo que na máquina ao lado pode não rodar. E tem muito tempo para ler especificações e documentos.
  • E se for investir nisso use UNICODE. É o que os navegadores e o mundo todo faz. E mesmo assim entenda que não vai funcionar sempre. Só funciona na web porque tem um parâmetro que define o encoding... Não existe isso em um arquivo texto ou uma string que você está lendo de sei lá onde. Ou escrevendo para alguém ler sei lá onde.

 

De volta ao programa. Eis o que acontece ao mudar o locale em C
 

trecho.png.56773a2aa5804c12c029fb5e72199ce1.png

 

 

Lá se vão partes do texto e sai tudo em uma linha só. Nem surpreende porque com UTF-8 acho que tinha que usar as versões Unicode das funções e das strings.

 

Na console comum essas tais codepages trabalham apenas selecionando diferentes conjuntos de caracteres para valores maiores que 127 --- bit 8 = 1 . ASCII só usa 7 bits. Ok, esquecendo a codepage 65001

 

Mas e se eu faço questão de usar essa m#$%a?


O problema disso é partir da ideia que todos os computadores são iguais ao nosso. Ou rodar um programa desses só no nosso computador. É preciso interrogar o sistema sobre a configuração da console, salvar, configurar como a gente imagina que vá funcionar, rodar o programa e restaurar tudo.

 

Não dá pra supor que fonte a console do cara está usando, que cor de letra e fundo ele está usando, qual o tamanho da console dele... Coisas assim.

 

Nesse caso, a saída de um programa de teste

 

local original = 'C'
Locale: 'C' ANSI CP: '1252' Console CP: '850' Console Output CP: '850'


***** teste *****
=-= =-= =-= OPERAÃıES =-= =-= =-=
[ 1 ] - AdiþÒo
[ 2 ] - MultiplicaþÒo
[ 3 ] - SubtraþÒo
[ 4 ] - DivisÒo

***** fim do teste *****


Locale: 'pt_BR.utf8' ANSI CP: '1252' Console CP: '850' Console Output CP: '850'


***** teste *****
=-= =-= =-= OPERA[ 1 ] - Adi[ 2 ] - Multiplica[ 3 ] - Subtra[ 4 ] - Divis
***** fim do teste *****



Muda codepage da console para 1252
Locale: 'C' ANSI CP: '1252' Console CP: '1252' Console Output CP: '850'


***** teste *****
=-= =-= =-= OPERAÃıES =-= =-= =-=
[ 1 ] - AdiþÒo
[ 2 ] - MultiplicaþÒo
[ 3 ] - SubtraþÒo
[ 4 ] - DivisÒo

***** fim do teste *****



Muda output codepage da console para 1252
Locale: 'C' ANSI CP: '1252' Console CP: '850' Console Output CP: '1252'


***** teste *****
=-= =-= =-= OPERAÇÕES =-= =-= =-=
[ 1 ] - Adição
[ 2 ] - Multiplicação
[ 3 ] - Subtração
[ 4 ] - Divisão

***** fim do teste *****



Muda output codepage e codepage da console para 1252
Locale: 'C' ANSI CP: '1252' Console CP: '1252' Console Output CP: '1252'


***** teste *****
=-= =-= =-= OPERAÇÕES =-= =-= =-=
[ 1 ] - Adição
[ 2 ] - Multiplicação
[ 3 ] - Subtração
[ 4 ] - Divisão

***** fim do teste *****


Locale: 'C' ANSI CP: '1252' Console CP: '850' Console Output CP: '850'


***** teste *****
=-= =-= =-= OPERAÃıES =-= =-= =-=
[ 1 ] - AdiþÒo
[ 2 ] - MultiplicaþÒo
[ 3 ] - SubtraþÒo
[ 4 ] - DivisÒo

***** fim do teste *****


Esse programa vai e volta com as configurações tentando achar o culpado. Ao que parece trata-se da Console Output CodePage que devia ser 1252 e não 850...

 

Note que ao final o programa deixa tudo como estava.

 

Entenda que se a fonte em uso na console não tiver esses caracteres mesmo assim não adianta nada...

 

fonteconsole.png.a2c265b03620c4f78090e4bab0b08e25.png

 

E veja o link na tela do Windows
novos.png.962432a332691a694c49300b7eed7045.png

 

Não são assim tão novos os "novos recursos da console", mas está na tela do Windows 10 desde 2018. Trata-se de uma volta ao passado para minimizar o trabalho de tratar essas coisas nas máquinas de hoje em dia. Em especial na nuvem. Tem muito material naquele link para quem estiver determinado a estudar isso.

  • Curtir 1
  • Obrigado 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

oh não postei o programa :D:D:D 


É bem simples. Tem 4 funções

 


char*   guarda(); // guarda os valores em uso
void    mostra(); // mostra os valores em uso
void    restaura(); // deixa como estava antes
void    testa(); // tenta mostrar o menu com as strings

E vai trocando os valores para ver como fica. Eis o início

int main()
{
    char* local = guarda();
    mostra();
    testa();

    setlocale(LC_ALL, "pt_BR.utf8");
    mostra();
    testa();
    restaura(local);

    printf("\nMuda codepage da console para 1252\n");
    SetConsoleCP(1252);
    mostra();
    testa();
    restaura(local);

São ciclos onde mostra a configuração, altera algo, mostra o menu, restaura tudo e tenta de novo

 

Eis o programa todo

#include <locale.h>
#include <stdlib.h>
#include <stdio.h>
#include <tchar.h>
#include <windows.h>

int n = 0;
int ccp_original = 0;
int occp_original = 0;
char local_original[80];

char*   guarda(); // guarda os valores em uso
void    mostra(); // mostra os valores em uso
void    restaura(); // deixa como estava antes
void    testa(); // tenta mostrar o menu com as strings

int main()
{
    char* local = guarda();
    mostra();
    testa();

    setlocale(LC_ALL, "pt_BR.utf8");
    mostra();
    testa();
    restaura(local);

    printf("\nMuda codepage da console para 1252\n");
    SetConsoleCP(1252);
    mostra();
    testa();
    restaura(local);

    printf("\nMuda output codepage da console para 1252\n");
    SetConsoleOutputCP(1252);
    mostra();
    testa();
    restaura(local);

    printf("\nMuda output codepage e codepage da console para 1252\n");
    SetConsoleCP(1252);
    SetConsoleOutputCP(1252);
    mostra();
    testa();
    restaura(local);

    mostra();
    testa();
    return 0;
};  // main()

char* guarda()
{
    char* pLocale = &local_original[0];
    ccp_original = GetConsoleCP();
    occp_original = GetConsoleOutputCP();
    pLocale = setlocale(LC_ALL, NULL);
    return pLocale;
};  // guarda()

void mostra()
{
    printf("Locale: '%s' ANSI CP: '%d' Console CP: '%d' Console Output CP: '%d'\n\n",
        setlocale(LC_ALL, NULL), GetACP(),
        GetConsoleCP(), GetConsoleOutputCP()
    );
};  // mostra()

void restaura()
{
    SetConsoleCP(ccp_original);
    SetConsoleOutputCP(occp_original);
    setlocale(LC_ALL, "C");
};  // restaura();

void testa()
{
    printf("\n***** teste *****\n");;
    printf("=-= =-= =-= OPERAÇÕES =-= =-= =-= \n");
    printf("[ 1 ] - Adição \n");
    printf("[ 2 ] - Multiplicação \n");
    printf("[ 3 ] - Subtração \n");
    printf("[ 4 ] - Divisão \n");
    printf("\n***** fim do teste *****\n\n\n");;
};  // testa()

// fim do texto

 

  • Curtir 1
  • Obrigado 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro 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 publicações 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...

Aprenda a ler resistores e capacitores

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!