hi it seems that i can resolve it on my one! "parse error at end of input
"
hi it seems that i can resolve it on my one! "parse error at end of input
"
Ummm... what about the comment thing? Did you fix that? Why not just get an IDE that halfway tries to help you spot indiscrepencies in code blocks and comments? VC++ Express can do that, and its free.
Well, posting your latest code and error message would certainly help us tell what you've managed to do . . .
. . . only, because it's so long, I suggest attaching it instead of putting it into code tags.
[edit] Or install Linux and get KDevelop. I used kate's CTRL-6 to find the missing bracket. (CTRL-6 jumps the cursor to the matching brace.) [/edit]
dwk
Seek and ye shall find. quaere et invenies.
"Simplicity does not precede complexity, but follows it." -- Alan Perlis
"Testing can only prove the presence of bugs, not their absence." -- Edsger Dijkstra
"The only real mistake is the one from which we learn nothing." -- John Powell
Other boards: DaniWeb, TPS
Unofficial Wiki FAQ: cpwiki.sf.net
My website: http://dwks.theprogrammingsite.com/
Projects: codeform, xuni, atlantis, nort, etc.
Or just try compiling, say, at least every ten lines or so, as Salem suggested.
As I was saying, though: the last seven or so functions in that code are so similar that you ought to be able to combine them into one function.
fgets() won't give you any '\r's -- only getch() will [1]. Well, you also get '\r's if you're reading a file with DOS line endings from Linux, but I don't think you need to worry about that (it looks like you're expecting user input, not redirected files).Code:printf("\nQual o Nome do Utente:"); fflush(stdin); fgets(nomeUtenteTemp, 20+1, stdin); if(nomeUtenteTemp[0] == '\r' || nomeUtenteTemp[0] == '\n'){
[1] getch() isn't the best idea, either. It's unportable and non-standard, and often doesn't play well with standard C input functions like fgets().
Also, an explanation for my fflush comment earlier: cpwiki.sf.net/fflush
dwk
Seek and ye shall find. quaere et invenies.
"Simplicity does not precede complexity, but follows it." -- Alan Perlis
"Testing can only prove the presence of bugs, not their absence." -- Edsger Dijkstra
"The only real mistake is the one from which we learn nothing." -- John Powell
Other boards: DaniWeb, TPS
Unofficial Wiki FAQ: cpwiki.sf.net
My website: http://dwks.theprogrammingsite.com/
Projects: codeform, xuni, atlantis, nort, etc.
I have to admit, there is nothing more satisfying than writing an entire program (thousands of lines of code) without compiling it until the very end, and having it both compile flawlessly and run without any snags.
Even for an advanced programmer that is a foolish way of doing things, however. Your IDE gives you no indication whatsoever as to where in the code that things broke?
The whole code is one big mess:
Error 1 error C3861: 'getch': identifier not found g:\w00t\visual studio 2008\projects\temp\temp3.cpp 137
Error 2 error C2197: 'int (__cdecl *)(void)' : too many arguments for call g:\w00t\visual studio 2008\projects\temp\temp3.cpp 166
Error 3 error C2562: 'ordenaNome' : 'void' function returning a value g:\w00t\visual studio 2008\projects\temp\temp3.cpp 181
Error 4 error C2562: 'ordenaNome' : 'void' function returning a value g:\w00t\visual studio 2008\projects\temp\temp3.cpp 183
Error 5 error C2562: 'ordenaNomeMedico' : 'void' function returning a value g:\w00t\visual studio 2008\projects\temp\temp3.cpp 189
Error 6 error C2562: 'ordenaNomeMedico' : 'void' function returning a value g:\w00t\visual studio 2008\projects\temp\temp3.cpp 191
Error 7 error C2562: 'ordenaMedicoEsp' : 'void' function returning a value g:\w00t\visual studio 2008\projects\temp\temp3.cpp 197
Error 8 error C2562: 'ordenaMedicoEsp' : 'void' function returning a value g:\w00t\visual studio 2008\projects\temp\temp3.cpp 199
Error 9 error C2562: 'ordenaUtenteNome' : 'void' function returning a value g:\w00t\visual studio 2008\projects\temp\temp3.cpp 205
Error 10 error C2562: 'ordenaUtenteNome' : 'void' function returning a value g:\w00t\visual studio 2008\projects\temp\temp3.cpp 207
Error 11 error C2562: 'ordenaUtenteData' : 'void' function returning a value g:\w00t\visual studio 2008\projects\temp\temp3.cpp 213
Error 12 error C2562: 'ordenaUtenteData' : 'void' function returning a value g:\w00t\visual studio 2008\projects\temp\temp3.cpp 215
Error 13 error C3861: 'getch': identifier not found g:\w00t\visual studio 2008\projects\temp\temp3.cpp 234
Error 14 error C3861: 'getch': identifier not found g:\w00t\visual studio 2008\projects\temp\temp3.cpp 248
Error 15 error C3861: 'getch': identifier not found g:\w00t\visual studio 2008\projects\temp\temp3.cpp 260
Error 16 error C2440: '=' : cannot convert from 'void *' to 'PESPECIALIDADES' g:\w00t\visual studio 2008\projects\temp\temp3.cpp 264
Error 17 error C3861: 'getch': identifier not found g:\w00t\visual studio 2008\projects\temp\temp3.cpp 270
Error 18 error C3861: 'getch': identifier not found g:\w00t\visual studio 2008\projects\temp\temp3.cpp 283
Error 19 error C3861: 'getch': identifier not found g:\w00t\visual studio 2008\projects\temp\temp3.cpp 292
Error 20 error C2440: '=' : cannot convert from 'void *' to 'PESPECIALIDADES' g:\w00t\visual studio 2008\projects\temp\temp3.cpp 296
Error 21 error C3861: 'getch': identifier not found g:\w00t\visual studio 2008\projects\temp\temp3.cpp 317
Error 22 error C3861: 'getch': identifier not found g:\w00t\visual studio 2008\projects\temp\temp3.cpp 331
Error 23 error C3861: 'getch': identifier not found g:\w00t\visual studio 2008\projects\temp\temp3.cpp 340
Error 24 error C2440: '=' : cannot convert from 'void *' to 'PESPECIALIDADES' g:\w00t\visual studio 2008\projects\temp\temp3.cpp 344
Error 25 error C3861: 'getch': identifier not found g:\w00t\visual studio 2008\projects\temp\temp3.cpp 364
Error 26 error C3861: 'getch': identifier not found g:\w00t\visual studio 2008\projects\temp\temp3.cpp 376
Error 27 error C2440: '=' : cannot convert from 'void *' to 'PESPECIALIDADES' g:\w00t\visual studio 2008\projects\temp\temp3.cpp 380
Error 28 error C3861: 'getch': identifier not found g:\w00t\visual studio 2008\projects\temp\temp3.cpp 385
Error 29 error C3861: 'getch': identifier not found g:\w00t\visual studio 2008\projects\temp\temp3.cpp 406
Error 30 error C3861: 'getch': identifier not found g:\w00t\visual studio 2008\projects\temp\temp3.cpp 415
Error 31 error C3861: 'getch': identifier not found g:\w00t\visual studio 2008\projects\temp\temp3.cpp 425
Error 32 error C3861: 'getch': identifier not found g:\w00t\visual studio 2008\projects\temp\temp3.cpp 437
Error 33 error C2440: '=' : cannot convert from 'void *' to 'PMEDICOS' g:\w00t\visual studio 2008\projects\temp\temp3.cpp 441
Error 34 error C3861: 'getch': identifier not found g:\w00t\visual studio 2008\projects\temp\temp3.cpp 447
Error 35 error C3861: 'getch': identifier not found g:\w00t\visual studio 2008\projects\temp\temp3.cpp 496
Error 36 error C3861: 'getch': identifier not found g:\w00t\visual studio 2008\projects\temp\temp3.cpp 510
Error 37 error C3861: 'getch': identifier not found g:\w00t\visual studio 2008\projects\temp\temp3.cpp 523
Error 38 error C2440: '=' : cannot convert from 'void *' to 'PASSISTENCIAMEDICA' g:\w00t\visual studio 2008\projects\temp\temp3.cpp 527
Error 39 error C3861: 'getch': identifier not found g:\w00t\visual studio 2008\projects\temp\temp3.cpp 533
Error 40 error C3861: 'getch': identifier not found g:\w00t\visual studio 2008\projects\temp\temp3.cpp 547
Error 41 error C3861: 'getch': identifier not found g:\w00t\visual studio 2008\projects\temp\temp3.cpp 556
Error 42 error C2440: '=' : cannot convert from 'void *' to 'PASSISTENCIAMEDICA' g:\w00t\visual studio 2008\projects\temp\temp3.cpp 560
Error 43 error C3861: 'getch': identifier not found g:\w00t\visual studio 2008\projects\temp\temp3.cpp 580
Error 44 error C3861: 'getch': identifier not found g:\w00t\visual studio 2008\projects\temp\temp3.cpp 594
Error 45 error C3861: 'getch': identifier not found g:\w00t\visual studio 2008\projects\temp\temp3.cpp 603
Error 46 error C2440: '=' : cannot convert from 'void *' to 'PASSISTENCIAMEDICA' g:\w00t\visual studio 2008\projects\temp\temp3.cpp 607
Error 47 error C3861: 'getch': identifier not found g:\w00t\visual studio 2008\projects\temp\temp3.cpp 628
Error 48 error C3861: 'getch': identifier not found g:\w00t\visual studio 2008\projects\temp\temp3.cpp 641
Error 49 error C2440: '=' : cannot convert from 'void *' to 'PASSISTENCIAMEDICA' g:\w00t\visual studio 2008\projects\temp\temp3.cpp 645
Error 50 error C3861: 'getch': identifier not found g:\w00t\visual studio 2008\projects\temp\temp3.cpp 650
Error 51 error C3861: 'getch': identifier not found g:\w00t\visual studio 2008\projects\temp\temp3.cpp 690
Error 52 error C3861: 'getch': identifier not found g:\w00t\visual studio 2008\projects\temp\temp3.cpp 721
Error 53 error C2440: '=' : cannot convert from 'void *' to 'PUTENTES' g:\w00t\visual studio 2008\projects\temp\temp3.cpp 725
Error 54 error C3861: 'getch': identifier not found g:\w00t\visual studio 2008\projects\temp\temp3.cpp 731
Error 55 error C3861: 'getch': identifier not found g:\w00t\visual studio 2008\projects\temp\temp3.cpp 744
Error 56 error C3861: 'getch': identifier not found g:\w00t\visual studio 2008\projects\temp\temp3.cpp 753
Error 57 error C2440: '=' : cannot convert from 'void *' to 'PUTENTES' g:\w00t\visual studio 2008\projects\temp\temp3.cpp 757
Error 58 error C3861: 'getch': identifier not found g:\w00t\visual studio 2008\projects\temp\temp3.cpp 778
Error 59 error C3861: 'getch': identifier not found g:\w00t\visual studio 2008\projects\temp\temp3.cpp 792
Error 60 error C3861: 'getch': identifier not found g:\w00t\visual studio 2008\projects\temp\temp3.cpp 801
Error 61 error C2440: '=' : cannot convert from 'void *' to 'PUTENTES' g:\w00t\visual studio 2008\projects\temp\temp3.cpp 805
Error 62 error C3861: 'getch': identifier not found g:\w00t\visual studio 2008\projects\temp\temp3.cpp 825
Error 63 error C3861: 'getch': identifier not found g:\w00t\visual studio 2008\projects\temp\temp3.cpp 837
Error 64 error C2440: '=' : cannot convert from 'void *' to 'PUTENTES' g:\w00t\visual studio 2008\projects\temp\temp3.cpp 841
Error 65 error C3861: 'getch': identifier not found g:\w00t\visual studio 2008\projects\temp\temp3.cpp 846
Error 66 error C3861: 'getch': identifier not found g:\w00t\visual studio 2008\projects\temp\temp3.cpp 872
Error 67 error C2440: '=' : cannot convert from 'PESPECIALIDADES *' to 'PESPECIALIDADES' g:\w00t\visual studio 2008\projects\temp\temp3.cpp 877
Error 68 error C2664: 'insereAcabeca' : cannot convert parameter 2 from 'PESPECIALIDADES' to 'PNO' g:\w00t\visual studio 2008\projects\temp\temp3.cpp 879
Error 69 error C2440: '=' : cannot convert from 'PASSISTENCIAMEDICA *' to 'PASSISTENCIAMEDICA' g:\w00t\visual studio 2008\projects\temp\temp3.cpp 883
Error 70 error C2664: 'insereAcabeca' : cannot convert parameter 2 from 'PASSISTENCIAMEDICA' to 'PNO' g:\w00t\visual studio 2008\projects\temp\temp3.cpp 885
Error 71 error C3861: 'getch': identifier not found g:\w00t\visual studio 2008\projects\temp\temp3.cpp 892
Error 72 error C3861: 'getch': identifier not found g:\w00t\visual studio 2008\projects\temp\temp3.cpp 917
Error 73 error C3861: 'getch': identifier not found g:\w00t\visual studio 2008\projects\temp\temp3.cpp 939
Error 74 error C3861: 'getch': identifier not found g:\w00t\visual studio 2008\projects\temp\temp3.cpp 962
Error 75 error C3861: 'getch': identifier not found g:\w00t\visual studio 2008\projects\temp\temp3.cpp 997
Error 76 error C3861: 'getch': identifier not found g:\w00t\visual studio 2008\projects\temp\temp3.cpp 1015
Error 77 error C3861: 'getch': identifier not found g:\w00t\visual studio 2008\projects\temp\temp3.cpp 1033
Error 78 error C3861: 'getch': identifier not found g:\w00t\visual studio 2008\projects\temp\temp3.cpp 1052
Error 79 error C3861: 'getch': identifier not found g:\w00t\visual studio 2008\projects\temp\temp3.cpp 1072
Error 80 error C3861: 'getch': identifier not found g:\w00t\visual studio 2008\projects\temp\temp3.cpp 1089
Error 81 error C3861: 'getch': identifier not found g:\w00t\visual studio 2008\projects\temp\temp3.cpp 1107
Error 82 error C3861: 'getch': identifier not found g:\w00t\visual studio 2008\projects\temp\temp3.cpp 1124
Error 83 error C3861: 'getch': identifier not found g:\w00t\visual studio 2008\projects\temp\temp3.cpp 1142
Error 84 error C3861: 'getch': identifier not found g:\w00t\visual studio 2008\projects\temp\temp3.cpp 1161
Error 85 error C3861: 'getch': identifier not found g:\w00t\visual studio 2008\projects\temp\temp3.cpp 1179
Error 86 error C3861: 'getch': identifier not found g:\w00t\visual studio 2008\projects\temp\temp3.cpp 1195
Error 87 error C3861: 'getch': identifier not found g:\w00t\visual studio 2008\projects\temp\temp3.cpp 1207
Error 88 error C3861: 'getch': identifier not found g:\w00t\visual studio 2008\projects\temp\temp3.cpp 1224
Error 89 error C3861: 'getch': identifier not found g:\w00t\visual studio 2008\projects\temp\temp3.cpp 1238
Error 90 error C2562: 'MenuOrdenar' : 'void' function returning a value g:\w00t\visual studio 2008\projects\temp\temp3.cpp 1242
You can start by getting rid of getch. It's non-standard, and it obviously doesn't exist in Microsoft's compiler. Use getchar() instead or nothing at all.
And the actual problem lies at line 692. This snippet:
You were missing the end comment market marked by red.Code:/* fgets(ptrTempUtente->tipoAssistencia, 40+1, stdin ); if(ptrTempUtente->tipoAssistencia[0] == '\r' || ptrTempUtente->tipoAssistencia[0] == '\n') printf("\nAtencao, deixou o campo vazio" ); } //fgets(tipoAssistenciaTemp, 30+1, stdin ); //if(pUtentes->tipoAssistenciaTemp[0] == '\r' || pUtentes->tipoAssistenciaTemp[0] == '\n'){ // printf("\nAtencao, deixou o campo vazio" ); //} ptrTempUtente = criarNO(pUtentes); insereAcabeca(&cabecaUtente,ptrTempUtente); listaFicheiroAlterado=TRUE; getch();*/ } } /* FUNCAO PARA PESQUISAR Utentes POR NOME */
Follow these steps
1. Put this on the first line
Put this on the last line of the fileCode:#if 0
Make sure it compiles with no errors.Code:#endif int main ( ) { return 0; }
2. Move the #if 0 past the includes, so now it looks like this
Make sure it compiles with no errors.Code:#include <stdio.h> #include <stdlib.h> #include <string.h> #if 0
3. Move it past the #defines, so it looks like this
Make sure it compiles with no errors.Code:#include <stdio.h> #include <stdlib.h> #include <string.h> #define TRUE 0 #define FALSE 1 #define LEN_FICHEIRO 256 #define FICHEIRO_DEFAULT "dadosBin.dat" #if 0
4. Move is past ONE typedef, so
Make sure it compiles with no errors.Code:#include <stdio.h> #include <stdlib.h> #include <string.h> #define TRUE 0 #define FALSE 1 #define LEN_FICHEIRO 256 #define FICHEIRO_DEFAULT "dadosBin.dat" /* ESTRUTURAS */ /* estrutura que define o no */ typedef struct no { struct no *prox; struct no *ant; void *dados; }NO; typedef NO *PNO; #if 0
At each stage, you MAKE SURE IT COMPILES before moving the #if 0 past the next set of declarations / function definitions or whatever.
It's a quick way of hiding a lot of code from the compiler without having to delete it.
It also means you only have to deal with a few problems at a time, rather than the mass you have at the moment.
If you do get stuck, it means you can simply delete everything between #if 0 .. #endif before posting. Then we have a lot less to look at.
If you dance barefoot on the broken glass of undefined behaviour, you've got to expect the occasional cut.
If at first you don't succeed, try writing your phone number on the exam paper.
hi guys its me again, my code still doesn´t work!!! help...
Dude, can you fix the code, particularly by taking heed to Salem's suggestions then attach a copy of your newer code?
yes you are wrigth i ´sorry to take your time, its working salem, master5001
result:Code:#if 0 /*int main() { char escolha; do { system("cls"); printf("\n Menu Principal\n"); printf("\n 1 - Menu Especialidades\n"); printf("\n 2 - Menu Medicos\n"); printf("\n 3 - Menu Assistencia\n"); printf("\n 4 - Menu Utentes\n"); printf("\n 5 - Menu Consultas\n"); printf("\n 6 - Menu Pesquisa\n"); printf("\n 7 - Menu Ordenar\n"); printf("\n 8 - Ler Ficheiro\n"); printf("\n 9 - Gravar Ficheiro\n"); printf("\n 0 - Sair do Programa\n"); printf("\n Escolha a Opcao:"); escolha=getchar(); switch(escolha) { case '1': MenuEspecialidades(); break; case '2': MenuMedicos(); break; case '3': MenuAssistenciaMedica(); break; case '4': MenuUtentes(); break; case '5': MenuConsultas(); break; case '6': MenuPesquisas(); break; case '7': MenuOrdenar(); break; case '8': verificaFicheiro(); break; case '9': gravaFicheiro(&cabecaEspecialidade, &cabecaMedico, &cabecaAssistenciamedica, &cabecaUtente, &cabecaAgendaConsultas); break; case '0': fim(); break; default: getchar(); break; } } while (escolha!='0'); getchar(); } */ #endif int main () { return 0;
E:\Programas\CodeBlocks\SourceALG\ProjectMainPGM.v 1\main.c: In function `main':
E:\Programas\CodeBlocks\SourceALG\ProjectMainPGM.v 1\main.c:1317: error: syntax error at end of input
Process terminated with status 1 (0 minutes, 0 seconds)
1 errors, 1 warnings
p.s. i don´t know what more to trie...
I think you're missing a closing curly brace again. At the very end of the file. [edit] Err -- at the very end of the code you posted. [/edit]Code:#endif int main () { return 0;
Last edited by dwks; 09-04-2008 at 03:40 PM.
dwk
Seek and ye shall find. quaere et invenies.
"Simplicity does not precede complexity, but follows it." -- Alan Perlis
"Testing can only prove the presence of bugs, not their absence." -- Edsger Dijkstra
"The only real mistake is the one from which we learn nothing." -- John Powell
Other boards: DaniWeb, TPS
Unofficial Wiki FAQ: cpwiki.sf.net
My website: http://dwks.theprogrammingsite.com/
Projects: codeform, xuni, atlantis, nort, etc.