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");
}
}