system("pause") e system("cls") não funciona mais...

1. system("pause") e system("cls") não funciona mais...

Perfil removido
removido

(usa Nenhuma)

Enviado em 07/03/2010 - 12:34h

Pessoal, estou desenvolvendo um projeto de AVL. Todas as funcionalidades estão funcionando, sendo que quando peço para trocar o conteúdo de um nó, e depois voltar ao menu principal, ele simplesmente não mais reconhece nenhum comando system. Acredito que o erro só esteja numa função, pois as outras não apareceu este erro. Então vou mostrar a função de troca, e a do menu. Para que vocês possam analisar e tentar encontrar o erro.

// Função avl_replace() chamada pela replace_word()

int avl_replace(avl_node* avl, char* new_data, char* old_data)
{

if (avl == NULL)
return -1;

while (avl != NULL)
{
if (strcmp(avl->data,old_data) == 0){
free(avl->data);
strcpy(avl->data,new_data);
return 1;
}
else if (strcmp(avl->data,old_data) < 0)
avl = avl->right;
else
avl = avl->left;
}
return 0;
}

// Função replace_word() chamada pelo menu

avl_node* replace_word(avl_node** avl)
{

char word[MAX],newword[MAX];
int result;

printf("Letra antiga: ");
fflush(stdin);
scanf("%[^\n]",word);
getc(stdin);

printf("Letra nova: ");
fflush(stdin);
scanf("%[^\n]",newword);
getc(stdin);

result = avl_replace(avl, newword, word);

switch(result){
case -1: printf("Arvore vazia!"); break;
case 0: printf("Nao contem elemento na arvore para fazer a troca!"); break;
case 1: printf("Elemento trocado!"); break;
}

return avl;
}

// Função menu

void menu(avl_node** avl){

char opc;
avl_node** aux = avl;

//system("clear");
system("cls");

printf("TRABALHO SOBRE AVL\n\n");

printf("1. Inserir\n");
printf("2. Remover\n");
printf("3. Listar arvore\n");
printf("4. Localizar dado\n");
printf("5. Trocar conteudo\n");
printf("6. Menor dado\n");
printf("7. Maior dado\n");
printf("8. Copiar o conteudo de uma AVL para outra\n");
printf("0. Sair\n");
printf("Digite a sua escolha: ");

do{
opc = getchar();

if (opc == '1')
{
//system("clear");
system("cls");
printf("TRABALHO SOBRE AVL\n\n");
aux = add_words(&(*aux));
printf("\n\n");
system("pause");
menu(aux);
}
if (opc == '2')
{
//system("clear");
system("cls");
printf("TRABALHO SOBRE AVL\n\n");
aux = del_word(aux);
printf("\n\n");
system("pause");
menu(aux);
}
else if (opc == '3')
{
//system("clear");
system("cls");
printf("TRABALHO SOBRE AVL\n\n");
printf("Exibindo a arvore com o seu balanceamento:\n");
exibe_avl(*aux);
printf("\n\n");
system("pause");
menu(aux);
}
else if (opc == '4')
{
//system("clear");
system("cls");
printf("TRABALHO SOBRE AVL\n\n");
search_word(*aux);
printf("\n\n");
system("pause");
menu(aux);
}
else if (opc == '5')
{
//system("clear");
system("cls");
printf("TRABALHO SOBRE AVL\n\n");
aux = replace_word(*aux);
//printf("\n\n");
system("pause");
menu(aux);
}
else if (opc == '0')
{
return 0;
}

} while (opc != '1' && opc != '2' && opc != '3' && opc != '4' && opc != '5' && opc != '6' && opc != '7');
}


  


2. Re: system("pause") e system("cls") não funciona mais...

André
andrezc

(usa Debian)

Enviado em 07/03/2010 - 13:30h

É obvio que ele não reconhecerá, pois esses comandos são do Windows.só para constar :

Envez de

system("cls");

use

system("clear");

E envez de system("pause");

use getchar();


E lembre-se que para você usar o system() deve usar a biblioteca stdlib.h



3. Re: system("pause") e system("cls") não funciona mais...

Perfil removido
removido

(usa Nenhuma)

Enviado em 07/03/2010 - 13:58h

Valeu! Consegui resolver o problema! :D


4. Re: system("pause") e system("cls") não funciona mais...

André
andrezc

(usa Debian)

Enviado em 07/03/2010 - 15:22h

Disponha ;)


5. Re: system("pause") e system("cls") não funciona mais...

Alisson Cavalcanti
henryvieri

(usa Ubuntu)

Enviado em 08/09/2013 - 22:01h

Cara isso me serviu muito também.....estava tendo problema ao usar o system....vlw






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts