Perchè non funziona.
Non salva i valori che deve.
Credevo bastasse un'occhiata veloce di un esperto per capire dove sbaglio.
codice://Si scriva un programma che acquisisca 3 stringhe, ciascuna contenente il //nome di un prodotto e il relativo prezzo separati da spazio. Una volta //memorizzate queste informazioni in opportune variabili, il programma //riceve un’ulteriore stringa contente un nome di prodotto e un valore intero //corrispondente ad una quantità. //Il programma deve: //a. Stabilire se il prodotto inserito per ultimo corrisponde ad uno dei //prodotti memorizzati in precedenza //b. In caso negativo, richiedere un altro inserimento di nome prodotto e //quantità //c. In caso positivo, calcolare e visualizzare il costo totale moltiplicando //quantità e prezzo del prodotto in questione // realizzo questo programma senza usare le strutture #include <stdio.h> #include <stdlib.h> #define N 70 //dimensione riga nome_prodotto + prezzo void acquisisci(char * vettore[][N],int dim); int main() { char testo[3][N]; //3: 3 colonne, cioe' nome prezzo quantita' char tabella[3][3][N]; int i,j; printf("Inserisci: nome prodotto e prezzo, separati da spazio\n"); for(i=0;i<3;i++){ //grezza acquisizione......... fgets(&testo[i][0], N, stdin); //purifico l'input.....mi aspetto 2 parole. sscanf(&testo[i][0], "%s %s",&tabella[i][0][0], &tabella[i][0][1] ); }//fine ciclo purificazione //MOSTRO: printf("\n\n"); for( i= 0, j=0; i<3; i++,j++) printf("%s .....%s\n", tabella[i][0], tabella[i][0]); //acquisisci(testo, N); return 0; } void acquisisci(char * vettore[][N],int dim){ int i; for (i=0; i<3; i++){ gets(&vettore[i][0]); printf("ok"); } }

Rispondi quotando