Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Progetto Distributore in C
Forum - C/C++ - Progetto Distributore in C - Pagina 2

Pagine: [ 1 2 3 4 5 6 7 8 9 ] Precedente | Prossimo
Avatar
Joker22 (Normal User)
Rookie


Messaggi: 37
Iscritto: 03/02/2016

Segnala al moderatore
Postato alle 22:05
Lunedì, 08/02/2016
Testo quotato

Postato originariamente da nessuno:

Testo quotato

Postato originariamente da Joker22:

perché non me la mandi ?  



Mai chiedere la pappa pronta...



Caro , se leggi il messaggio chiedo semplicemente uno scambio di idee ...
Ammetto che io c'ho capito poco , altrimenti non stavo qui :asd:

Quindi se potete aiutarmi , mi fate un piacere ... Se mi fate capire che devo fare , sarebbe l'ideale .. :k:

PM
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6402
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 23:20
Lunedì, 08/02/2016
Caro ... io leggo

"perché non me la mandi"

e mi pare chiaro.

Comunque ti avevano chiesto

" almeno dirci che cosa utilizzi se vuoi aiuto."

ma non hai postato nulla.


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM
Avatar
Template (Member)
Pro


Messaggi: 177
Iscritto: 09/12/2015

Segnala al moderatore
Postato alle 23:25
Lunedì, 08/02/2016
Testo quotato

Postato originariamente da nessuno:

" almeno dirci che cosa utilizzi se vuoi aiuto."

ma non hai postato nulla.




Aggiungo: e se non posti nulla, Joker22, non possiamo assolutamente aiutarti, perchè se non sappiamo come hai effettivamente impostato le strutture dati figurati se possiamo immaginare un algoritmo per gestirle!

PM
Avatar
Joker22 (Normal User)
Rookie


Messaggi: 37
Iscritto: 03/02/2016

Segnala al moderatore
Postato alle 23:26
Lunedì, 08/02/2016
Testo quotato

Postato originariamente da nessuno:

Caro ... io leggo

"perché non me la mandi"

e mi pare chiaro.

Comunque ti avevano chiesto

" almeno dirci che cosa utilizzi se vuoi aiuto."

ma non hai postato nulla.



Forse hai letto solo quella frase ...

"Il fatto è che non ho capito quello che hai detto ...

Se tu hai un idea di come farlo , perché non me la mandi ? Giusto per capire come devo procedere ...
se ti può servire , ti invio quello che ho fatto io fin ora :k:"

Non ho ricevuto risposta , e non ho postato nulla .

Comunque a me non interessa far polemica ...
E' un dato di fatto che non sappia come procedere altrimenti , ripeto , non stavo qua ... non mi preparerei ad una notte insonne per finire sto maledetto progetto .. Dunque applicarsi su quella frase , non mi sembra utile ..


PM
Avatar
Joker22 (Normal User)
Rookie


Messaggi: 37
Iscritto: 03/02/2016

Segnala al moderatore
Postato alle 23:28
Lunedì, 08/02/2016
Codice sorgente - presumibilmente C++

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #include <time.h>
  5.  
  6. // Struct Bibite
  7. struct bibite {
  8.     char nome[100];
  9.     int codice;
  10.     float prezzo;
  11.     int disponibilita;
  12. };
  13.  
  14. int main()
  15. {
  16.     // Distributore.
  17.     typedef struct bibite Bibite;
  18.     Bibite array_bibite[10] = {{"Sprite", 0, 0.50, 10},
  19.                               {"Acqua", 1, 0.30, 10},
  20.                               {"RedBull", 2, 1.00, 10},
  21.                               {"The-Pesca", 3, 0.50, 10},
  22.                               {"Fanta", 4, 0.40, 10},
  23.                               {"PowerRade", 5, 1.00, 10},
  24.                               {"Energy", 6, 0.50, 10},
  25.                               {"The-Limone", 7, 0.50, 10},
  26.                               {"Pepsi", 8, 0.50, 10},
  27.                               {"Gatorade", 9, 1.00, 10}};
  28.  
  29.    
  30.     printf("Sono presenti le seguenti bibite:\n");
  31.  
  32.     // Dichiaro variabili.
  33.     float monete_inserite, resto;
  34.     int i, bibita_scelta;
  35.     int j = 0;
  36.  
  37.     for (i = 0; i < 10; i++) {
  38.         printf("%d - %s\n", array_bibite[i].codice, array_bibite[i].nome);
  39.     }
  40.     printf("\n");
  41.     printf("(10)Termina la macchina.\n");
  42.     printf("(11)Resoconto.");
  43.  
  44.      while (1) {
  45.         printf("\n");
  46.         printf("Scegli una bibita (INSERISCI IL CODICE CORRISPONDENTE):\n");
  47.         scanf("%d", &bibita_scelta);
  48.  
  49.         if (bibita_scelta == 10) {
  50.             printf("Operazioni eseguite: %d", j);
  51.             break;
  52.         }
  53.  
  54.         if (bibita_scelta == 11) {
  55.             int giorno_1, codice_1;
  56.             printf("Il giorno richiesto:\n");
  57.             scanf("%d", &giorno_1);
  58.             printf("Il prodotto richiesto:\n");
  59.             scanf("%d", &codice_1);
  60.             break;
  61.         }
  62.  
  63.         if (bibita_scelta != 10 && bibita_scelta != 11) {
  64.             printf("Hai scelto di prelevare %s", array_bibite[bibita_scelta].nome);
  65.             printf("\n");
  66.             printf("Inserisci delle monete (0.10, 0.20, 0.50, 1.00):\n");
  67.             scanf("%f", &monete_inserite);
  68.             printf("\n");
  69.         }
  70.        
  71.  
  72.         // Controllo se è possibile ricevere la bibita.
  73.         if (monete_inserite == 0.10f || monete_inserite == 0.20f || monete_inserite == 0.50 || monete_inserite == 1.00)
  74.                 {
  75.             if (monete_inserite < array_bibite[bibita_scelta].prezzo)
  76.                         {
  77.                 printf("NON HAI ABBASTANZA CREDITO PER AVERE LA BIBITA SCELTA.\n");
  78.             }
  79.                         if (monete_inserite == array_bibite[bibita_scelta]. prezzo)
  80.                         {
  81.                 printf("STAI PER AVERE LA BIBITA SCELTA.\nGRAZIE.\n");
  82.                 printf("(Nessun resto da dare).");
  83.             }
  84.                         if (monete_inserite > array_bibite[bibita_scelta].prezzo)
  85.                         {
  86.                 printf("STAI PER RICEVERE LA BIBITA SCELTA.\nGRAZIE.\n");
  87.                 resto = monete_inserite - array_bibite[bibita_scelta].prezzo;
  88.                 printf("(Resto da ricevere: %f).", resto);
  89.             }
  90.         }
  91.                 else  
  92.                 {
  93.                         printf("CI DISPIACE, MA LA MACCHINA ACCETTA SOLO MONETE DA 0.10, 0.20, 0.50, 1.00.");
  94.         }
  95.                
  96.     }    
  97.          
  98.  
  99.     return 0;
  100. }



