Buongiorno, mi è stato dato come compito per il 7 maggio di creare questi vettori bidimensionali paralleli, che contengano i nomi dei film, dei registi e i relativi incassi. Il programma non riporta nessun errore fin quando devo effettivamente stampare la stringa con i nomi dei film, e capita che stampi anche il primo carattere dell'elemento prima. Ringrazio anticipatamente per le risposte.
ah si, dimenticavo di dire che il mio professore ha la passione per il ciaccolare durante la lezione, per cui spiega solitamente solo 20 minuti, quindi sarò un probabile frequente visitatore del forum
C:
#include <stdio.h>
#include <stdlib.h>
#define maxL 50
int lungArr();
int nFilm();
int lungInt();
void carica(char *, char*, float[],int);
void stampa(char *, char *, int);
int main(void) {
int n = nFilm();
char **titoli = malloc(n * sizeof(char *));
for (int i = 0; i < maxL;i++){
titoli[i] = malloc(maxL * sizeof(char));
}
char **autori = malloc(n * sizeof(char *));
for (int i = 0;i < maxL;i++){
autori[i] = malloc(maxL * sizeof(char));
}
float incassi[n];
carica(*titoli, *autori, &incassi[n], n);
stampa(*titoli, *autori, n);
return 0;
}
int nFilm(){
int a;
printf("inserisci il numero dei film, che sarà uguale a quello degli incassi e dell'autore: ");
scanf("%d", &a);
return a;
}
void carica(char *a, char *b, float *c,int d){
for (int i = 0;i < d; i++){
printf("inserisci il nome del film: ");
scanf(" %[^\n]s", &a[i]);
printf("inserisci il regista del film: ");
scanf(" %[^\n]s", &b[i]);
printf("inserisci l'incasso del film: ");
scanf(" %f", &c[i]);
}
}
void stampa(char *a, char *b, int c){
int n;
char *nome = malloc(maxL * sizeof(char));
printf("inserisci il nome del regista cui film verranno stampati: ");
scanf(" %[^\n]s", nome);
for (int i = 0; i < c; i++){
if (nome == &b[i]){
n = i;
}
}
for (int i = 0; i < c; i++){
if (i >= n){
printf("%s\n", &a[i]);
}
}
}
Messaggio unito automaticamente:
ah si, dimenticavo di dire che il mio professore ha la passione per il ciaccolare durante la lezione, per cui spiega solitamente solo 20 minuti, quindi sarò un probabile frequente visitatore del forum
