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

Pq Isso Aqui Não Funciona?


Luiz_Juinor

Pergunta

Ae gente tem algum erro nesse treco aqui e eu não consigo achar de jeito nenhum se alguém ai puder dá um ajudinha eu agradeço wink.gif

if(menu=='1'){

printf("Este arquivo criado voce deseja salvar?");

char deseja[1];

if (deseja[1] == 'n' || deseja[1] == 'N')

escrever();

else

if (deseja[1] == 's' || deseja[1] == 'S')

printf("Qual nome a ser do arquivo a ser salvo?");

char arquivo;

gets(arquivo);

FILE *arquivo3;

FILE *arquivo2;

arquivo3 = fopen(arquivo, "a+");

fprintf(arquivo3,"");

fclose(arquivo3);

arquivo2 = fopen(arquivo,"wt");

fprintf(arquivo,"%s",arquivo);

else

if(menu=='2')

clrscr();

char caminho[900];

char comando[900];

textcolor(YELLOW);

cprintf("Digite o caminho aonde o texto se encontra");

gets(caminho);

sprintf(comando,"dir %s",caminho);

FILE *arq = fopen("comando", "r");

else

if(menu=='4')

return 0;

}

}

}

Vejam ai aceito qualquer sugestão gente...Qualquer erro postem ae.

Link para o comentário
Compartilhar em outros sites

19 respostass a esta questão

Posts Recomendados

  • 0

você não está lendo algo para sua variavel "deseja" está apenas declarando-a.....

char deseja[1]; // linha 3

outra......se você precisa de apenas um caracter use assim:

char deseja;

se você usar deseja[1].......você tem que armazenar seu caracter na poisção [0].......e sua string tem tamanho 1.......ou seja.........você não tem mas espaço para armazenar nada nem o caracter que indica fim de string "/0".............

te+........

Link para o comentário
Compartilhar em outros sites

  • 0

Dei uma olhadinha assim meio por cima e logo de cara vi esse erro:

CODE 

if(menu=='1'){

Quando é número cara, não precisa informa dentro de aspas simples.

PS: Quando eu tiver mais um tempinho livre, edito o meu post e completo a minha resposta

Abraços,

William Rodrigues

depende se sua variavel "menu" for do tipo caracter precisa........sim...........

Link para o comentário
Compartilhar em outros sites

  • 0

Ae gente a variavel menu é int mesmo smile.gif ... Mas o cóidgo ainde tem um erro o compilador acusa eu andei olhanda e num vi nada mesmo q acuse algum erro se alguém ai enxergar mais do q eu e achar qualquer erro postem ae.

O Código tah assim ó:

if(menu==1){

printf("Este arquivo criado voce deseja salvar?");

char deseja[1];

if (deseja[1] == 'n' || deseja[1] == 'N')

escrever();

else

if (deseja[1] == 's' || deseja[1] == 'S')

printf("Qual nome a ser do arquivo a ser salvo?");

char arquivo;

gets(arquivo);

FILE *arquivo3;

FILE *arquivo2;

arquivo3 = fopen(arquivo, "a+");

fprintf(arquivo3,"");

fclose(arquivo3);

arquivo2 = fopen(arquivo,"wt");

fprintf(arquivo,"%s",arquivo);

else  error: parse error before "else"

if(menu==2)

clrscr();

char caminho[900];

char comando[900];

textcolor(YELLOW);

cprintf("Digite o caminho aonde o texto se encontra");

gets(caminho);

sprintf(comando,"dir %s",caminho);

FILE *arq = fopen("comando", "r");

else  error: parse error before "else"

if(menu==4)

return 0;

}

}

}

Os que estão de vermelho são aonde foi acusado os erros. De azul foi o que o compilador disse. wink.gif

Vlw ai por tanta gente me ajudar...

Qualquer coisa postem ai...Por Favor. biggrin.gif

Link para o comentário
Compartilhar em outros sites

  • 0

Brother...

Como não sei se esse é seu código todo ou se é apenas uma parte, peço-lhe que coloque novamente o seu código só que identado, por favor. wink.gif

Assim poderemos te ajudar melhor biggrin.gif

Valeu cara, espero que não me leve a mal.

PS: Digo isso pois se observar bem, em todo esse código você abre apenas uma vez a chave "{" e no final do código fecha 3 huh.gif

hehehe

Abraços,

William Rodrigues

Link para o comentário
Compartilhar em outros sites

  • 0

veio......de boa..........ta muito zuado seu codigo......

mas já que você quer saber o porque dos erros........ ai vai......

os If estão sem { e sem }.........

como você quer que o compilador entenda um Else sem um If?

te +...........

Link para o comentário
Compartilhar em outros sites

  • 0

veio......de boa..........ta muito zuado seu codigo......

mas já que você quer saber o porque dos erros........ ai vai......

os If estão sem { e sem }.........

como você quer que o compilador entenda um Else sem um If?

te +...........

Que está meio zuadinho, está.

Mas olha só, um if não precisa ter { e },

O seguinte funciona:

if ( x == 0 )

std::cout << "X é igual a 0!!!" << endl;

Ok?

O que não pode é haver ifs que contem múltiplos comandos em seu corpo sem chaves, mas os de apenas um comando podem estar sem chaves.

O primeiro else está ok, mas o resto... O que acontece, é que pelo código podemos ver que ele quer um if de múltiplos comandos, mas não bota as chaves.

Luiz, eu não perguntei se o compilador aceita ninhos de ifs. Todos aceitam.

Eu perguntei se o computador acha que o seguinte:

else

if ( x == 0 )

é um else if, ou um else com um if aninhado.

E poste o código todo que aí eu posso tentar resolver e te explicar os erros! wink.gif

Link para o comentário
Compartilhar em outros sites

  • 0
Guest - kandrade -

justamente.......eu respondi a pergunta......

e não genericamente..........

disse que esse codigo precisava........pois como ele quer usar um else com um monte de comando

entre o if e o else...........o compilador não entendi..........

Link para o comentário
Compartilhar em outros sites

  • 0
justamente.......eu respondi a pergunta......

e não genericamente..........

disse que esse codigo precisava........pois como ele quer usar um else com um monte de comando

entre o if e o else...........o compilador não entendi..........

Ah entendi. Se ele postasse o código todo dava pra ver todas as variáveis e que bando de chaves são aqueles no final, aí até dava para corrigir( não só a sintaxe mas também possíveis erros de lógica ).

Link para o comentário
Compartilhar em outros sites

  • 0

eu to sem tempo de ver esse codigo ai.. mas a outra parte, acho que é meu editor de textos.. aki ta sem erro, olhem o código(incompleto):

Pootz, esqueci q to sem meu hd agora.. j´ajá eu edito o tópico :S

não sei de que forma ele colocou o codigo no programa dele, até mais :S

Editado:

AAAAAAARRRRRRRGGGGHHHHHHH!!! MEU PC QUEIMOU!! AUEHUAEHUAEHUAEH... ppode achar engraçado, eu dexo... é a 2ªvez em 3 meses :S... O código vai ficar pra depois não é?!?.. até mais..

Link para o comentário
Compartilhar em outros sites

  • 0

O problema do meu pc era a fonte queimada laugh.gif tudo resolvido.. tá aki o código do meu editor, mas nem imagino como ele colocou isso no código dele(aki isso funciona beleza, só não está 100% terminado xD), porém eu fiz ele pra escrever em modo gráfico, ai quando eu converti pra modo texto nem tirei o cursor....

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

int contador;
int menu;
char frase[200];

int escrever(){

while(1){
system("cls");

printf("%s",frase);
frase[contador] = getche();
frase[(contador + 1)] = '_';
if(frase[contador] != 8 && frase[contador] != 13 && frase[contador] != 27){
contador++;

}

if(frase[contador]==8){
frase[contador] = ' ';
frase[contador - 1] = '_';
frase[contador + 1] = ' ';
contador--;

}

if(frase[contador]==13){
frase[contador] = '\n';
contador++;
}
if(frase[contador]==27){
frase[(contador + 1)] = ' ';
frase[(contador)] = ' ';
return 0;
}
}
return 0;
}

int main(void){
contador=0;
while(1){
printf("1 - Editar o texto \n2 - Salvar \n3 - Sair do Editor");
menu=getche();
if(menu=='1'){
escrever();
}
if(menu=='3'){
return 0;
}
}
return 0;
}

Bom, o código tá ai, e eu vou sair daki,,(rimou, auhuahauh..)

feliz ano novo xD laugh.gif

Editado: Pra falar a verdade nem rimou...

Link para o comentário
Compartilhar em outros sites

  • 0

Bem já q vc's estão mtos sinceros wink.gif eu vo posta ai o código pra vc's.

Ele tah dessa forma ai.

Tah ai:

