Ciao!
Oggi posto il codice riveduto e corretto dell’esercizio che una mia collega mi ha spedito (quello dell’altra volta).
Rivedendolo assieme ho potuto quindi assistere alla rilettura del codice e alla sua correzione.
Posto questo codice testato su una macchina Windows. Per prima cosa create un file .txt (non word perchè contiene caratteri che incasinano la lettura) in cui dovete scrivere 1 2 3 4 5 6 7 8 9 10.
Aprite un editor e scrivete:
#include
//importa libreria
#define LUNGA 50
//niente punto e virgola nel define
main() {
char title[LUNGA]=”";
/*inizio fase di apertura file, char sta per carattere in inglese. Sto dicendo che il titolo è lungo 50 caratteri. Nota: il =”" è stato ,messo dopo aver visto che c’erano dei problemi ad aprire il file nel primo modo*/
FILE *file1;
//inizializzazare un file nel quale leggerò i numeri
printf(”Titolo del file di lettura: \n”);
//stampa su video il titolo del file
scanf(”%s”, title);
/*scanf legge il nome e %s significa stringa, Sono due operazioni diverse il titolo e l’apertura del file*/
if((file=fopen(title,”r”))==NULL)
//fopen ha delle proprietà. “r” sta per read
{printf(”Il file non esiste!\n”); exit(0);}
/*exit 0 significa che se il file non esiste il computer esce anzichè continuare un processo che darebbe errore lo stesso*/
//adesso leggo 10 numeri da un file che deve contenerli
int i,numero=0, somma=0;
for(i=0;i<10;i=i+1)
//sto dicendo che il valore di i va da 0 a 9
{fscanf(file, "%d", &numero);
/*fscanf legge da un file già aperto mentre scanf legge da video*/
printf("%d\n", numero);
//scrivo il numero che leggo
somma = somma + numero;
printf("sono arrivato qua") //controll lettura
char titolo[lunga];
//è un array ed è una sequenza di 50 caratteri
FILE *file1;
//sto dichiarando la variabile file su cui vado a scrivere
printf(”Titolo del file di scrittura: \n”);
scanf(”%s”, titolo);
if((file1=fopen(titolo,”w”))==NULL) {printf(”Non posso aprire il file!\n”);
exit(0);}
fprintf(file1, “somma dei numeri: %d\n”, somma);
//scrivi nel file1 la somma
}
Mamma mia! Allora a questo punto ho lanciato l’eseguibile e gli ho detto di importare il file prova.txt che ho fatto in precedenza ma purtroppo mi legge tutto 0 e di conseguenza quando scrivo il nome del file (esempio mucca.txt) mi si visualizza la somma è uguale a 0.
Dove sbaglio?
Ciao!
Altra lezione di programmazione in C in vista del concorso. Metto on-line i miei appunti di C che sto imparando in modo che possano essere utili anche ad altre persone.
APPUNTI:
Per stampare il contenuto di una variabile bisogna utilizzare la funzione printf() stando però attenti a cosa si vuole stampare:
%c – char, %d – int(numero intero), %f- float, %s- string.
Attenzione! Quando usate i float (ambiente Windows) ricordatevi di mettere nel prompt dei comandi il punto al posto della virgola
#include
main()
{
float a,b;
printf(”inserisci due numeri con la virgola\n”);
scanf(”%f”, &a);
scanf(”%f”, &b);
printf(”la somma dei due e’ : %f\n”, (a+b));
printf(”la moltiplicazione dei due e’: %f\n”, (a*b));
getch();
}
Per quanto riguarda #define NOME, define è una costante il cui numero è immutabile!
(esercizio che mi è stato passato da una collega e che è da verificare!!!)
#include
#define LENGHT 50; // l’ho messo io di mia iniziativa!!
main(){
int num;
char title[LENGHT]; // inizio fase di apertura di un file
printf(”Titolo del file di lettura: \n”);
scanf(”%s”, title);
if((file=fopen(title, “r”))==NULL)
{printf(”Il file non esiste! \n”);
exit(0);} //fine fase apertura di un file
//adesso va qui la sequenza di operazioni che sono richieste. Per esempio qua sotto legge due elementi dal file e ne faccio una somma
………
La prossima volta lo pubblico dopo averlo testato. Questa è solo una piccola dimostrazione. In ogni caso per apertura e chiusura dei file ripassare fscaf, scanf, printf e fprintf.
//inoltre per la gestione delle parole dare un’occhiata al tipo di stringa.
Alla prossima!
Ciao!
Allora, come va? Stanno per riprendere le lezioni in C! E prima del 13, cercherò a tutti i costi di realizzare un programma in C che importi un file, lo legga, lo modifichi ed infine lo salvi. Grazie al cielo sto ricevendo un’aiuto da varie persone che mi stanno aiutando. In ogni caso se quetso blog non sarà aggiornato per un pò di tempo saprete il perchè. Oggi è il 2 di Settembre ed è il compleanno del mio amico che vive su a Milano e che compie 29 anni (come me).
alla prossima!
No. Non ho dimenticato i fumetti, questa è solo una pausa temporanea per via del concorso. Riguardo ad essi ho alcuni progetti. Per prima cosa pensavo di passare a Seven in quanto su XP certi programmi che girano bene su 7, quando li lancio mi fanno spegnere lo schermo per un secondo (Macchine Virtuali/Sketchup ecc…) e di conseguenza penso che se vorrò usare nuovi software dovrò passare a Seven. Ho già scaricato e testato un programmino che ha detto che sul mio computer è possibile installarci il nuovo Sistema Operativo. Anche se l’operazione di aggiornamento la farò dopo il 13/14 perchè non voglio avere altri problemi a cui pensare.
Inizia la corsa finale per il concorso (13/14 Settembre) e anche per altre situazioni.
Oggi stavo studiando i DNS senza problemi quando qualcuno mi ha chiesto a che punto di studio del C fossi arrivato e quando gli ho risposto alle funzioni tipo If, Else, else-if, ecc… questa persona mi ha fatto notare che molto probabilmente occorrerà saper scrivere Array, o riuscire a far eseguire dal programma certe funzioni (leggi un numero, fai quello e fai quell’altro, ecc…). Panico.
Come torno a casa mi rimetto a studiare alla grande sperando che non mi capitino delle prove difficilissime. Penso che chiunque all’avvicinarsi di una certa scadenza venga colto dall’ansia. Il 13 e il 14 settembre non sono certo lontani…..
Inizia (da domani) la “corsa finale” anche per mia sorella che il 18 si sposa e diventa la prima a lasciare casa nostra per andare a vivere con suo marito (!!).
Infine inizia la “corsa finale” anche per qualcos’altro. Nella terrazza di Moneglia (località estiva) ci sono tante piccole piante che stanno crescendo dalle fessure e l’intervento subito dopo l’esame (scendo giù il 14 pomeriggio/sera e ci resto fino al 19 Domenica) avrà lo scopo di eliminarne quante più possibile. E per sempre.
Già che ci sono cercherò di fare un blitz a Punta Rospo (appena fuori Moneglia verso Deiva Marina) cercando di fare delle foto sott’acqua sperando che il tempo mi sia d’aiuto.
Infine il 4/5 Settembre sarò su a Milano a far visita ad un mio amico mentre l’11 festeggieremo insieme gli anni (del mio amico che ormai abita su a Milano) e il 12 farò una piccola visitina a Moneglia.
Penso che in questi 18 giorni, la produzione di fumetti possa anche retrocedere di qualche passo (o meglio, la produzione sarà praticamente sospesa in quanto dovrò concentrarmi al massimo su questa chance).
Vi chiedo solo di pregare un pò per me. Perchè dopo 10 anni di stage/tirocini e altro riuscirei finalmente a trovare un lavoro.
Grazie
Ciao a tutti!
Finalmente si ritorna a parlare di fumetti!!!! era ora!!! dopo un lungo ed intenso travagliato periodo in cui ho passato a disegnare bozze di volti umani in preparazione alla prossima saga, adesso finalmente sono passato a qualcosa di diverso. Ho ripreso l’uso della penna con Photoshop cercando di replicare qualche disegno scaricato dalla rete. Tra il caldo umido, vacanze & altro (complice una cattiva gestione del tempo) ne è passato di tempo ma adesso si ritorna a posto.
I volti e altri disegni preferisco farli sempre a mano (forse perchè sono un tradizionalista?) ma alcune cose dovrei farle al computer che riescono meglio: tipo le esplosioni.
Ho cercato di replicare una specie di sailor uranus (ma questa è solo una bozza).
Ma ora che sono che uno dei miei principali ostacoli è la povertà culturale cercherò di rimediare al più presto cercando libri specifici che trattino di vari argomenti.
Ciao!
Notizia Flash:
E’ stato aggiornato il sito ufficiale con le lezioni di informatica ( nozioni base di programmazione in c, script unix, guest-additions) in formato pdf pronte. Se volete darci un’occhiata siete liberi.
Orario di chiusura per Gcc
Finalmente sono riuscito a stendere una guida degna di tal nome per aiutare la persona a compiere i suoi primi passi sotto C sia in ambiente Linux che in ambiente Windows.
Ho anche capito perchè gcc costringe la persona a fare tutti quei passaggi sul terminale e non è automatico come altri programmi. La risposta è che GCC è fatto così (non ha pulsanti) e sopratutto i processi vengono eseguiti dalla linea di comando e non da un’interfaccia grafica.
I passaggi (controllo sintassi/ compilazione e deboug) in Dev-C++ sono tutti nascosti mentre in Gcc si vedono.
Ora la guida è pronta e verrà postata sul sito appena sarà possibile.
Alla prossima!
Posto questo articolo un pò imbarazzato perchè ho risolto il problema del gcc e delle strane ed astruse procedure. Mi sono accorto che ero io che sbagliavo a non prestrare attenzione a ciò che mi dicevano. Ora che ho corretto questo piccolo difetto l’eseguibile a ripreso a funzionare. Oggi o domani dovrei essere in grado di postare un piccolo tutorial in grado di spiegare come funziona bene la cosa.
Continuano i miei studi per arrivare al concorso preparato. Ieri (e oggi) sto studiando i DNS, cosa sono, come funzionano e che funzione ricoprono. Grazie all’aiuto di una persona a me vicina ci sto finalmente capendo di più….ora so cos’è una risoluzione inversa e via dicendo.
Ho visto anche BIND, il dns per Linux e di come svolge il suo lavoro.
Infine sto studiando le cose che forse è più probabile che mi chiedano (Tcp/IP, dns, programmazione in C o in Unix) sperando poi di giungere all’esame preparato. Ovviamente la materia su cui mi sto preparando è vastissima ma almeno cercherò di avere delle nozioni base ben salde.
Alla prossima
Piccolo problema tecnico: non riesco a caricare il nuovo Header del blog. Appena sarà possibile cercherò di sistemarlo ma adesso non riesco a farcela.











