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

Retornar


Vinicius230

Pergunta

Olá pessoal!

Preciso que vocês me ajudem... me ajudando irá abrir muitas portas para algumas dificuldades que tenho sobre isso... fiz um código como exemplo...

Aqui está o código...

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

void ins()
{
    printf("Instruçoes!\n");
    printf("Tecle 0 para voltar\n");
    scanf("%d",&cont);
}
void novo()
{
    printf("Novo jogo!\n");
    printf("Tecle 0 para voltar\n");
    scanf("%d",&cont);
}

int main()
{
    int menu;
    char nome[20];

    printf("Digite seu nome\n");
    scanf("%s",nome);
    system("clear");
    
    /* PRECISO RETORNAR AQUI EM DIANTE....*/

    printf("%s escolha uma opção\n",nome);
    printf("[1] - Novo Jogo\n");
    printf("[2] - Instruções\n");
    scanf("%d",&menu);
    switch(menu)
    {
    case 1:
        novo();
        break;
    case 2:
        ins();
        break;
    }

    return 0;
}

Galera... Depois que eu escolho uma opção ele vai para o void e tals... mas depois disso, quero saber como retornar ao começo das opção, ali onde está os comentários.

Mas, eu NÃO quero usar o comando GOTO...

Obrigado pessoal!

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Pois usando um laço de repetição:
 

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

void ins() {
    printf ( "Instruçoes!\n" );
}

void novo() {
    printf ( "Novo jogo!\n" );

}

int main() {
    int menu;
    char nome[20];
    int sair;
    
    printf ( "Digite seu nome\n" );
    scanf ( "%s", nome );
    system ( "clear" );
    
    while (sair != 1){
        printf ( "%s escolha uma opção\n", nome );
        printf ( "[1] - Novo Jogo\n" );
        printf ( "[2] - Instruções\n" );
        printf ( "[0] - Sair\n" );
        scanf ( "%d%*c", &menu );
        
        switch ( menu ) {
            case 1:  novo();                     break;
            case 2:  ins ();                     break;
            case 0:  sair = 1;                   break; 
            default: printf("Caso invalido.\n"); break;
        }
        getchar();
        system ( "clear" );
    }
    
    return 0;
}

Como while por exemplo

Link para o comentário
Compartilhar em outros sites

  • 0
15 horas atrás, vangodp disse:

Pois usando um laço de repetição:
 


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

void ins() {
    printf ( "Instruçoes!\n" );
}

void novo() {
    printf ( "Novo jogo!\n" );

}

int main() {
    int menu;
    char nome[20];
    int sair;
    
    printf ( "Digite seu nome\n" );
    scanf ( "%s", nome );
    system ( "clear" );
    
    while (sair != 1){
        printf ( "%s escolha uma opção\n", nome );
        printf ( "[1] - Novo Jogo\n" );
        printf ( "[2] - Instruções\n" );
        printf ( "[0] - Sair\n" );
        scanf ( "%d%*c", &menu );
        
        switch ( menu ) {
            case 1:  novo();                     break;
            case 2:  ins ();                     break;
            case 0:  sair = 1;                   break; 
            default: printf("Caso invalido.\n"); break;
        }
        getchar();
        system ( "clear" );
    }
    
    return 0;
}

Como while por exemplo

Valeu mano! Voce ajudou muito!! 

Percebi tambem que quando eu tiro o comando Getchar(); não funciona... sabe porque ?

Ah! uma outra coisa, porque acrescentou "%*c"?

scanf ( "%d%*c", &menu ); 
Editado por Vinicius230
Complementar
Link para o comentário
Compartilhar em outros sites

  • 0

%*c é o contrario de %c, se o %c lê um char, %*c ignora um char. Serve para evitar erros de leitura quando pulsamos enter, pois enter é também um char, e fica no buffer causando erros.

O getchar simplesmente pausa o programa, se n4ao não seria possível ver os resultados pois mostraria o testo e limparia a tela tão rápido que você não veria nada, isso é o que acontece quando você tira o getchar, o programa n4ao da tempo para ler a saida.

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,4k
×
×
  • Criar Novo...