Program C struct and array!!!

1 risposta [Ultimo messaggio]
Ritratto di triko
triko
(Newbie)
Offline
Newbie
Iscritto: 25/09/2013
Messaggi: 4

Ciao a tutti spero di esser nella sezione giusta!
Volevo chiedervi un aiuto su un problema che mi perseguita (puntatori).
Si tratta appunto di usare struct, array e funzioni, vi posto il programma!

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define nBks 20
 
	typedef struct list_book
{   
	char name [50];
	char title [50];
	int year;
	int price;
	int lent; /*Prestito*/
 
}number;
 
void fillStruct(struct list_book *book, int n)
{
    printf("Inserire nome autore: \n");
	scanf("%s", book[n].name);
	printf("Inserire titolo (int): \n");
	scanf("%s", book[n].title);
	printf("Inserire anno: \n");
	scanf("%i", &book[n].year);
	printf("Inserire prezzo: \n");
	scanf("%i", &book[n].price);
	printf("Inserire prestito: \n");
	scanf("%i", &book[n].lent);
}
 
void print(struct list_book *book)
{
	printf("%s, %s, %i, %i, %i", book->name, book->title, book->year, book->price, book->lent);
}
 
int main()
{
	int i = 0, n = 0;
	printf("Insert number of struct into array (MAX 20): ");
	scanf ("%i", &n);
	for (i; i < n; i++) /* Faccio un ciclio per incrementare il vettore book!! */
	{
		fillStruct(&book, n); /* Qui mi sorge il problema e pesno sia dovuto proprio ai puntatori */
		print(&book, n);
	}
	return 0;
}

Spero di aver postato nella sezione giusta Big Grin
Grazie a tutti!!!!

Ritratto di wal7er
wal7er
(Guru)
Offline
Guru
Iscritto: 21/09/2007
Messaggi: 572

alle prime armi col c...
a occhi e croce non hai definito la variabile book nel main.
Come suggerimento chiama con nomi diversi il parametro attuale e quello formale di una funzione in modo che non fai confusione tra i due.

HP Pavilion dv5-1110el powered by OpenSUSE 13.2 64bit

http://linuxcounter.net/cert/432576.png