Questo è quello che sono riuscito a fare

PM
Avatar
Template (Member)
Pro


Messaggi: 177
Iscritto: 09/12/2015

Segnala al moderatore
Postato alle 23:34
Lunedì, 08/02/2016
Il codice che hai proposto ha già in sè dei dettagli non adeguati... te ne segnalo uno: qui

Codice sorgente - presumibilmente C/C++

  1. if (bibita_scelta != 10 && bibita_scelta != 11) {
  2.             printf("Hai scelto di prelevare %s", array_bibite[bibita_scelta].nome);
  3.             printf("\n");
  4.             printf("Inserisci delle monete (0.10, 0.20, 0.50, 1.00):\n");
  5.             scanf("%f", &monete_inserite);
  6.             printf("\n");
  7.         }




Il tuo programma mi permetterebbe di far assumere a bibita_scelta qualsiasi valore >11, perchè non hai messo alcun controllo in tal senso.


Detto questo, nel tuo programma non c'è traccia di una struttura per registrare le transazioni, che è una cosa essenziale per lo sviluppo del secondo punto: come intendi gestire questo aspetto? O forse è proprio la struttura dati, che non riesci a sviluppare?

Ultima modifica effettuata da Template il 08/02/2016 alle 23:40
PM
Avatar
Joker22 (Normal User)
Rookie


Messaggi: 37
Iscritto: 03/02/2016

Segnala al moderatore
Postato alle 23:40
Lunedì, 08/02/2016
Ho messo quello che ho fatto ...

Posso dirti quello che penso debba fare , ma non so fare ...

Dovrei creare una struttura Dati typedef che memorizzi le bibite scelte , poi tramite un algoritmo ricorsivo , calcolare il numero di bibite prelevato ...
ma non so proprio come mettere mano ...

Da qui la frase "se avete qualche idea , proponete" :asd:

PM
Avatar
Template (Member)
Pro


Messaggi: 177
Iscritto: 09/12/2015

Segnala al moderatore
Postato alle 23:52
Lunedì, 08/02/2016
Testo quotato

Postato originariamente da Joker22:

Ho messo quello che ho fatto ...

Posso dirti quello che penso debba fare , ma non so fare ...

Dovrei creare una struttura Dati typedef che memorizzi le bibite scelte , poi tramite un algoritmo ricorsivo , calcolare il numero di bibite prelevato ...
ma non so proprio come mettere mano ...

Da qui la frase "se avete qualche idea , proponete" :asd:




Ora ho capito... è proprio la struttura dati, il tuo problema...

Le soluzioni sono tante, e dipendono dalle tue capacità... te ne propongo alcune abbastanza semplici:

- Una soluzione banale e poco efficiente è la definizione di un array del tipo

Codice sorgente - presumibilmente C/C++

  1. struct transazione
  2. {
  3.     bibita_acqustata
  4.     data_di_acquisto  
  5. };



Per registrare la singola transazione. Questa è, di fatto, l'applicazione più "immediata" (ma assolutamente non la migliore) della tua idea di definire una struct per identificare le transazioni.


- Una soluzione un po' più raffinata, sempre posta la definizione del tipo aggregato di cui sopra, può impiegare una tabella di simboli gestita tramite hashing e linear chaining che collochi le singole transazioni usando la data come chiave.


- Un'altra soluzione, realizzabile aggiungendo alla struct bibita una "lista delle transazioni", prevede di inserire nella lista legata ad ogni bibita tutte le transazioni che la riguardano.


Logicamente, ognuna di queste soluzioni è migliorabile (per esempio, nella tabella di simboli la gestione delle collisioni potrebbe essere implementata usando delle "micro-tabelle", con le bibite come chiavi, al posto delle liste)... ma le eventuali migliorie (così come la scelta della strada da percorrere) dipendono dalle tue capacità (che, invero, dal programma che hai scritto non è che siano ben chiare).

Ultima modifica effettuata da Template il 08/02/2016 alle 23:54
PM
Pagine: [ 1 2 3 4 5 6 7 8 9 ] Precedente | Prossimo