Ir ao conteúdo

Posts recomendados

Postado

 

Membros

0

2 posts

Denunciar post

Postado 1 hora

ola galera estou tentando sair da função para o menu principal mas não estou conseguindo

quando utilizo return 0; para voltar ao menu principal a tela fica toda preta e não volta

quando utilizo return main(); nem compila

obs utilizo dev c ++ ultima versão

 

 

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

int menu_desliga(){//declarando função menu_desliga

int i=0;//variavel contadora da função
            
                printf("\t1 - Desligar\n");
                printf("\t2 - Reiniciar\n");
                printf("\t3 - Voltar ao menu principal\n");
                i = getch();
                switch(i){
                    case '1':system("shutdown -s -f -t 1");//desligar
                    break;
                    case '2':system ("shutdown -r -t 1");//reiniciar
                    break;
                    case '3':system("cls");//sempre limpar tela antes de chamar função
                    return 0;//voltar ao menu
                            
}}
                        
int main (){
int i=0;

    printf ("\t ESCOLHA A FERRAMENTA\n\n");
    printf ("\t1 - Bloco de notas\n");
    printf ("\t2 - Paint\n");
    printf ("\t3 - vazio\n");
    printf ("\t4 - vazio\n");
    printf ("\t5 - Desligar/Reiniciar\n");
    printf ("\t9 - Sair\n");
     
    while( i != '9' ){//while para segurar o programa e if para fechar o programa após a escolha

    i = getch(); //substituir pelo scanf para não apertar enter e acrescentei aspas entre os cases.

    switch (i){
            case '9':
            exit(0); //fechar programa
            case '1':system ("start notepad");//abrir bloco de notas
            break;
            case '2':system ("start mspaint");//abrir o paint
            break;
            case '3':
            break;
            case '4':
            break;
            case '5':system("cls");//sempre limpar tela antes de chamar função
            menu_desliga();// chamada da função    
}}}

  • Amei 1
Postado

@Herbertbahia    para postar seu código é melhor usar o botão  <>   que está desenhado lá na barra de ferramentas da janela de postar ,

1178164225_barradeferramentas.JPG.ae6d6ac06da510ea80ec35d1ae648c00.JPG

pois senão seu código fica faltando alguns caracteres , e para voltar ao menu principal use um loop igual a esse que você colocou , mas na posição certa , e nunca use o return main  pois isso vai adicionando dados no stack da máquina e essa se torna lenta  , então seu código poderia ser assim  :

#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#include <windows.h>
#include <conio.h>
int menu_desliga(){//declarando função menu_desliga
    int i=0;//variavel contadora da função
    printf("\t1 - Desligar\n");
    printf("\t2 - Reiniciar\n");
    printf("\t3 - Voltar ao menu principal\n");
    i = getch();
    switch(i){
    case '1':
        printf("isso vai desligar seu pc !  Tecle");
        getch();
        /*system("shutdown -s -f -t 1");//desligar*/
        break;
    case '2':
        printf("isso vai reiniciar seu pc    Tecle");
        getch();
        /*system ("shutdown -r -t 1");//reiniciar*/
        break;
    case '3':
        system("cls");//sempre limpar tela antes de chamar função
        /*return 0;//voltar ao menu*/
        printf("Voltando Ao Menu em ");
        for(i=10;i>=0;i--){
            printf(" %d\b\b",i);
            Sleep(1000);
        }
    }
}
int main(){
    int i=0;
    while( i != '9' ){//while para segurar o programa e if para fechar o programa após a escolha
        system("cls");
        printf ("\t ESCOLHA A FERRAMENTA\n\n");
        printf ("\t1 - Bloco de notas\n");
        printf ("\t2 - Paint\n");
        printf ("\t3 - vazio\n");
        printf ("\t4 - vazio\n");
        printf ("\t5 - Desligar/Reiniciar\n");
        printf ("\t9 - Sair\n");
        i = getch(); //substituir pelo scanf para não apertar enter e acrescentei aspas entre os cases.
        switch (i){
        case '9':
            exit(0); //fechar programa
        case '1':
            system ("start notepad");//abrir bloco de notas
            break;
        case '2':
            system ("start mspaint");//abrir o paint
            break;
        case '3':
            break;
        case '4':
            break;
        case '5':
            system("cls");//sempre limpar tela antes de chamar função
            menu_desliga();// chamada da função
        }
    }
    return 0;
}

 

Crie uma conta ou entre para comentar

Você precisa ser um usuário 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 comunidades 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...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!