Luiz_Juinor Postado Dezembro 16, 2004 Denunciar Share Postado Dezembro 16, 2004 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 if(menu=='1'){printf("Este arquivo criado voce deseja salvar?");char deseja[1];if (deseja[1] == 'n' || deseja[1] == 'N')escrever();elseif (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);elseif(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");elseif(menu=='4')return 0;}}}Vejam ai aceito qualquer sugestão gente...Qualquer erro postem ae. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 William Rodrigues Postado Dezembro 16, 2004 Denunciar Share Postado Dezembro 16, 2004 Dei uma olhadinha assim meio por cima e logo de cara vi esse erro: 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kandrade Postado Dezembro 16, 2004 Denunciar Share Postado Dezembro 16, 2004 você não está lendo algo para sua variavel "deseja" está apenas declarando-a.....char deseja[1]; // linha 3outra......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+........ Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kandrade Postado Dezembro 16, 2004 Denunciar Share Postado Dezembro 16, 2004 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 Rodriguesdepende se sua variavel "menu" for do tipo caracter precisa........sim........... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 William Rodrigues Postado Dezembro 16, 2004 Denunciar Share Postado Dezembro 16, 2004 Verdade...Mas como ele colocou depois o if(menu=='2'), acredito que seria do tipo inteiro.Abraços,William Rodrigues Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kandrade Postado Dezembro 16, 2004 Denunciar Share Postado Dezembro 16, 2004 Verdade...Mas como ele colocou depois o if(menu=='2'), acredito que seria do tipo inteiro.Abraços,William Rodriguese eu acredito ser do tipo char.............te +......... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 William Rodrigues Postado Dezembro 16, 2004 Denunciar Share Postado Dezembro 16, 2004 heheheheEnfim brother, se for do tipo inteiro não precisa colocar as aspas simples, caso seja do tipo char realmente tem que se colocar as aspas simples Foi mal a confusão æ Abraços,William Rodrigues Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Luiz_Juinor Postado Dezembro 16, 2004 Autor Denunciar Share Postado Dezembro 16, 2004 Ae gente a variavel menu é int mesmo ... 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();elseif (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. Vlw ai por tanta gente me ajudar...Qualquer coisa postem ai...Por Favor. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 William Rodrigues Postado Dezembro 16, 2004 Denunciar Share Postado Dezembro 16, 2004 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. Assim poderemos te ajudar melhor 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 heheheAbraços,William Rodrigues Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 rodfraga Postado Dezembro 16, 2004 Denunciar Share Postado Dezembro 16, 2004 Sem contar que ele usa:else if( blablabla )Eu não sei se o compilador encara isso como um else if ou como um if aninhado ao primeiro. Recomendo usar assim:else if ( blablabla ). Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Luiz_Juinor Postado Dezembro 16, 2004 Autor Denunciar Share Postado Dezembro 16, 2004 c quer dizer se o compilador aceita ninhos de If??? é isso?? Caso seja isso ele aceita sim... Ai ai i agora quem poderá me ajudar? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kandrade Postado Dezembro 16, 2004 Denunciar Share Postado Dezembro 16, 2004 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 +........... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 rodfraga Postado Dezembro 16, 2004 Denunciar Share Postado Dezembro 16, 2004 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:elseif ( 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! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest - kandrade - Postado Dezembro 17, 2004 Denunciar Share Postado Dezembro 17, 2004 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.......... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 rodfraga Postado Dezembro 17, 2004 Denunciar Share Postado Dezembro 17, 2004 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 ). Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 William Rodrigues Postado Dezembro 17, 2004 Denunciar Share Postado Dezembro 17, 2004 Æ Luiz_Juinor não seja timido...post seu código completo brother...hehehehe (zueira)Abraços,William Rodrigues Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Heldinho Postado Dezembro 18, 2004 Denunciar Share Postado Dezembro 18, 2004 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 :SEditado: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.. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 William Rodrigues Postado Dezembro 20, 2004 Denunciar Share Postado Dezembro 20, 2004 Pootz, esqueci q to sem meu hd agora.. j´ajá eu edito o tópico :S hehehehe Abraços,William Rodrigues Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Heldinho Postado Janeiro 1, 2005 Denunciar Share Postado Janeiro 1, 2005 O problema do meu pc era a fonte queimada 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 Editado: Pra falar a verdade nem rimou... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Luiz_Junior Postado Janeiro 3, 2005 Denunciar Share Postado Janeiro 3, 2005 Bem já q vc's estão mtos sinceros 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();elseif (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);elseif(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");elseif(menu==4)return 0;}}}Mas eu fiz um outro assim menos complicado tipo assim :#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");elseif(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*/}elseif(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");elseif(escolha[0]=='4');return 0;}Tah ai gente qualquer um dos dois que puderem ajudar tabom. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Luiz_Juinor
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
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
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.