| V I S U A L I Z Z A D I S C U S S I O N E |
| VanHalen |
Inserito il - 21/06/2004 : 18:07:23 Non posso crederci, la stessa cosa ke mi è successa in laboratorio!!! Il compilatore(Dev-c++ 4.9)mi segnala errori ASSURDI, e dico assurdi non a caso, anke xkè ho implementato l'automa riconoscitore dei commenti(/*...*/)pari pari a Chilavert, ke gentilmente l'ha postato. Vorrei chiederti, ma hai provato a compilarlo!? O soltanto a me da questi errori!? Insomma, oltre a numerosi WARNINGS mi da anke 2 errori, x la precisione: parse error before else(si riferisce al primo else nel main, ki l'ha letto capisce)e parse errore before at end of input, all'ultimissima riga. Davvero, all'inizio lo stavo riscrivendo da solo a memoria. Quando ho visto ke non lo compilava, ho controllato e ricontrollato ke fosse uguale a quello di Massimo! Veramente...non ce la faccio +! In laboratorio stessa cosa! Ma sti compilatori di m...a! Potete aiutarmi e dirmi cosa posso fare!!!?
GRAZIE! |
| 20 U L T I M E R I S P O S T E (in alto le più recenti) |
| Dindi |
Inserito il - 28/06/2004 : 08:36:47 anche a me da l'errrore della microsoft!!uff come dvo fare?? |
| Vaso |
Inserito il - 23/06/2004 : 21:35:49 Al labortorio non vedono il codice ma il risultato, quindi, apparte una telecamera nascosta per sgamare chi userà il GOTO :p, il fine giustifica i mezzi... Se l'unico probl era che prendeva anche le lettere maiuscole prendevi 7 su 10 non male =) Spero di essere stato incoraggiante eheh |
| Chilavert |
Inserito il - 23/06/2004 : 11:20:29 if if if if if |
| Retar |
Inserito il - 23/06/2004 : 11:15:24 Ragazzi, vorrei un'opinione... secondo voi con un programma simile si passa il laboratorio? Ha solo un difetto: riconosce le lettere maiuscole...
#include<stdio.h> #include <ctype.h> #include <stdlib.h>
main() { char *string; int corretto=1; int torna_a_q2; int i=0; printf("inserire una stringa: "); scanf("%s",string); if (*string=='/') i++; else corretto=0; //q0->q1 if ((corretto==1)&&(*(string+i)==NULL)) corretto=1; //q1 stato finale if ((corretto==1)&&(*(string+i)!=NULL)) {if (*(string+i)=='*') i++; else corretto=0;} //q1->q2 if ((corretto==1)&& (*(string+i)!=NULL)) do { torna_a_q2=0; if (corretto==1) while ( (isalnum(*(string+i))) || (*(string+i)=='/') || (*(string+i)=='_') ) i++; // q2->q2 if ((corretto==1) && (*(string+i)=='*')) i++; else corretto=0; //q2->q3 if ((corretto==1) && ( (isalnum(*(string+i))) || (*(string+i)=='*') || (*(string+i)=='_') ) ) {i++; torna_a_q2=1;} //q3->q2 else if ( (corretto==1) && (*(string+i)=='/') ) i++; else corretto=0; // q3->q4 } while (torna_a_q2==1);
if ((corretto==1)&&(*(string+i)==NULL)) corretto=1; else corretto=0; // q4 stato finale definitivo
if(corretto==1) printf("stringa corretta\n"); else printf("stringa errata\n");
system("pause"); return 0;
}
|
| Chilavert |
Inserito il - 22/06/2004 : 12:45:45 la stessa sulla quale ho fatto gli esercizi... bhò... |
| ohtar |
Inserito il - 22/06/2004 : 12:42:50 la 4.9.8.0 |
| Chilavert |
Inserito il - 22/06/2004 : 12:38:56 mmm strano... che versione del DEV hai? |
| ohtar |
Inserito il - 22/06/2004 : 12:35:26 non mi parte neanche dall'eseguibile anche seho provato la versione allegata da Vaso e mi parte |
| Chilavert |
Inserito il - 22/06/2004 : 12:32:15 modifica quella del pdf, tanto cambia poco... |
| ohtar |
Inserito il - 22/06/2004 : 12:27:28 dove posso trovare l'implementazione dell'esonero?? |
| Chilavert |
Inserito il - 22/06/2004 : 12:27:08 capitava anche a me all'inizio. Basta che esci dal DEV e vai ad eseguire direttamente i .exe che il compilatore ti ha creato. |
| ohtar |
Inserito il - 22/06/2004 : 12:20:07 Citazione: Messaggio inserito da fabbattista
Citazione: Messaggio inserito da ohtar
Ho risolto il problema del loop però quando eseguo il programma mi compare una finestra che mi dice che l'applicazione verrà chiusa a causa di un errore ed eventualmente mi chiede di segnalare l'errore alla microsoft. Qualcuno sa dirmi cosa devo fare per far funzionare questo benedetto automa?
Come hai risolto il problema del loop?
penso di averlo risolto perchè avevo scritto male un'istruzione.solo che ora non riesco proprio ad avviare l'eseguibile per via dell'errore della microsoft |
| Chilavert |
Inserito il - 22/06/2004 : 12:19:25 Citazione: Messaggio inserito da Vaso
X othar: l'implementazione di Chila a me come ad altri gira, controlla bene.
L'unica cosa che manca è un controllo sull'alfabeto (le lettere maiuscole non fanno parte dell alfabeto dell'automa) e poi c'è un errore di base ossia l'automa nello stato q3 incontrando '*' dovrebbe tornare in q2 (secondo l'automa datoci in laboratorio) e non rimanere in q3.
L'implementazione non è la stessa dell'esonero... leggi in testa alla traccia, c'è una data... |
| Vaso |
Inserito il - 22/06/2004 : 12:06:36 X othar: l'implementazione di Chila a me come ad altri gira, controlla bene.
L'unica cosa che manca è un controllo sull'alfabeto (le lettere maiuscole non fanno parte dell alfabeto dell'automa) e poi c'è un errore di base ossia l'automa nello stato q3 incontrando '*' dovrebbe tornare in q2 (secondo l'automa datoci in laboratorio) e non rimanere in q3.
|
| Chilavert |
Inserito il - 22/06/2004 : 12:04:03 Citazione: Messaggio inserito da VanHalen Xkè nei commenti lui contava tutto ciò ke fosse racchiuso tra slash e asterisco, mentre qui gli dobbiamo dire di contare solo stringhe e spazi... Ne convieni?
come detto in precedenza, ho implementato gli automi prevdendo spazio = fine token
potete modificare a vostro piacimento... |
| fabbattista |
Inserito il - 22/06/2004 : 12:01:26 Citazione: Messaggio inserito da ohtar
Ho risolto il problema del loop però quando eseguo il programma mi compare una finestra che mi dice che l'applicazione verrà chiusa a causa di un errore ed eventualmente mi chiede di segnalare l'errore alla microsoft. Qualcuno sa dirmi cosa devo fare per far funzionare questo benedetto automa?
Come hai risolto il problema del loop? |
| VanHalen |
Inserito il - 22/06/2004 : 11:56:35 Ah Chila, altro erroruccio credo(non avercela con me!): nell'automa ke riconosce i commenti racchiusi fra apici, non riconosce gli spazi fra stringhe come il primo. Ma a differenza del primo, oltre ad eliminare la condizione "!(isspace(car))" nel ciclo while, bisogna modificare un case dello switch. In pratica:
"case q1: if (isalpha(car)||isspace(car)) tkn->stato=q1 ..."
Xkè nei commenti lui contava tutto ciò ke fosse racchiuso tra slash e asterisco, mentre qui gli dobbiamo dire di contare solo stringhe e spazi... Ne convieni?
|
| ohtar |
Inserito il - 22/06/2004 : 11:55:10 Ho risolto il problema del loop però quando eseguo il programma mi compare una finestra che mi dice che l'applicazione verrà chiusa a causa di un errore ed eventualmente mi chiede di segnalare l'errore alla microsoft. Qualcuno sa dirmi cosa devo fare per far funzionare questo benedetto automa? |
| Leonefragile |
Inserito il - 22/06/2004 : 11:51:26 I GO TO? Secondo il mio parere sono qualcosa da non usare mai. Creare grossi codici col GO TO renderebbe il programma illeggibile, immodificabile e porterebbe a destrutturazione. Qualcuno mi accennò del loro uso solo in casi estremi... Insomma...prevenire è meglio che curare. Saluti
Michele |
| ohtar |
Inserito il - 22/06/2004 : 11:49:14 A mè l'implementazione di Chila (riconoscimento dei commenti) mi da problemi perchè entra in loop stampandomi sempre "token errato". Ho controllato il codice ma non riesco a capire dove ho sbagliato. |