#include <stdio.h>

#include <stdlib.h>

#include <conio.h>

int contador;

int menu;

char frase[200];

int escrever(){

while(1){

system("cls");

printf("%s",frase);

frase[contador] = getche();

frase[(contador + 1)] = '_';

if(frase[contador] != 8 && frase[contador] != 13 && frase[contador] != 27){

contador++;

}

if(frase[contador]==8){

frase[contador] = ' ';

frase[contador - 1] = '_';

frase[contador + 1] = ' ';

contador--;

}

if(frase[contador]==13){

frase[contador] = '\n';

contador++;

}

if(frase[contador]==27){

frase[(contador + 1)] = ' ';

frase[(contador)] = ' ';

return 0;

}

}

return 0;

}

int main(void){

contador=0;

while(1){

textcolor(YELLOW);

cprintf("Seja muito bem vindo ao editor de texto da WHBROS");

printf("\n1 - Novo Texto texto \n2 - Editar texto \n3 - Salvar texto \n4 - Sair do Editor\n");

menu=getche();

if(menu==1){

printf("Este arquivo criado voce deseja salvar?");

char deseja[1];

if (deseja[1] == 'n' || deseja[1] == 'N')

escrever();

else

if (deseja[1] == 's' || deseja[1] == 'S')

printf("Qual nome a ser do arquivo a ser salvo?");

char arquivo;

gets(arquivo);

FILE *arquivo3;

FILE *arquivo2;

arquivo3 = fopen(arquivo, "a+");

fprintf(arquivo3,"");

fclose(arquivo3);

arquivo2 = fopen(arquivo,"wt");

fprintf(arquivo,"%s",arquivo);

else

if(menu==2)

clrscr();

char caminho[900];

char comando[900];

textcolor(YELLOW);

cprintf("Digite o caminho aonde o texto se encontra");

gets(caminho);

sprintf(comando,"dir %s",caminho);

FILE *arq = fopen("comando", "r");

else

if(menu==4)

return 0;

}

}

}

Mas eu fiz um outro assim menos complicado tipo assim sad.gif :

#include <stdio.h>

#include <conio.h>

char texto[9000];

char escolha[90];

int coluna[1];

int linha[1];

int main()

{

clrscr();

textcolor(YELLOW);

cprintf("Ola seja muito bem vindo ao Editor de Texto da WHBROS");

gotoxy(1,3);

cprintf("Leia a Tabela abaixo e use o editor");

gotoxy(1,4);

printf("1 Reinicie o editor.\n2 Escolha a cor da letra para escrever\n3 Abrir um texto\n4 Sair");

gotoxy(1,10);

gets(escolha);

if(escolha[0]=='1')

system("editor.exe");

else

if(escolha[0]=='2'){

printf("\n\n1 Azul\n2 Amarelo \n3 Verde \n4 Vermelho \n5 Branco");

if(escolha[0]=='1'){

textcolor(BLUE);

getch(texto);

if(tecla=='13')

gotoxy(linha,coluna);

linha++;

/*Aqui colocar a parte de digitar o texto e o usuario der enter*/

if(escolha[0]=='2'){

textcolor(YELLOW);

getch(texto);

if(tecla=='13')

gotoxy(linha,coluna);

linha++;

/*Aqui colocar a parte de digitar o texto e o usuario der enter*/

if(escolha[0]=='3'){

textcolor(GREEN);

getch(texto);

if(tecla=='13')

gotoxy(linha,coluna);

linha++;

/*Aqui colocar a parte de digitar o texto e o usuario der enter*/

if(escolha[0]=='4'){

textcolor(RED);

getch(texto);

if(tecla=='13')

gotoxy(linha,coluna);

linha++;

/*Aqui colocar a parte de digitar o texto e o usuario der enter*/

if(escolha[0]=='5'){

textcolor(WHITE);

getch(texto);

if(tecla=='13')

gotoxy(linha,coluna);

linha++;

/*Aqui colocar a parte de digitar o texto e o usuario der enter*/

}else

if(escolha[0]=='3')

textcolor(YELLOW);

cprintf("Digite o caminho aonde se localiza o texto");

/*Aqui colocar algum jeito do usuario digitar o caminho do arquivo do texto sem usar o System*/

else

printf("Caminho digitado incorretamento ou não exisite");

else

if(escolha[0]=='4');

return 0;

}

Tah ai gente qualquer um dos dois que puderem ajudar tabom. cool.gif

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...