PDA

Visualizza la versione completa : [C] DevC++: Compilazione OK, esecuzione non visualizza niente


fomalaut
23-11-2010, 13:40
Ciao a tutti!,programmmo in C con il sistema integrato DEVC++ 4.9.9.2,vorrei sapere se anche a voi dà problemi: in fase di compilazione mi dà l'ok, mentre in esecuzione non mi visualizza l'output a video.

Secondo voi qual é il problema?
GRazie a chi vorrài rispondere .

MdE2005
23-11-2010, 14:18
Benvenuto nel forum :)

Tipico per un principiante: metti il comando system("pause") alla fine del tuo codice.
Leggi il Regolamento: il titolo non è valido..

fomalaut
23-11-2010, 16:45
Grazie MdE2005!
eh si... dovevo leggere il regolamento prima di postare..... :)

Attualmente sto scrivendo un programma che deve leggere una lista di stringhe e depurarne l'output(eliminare numeri,caratteri quali apici,punti, accenti, virgolette, trattini e spazi in eccesso)
Sto utilizzando fopen per aprire il file e leggerlo e la funzione strtok per scansionare carattere per carattere.

il codice per leggere lista é questo:

#include <stdio.h>

int main()
{
FILE *f;
char s[1000];

f=fopen("dictionary.txt","r");
if (!f)
return 1;
while (fgets(s,1000,f)!=NULL)
printf("%s",s);
fclose(f);

system("pause");
return 0;
}

la funzione strtok come dovrò impostarla? Thanks

ramy89
23-11-2010, 17:10
Devi anche includere i tag prima di postare il codice,che va indentato.
Comunque io ti consiglio code::blocks.
Se invece vuoi fare ugualmente con dev,basta mettere una scanf alla fine della funzione.
Ciao :ciauz:

ShaleN
23-11-2010, 18:35
originariamente inviato da MdE2005:
Tipico per un principiante: metti il comando system("pause") alla fine del tuo codice.


Ma non eri tu quello contrario alla system("pause") ??

MdE2005
23-11-2010, 18:41
Originariamente inviato da ShaleN
Ma non eri tu quello contrario alla system("pause") ??

Si, sono io; il problema è che sono contrario anche a scanf..

In realtà avrei detto getchar() ma ho preferito suggerito la System perchè pensavo che l'utente potesse capire meglio come mai non visualizzava l'output.
Visto che è agli inizi, se lo può permettere..


Ciao :)

MdE2005
23-11-2010, 18:45
Originariamente inviato da fomalaut
Grazie MdE2005!

la funzione strtok come dovrò impostarla? Thanks

Prego..

Dubito che la strtok sia la soluzione giusta, devi utilizzare le espressioni regolari oppure agire manualmente cercando tutti i caratteri che desideri eliminare, eliminandoli, ricomponendo la stringa.
In ogni caso la documentazione della strtok è questa: http://www.cplusplus.com/reference/clibrary/cstring/strtok/

In alternativa ti posto anche questo link, secondo me più appropriato: http://www.cplusplus.com/reference/clibrary/cstring/strpbrk/

Ovviamente per qualsiasi problema siamo qua.



Ciao :)

fomalaut
24-11-2010, 10:24
Grazie a tutti per gli utili consigli. :)
Ritornando al primo sorgente.... nel leggere la lista da video ho notato
che la lettura del file non incomincia dall'inizio ma da metà, come mai?

MdE2005
24-11-2010, 12:17
Originariamente inviato da fomalaut
Grazie a tutti per gli utili consigli. :)
Ritornando al primo sorgente.... nel leggere la lista da video ho notato
che la lettura del file non incomincia dall'inizio ma da metà, come mai?

Il codice è corretto, praticamente leggi dal file solo i primi 1000 caratteri, però a partire dall'inizio del file, quindi ciò che affermi è strano.
Unica soluzione: il file è molto grande per cui la finestra di console non riesce a far visualizzare tutto l'output e quindi mostra solo la parte finale.


Ciao :)

fomalaut
25-11-2010, 10:36
Grazie MdE :)

In effetti ho dei file molto grandi da leggere.
Adesso ho scritto molti più caratteri però quando mando in esecuzione mi chiude la finestra di output e mi segnala errore.
quello che dovrei fare è una attribuzione automatica di codici.
Ciò che ho a disposizione sono :
1) un file .xls con parole chiave e codici (tipologia-sottotipologia-forma giuridica)
(che ho esportato in formato .txt ....ho fatto bene?)



-PAROLA CHIAVE- - AND - - AND - TIPO SOTTO FG
COLLEGIO TECNICI SANITARI RADIOLOGIA MEDICA 14 01 800

2)il secondo file è una lista con denominazioni di imprese (a cui applicare la funzione strpbrk)

Il programma che dovrei scrivere dovrebbe leggere il file con le denominazioni delle imprese, depurarne l'output e poi attribuire a seconda della presenza nella denominazione delle parole chiave , i rispettivi codici.
Che funzione potrei usare per l'attribuzione automatica? Please...

Loading