Newsgroup: it.comp.lang.c
Titolo: Esercizio Spesa

Carissimi ragazzi,
vi chiedo delucidazioni su questo esercizio, sono affranto dal dolore;
ho un file di testo spesa.txt cosi configurato
5          115.00
10        11.50
15        10.40
debbo scrivere un programma in c che calcoli i prezzo di ciascun articolo
per il prezzo unutario e visualizzare la spesa totale
io ho pensato di farlo in questo modo
#include <stdio.h>
main()
        {
         int merce;
/* quantità merce*/
         double prezzo_unit, spesa, spesa_tot, somma;                  /*
dichiaro queste variabili per poter fare poi il calcolo*/
          FILE *fp=fopen ("spesa.txt","r");
/*aperto in sola lettura*/
          while(fscanf(fp,"%d%f",&merce,&prezzo_unit) !=EOF
         da qui in poi non saprei come andare avanti !!! xchè
    se scrivo spesa = merce * prezzo_unit son sicuro che mi calcolerà solo
la spesa del primo elemento cioè 5 * 115.00
 allora pensavo di fare l'struzione switch (prezzo) ma mi sono incasinato e
sono nel pallone
potreste aiutarmi a capire
sono molto chiuso mentalmente.!! scherzoa ma ancora non riesco a capire

           while(fscanf(fp,"%d%f",&merce,&prezzo_unit) !=EOF
{
    spesa = merce * prezzo_unit;
    spesa_tot += spesa;
}
E qui dovrebbe essere finito il tutto.
--- bye

 non fa per te.
Minchia!!!
Che simpatia!
Tu sei "nato imparato", vero?
Spero non ti capiti mai di fare domande...
-- 
Gerolamo

 "se scrivo spesa = merce * prezzo_unit son sicuro che mi calcolerà solo la
spesa del primo elemento cioè 5 * 115.00"
evidentemente è stato così pigro da non averlo nemmeno collaudato. Se lo
avesse collaudato aggiungendo un printf al tutto avrebbe visto cosa avrebbe
ottenuto. Questa si chiama pigrizia. io considero la pigrizia l'ottavo
peccato capitale (soprattutto per un programmatore).
Adesso, se il problema era il B (mancanza di conoscenze logiche), io non so
te, ma io i files li ho iniziati a usare molto ma molto dopo aver iniziato a
programmare, e di sicuro dopo aver padroneggiato un po' di logica e di
algoritmi. Quindi, se lui non lo ha fatto, potremmo dire che è colpevole di
superbia (uno dei sette peccati capitali)
Io prima di fare una domanda mi spacco la testa per almeno 3 ore cercando la
risposta da solo (tanto prima di avere una risposta ci vogliono delle ore).
Lo "spaccarsi la testa" include debuggare il codice, cerca nell'MSDN,
cercare nei newsgroup e cercare con il google (cosa che una grossa fetta dei
postanti non fa). Il 90% delle domande che faccio sono così complesse che
non ricevono risposte, o non ricevono risposte "soddisfacenti" (se vuoi usa
il deja e va a dare un'occhiata).
Io ho deciso che il mio modo di rispondere alle persone che fanno domande
stupide o che dimostrano pigrizia da parte loro sarà improntato all'essere
sferzante e cattivo, ma lo stesso nel dare la risposta. (traduzione: gli
rispondo e gli dico che è stupido/pigro/inetto). In questa maniera magari
ferendolo nell'orgoglio magari diventerà un programmatore migliore e non
viene più a chiedere cosa significa i = i + 1.
E per finire, ma lo sai che almeno un 10% delle domande è così incompleto da
essere non rispondibile? C'è gente che dice semplicemente "ho provato a fare
questo ma non mi è riuscito".... senza dirti in che maniera, o perchè, o
come. Mica sanno che non siamo telepati.
[RANT MODE OFF]

 Ti voglio ricordare che
Si, ok.
Ma non è che questo ti esime dalle regole della buona educazione.
O no?
-- 
Gerolamo

 O no?
Perchč? io gli ho dato un parere. Mica gli ho detto quello che penso di lui.
Non sono stato maleducato. Non gli ho detto "tu sei (qualcosa di
offensivo)". Il fatto che poi anche le opinioni possano ferire... Beh...
Questo diventa un problema suo.
--- bye

Dimenticavo... Giusto per fare l'appunto... Non pago della risposta che gli
ho dato (che da sola completava il 90% del problema), l'OP è riuscito anche
a fare un'altra domanda perchè invece di scrivere fclose(fp) ha scritto
fp(close); (ed evidentemente era troppo pigro per cercare l'errore). Ora...
Io non so come mai il compilatore non si sia lamentato (dev'essere
abbastanza lasco), cmq...
(e inoltre ci tengo a precisare che evidentemente lui non si è sentito
offeso, se no si sarebbe lamentato). La verità è che se guardi non pago di
non essere pago ha fatto un ulteriore post (stavolta sul campionato). Cosa
ti devo dire... Ognuno ha ciò che si merita, e non tutti possono essere
programmatori. Io non so cucinare e infatti non cucino. Pazienza.
--- bye

 Mica gli ho detto quello che penso di lui.
"Ti consiglio di cambiare mestiere. La programmazione evidentemente
non fa per te."
Mi pare che sia proprio cosa pensi di lui...
Io non commentavo nel merito, ma solo nei toni.
Un conto è dire: guarda il manuale e cerca di capire perchè se no non
impari.
E un conto è dire: inutile che continui, non ci arriverai mai.
Per il resto chiudo qui, che mi pare che ormai siamo decisamente OT.
ciaociao!
-- 
Gerolamo