ciao ragazzi
non mi va sto programma alla riga evidenziata
#include <iostream>
#include <stdlib.h>
int main() {
struct TAB{
char NMA[15];
char CDN[15];
float DCD;
float DB[20];
char NMB[20];
};
int I,J,NCD,NB;
TAB CD[10]; // vettore di 10 tabelle ( ossia 10 cd )
// inserimento del numero cd e controlli condizionali
do {
printf(" Inserisci il numero dei cd: ");
scanf("%u",&NCD);
if (NCD>10) {
printf (" Non puoi elaborare piu' di 10 cd. Reinserisci num ");
}
if (NCD<=0) {
printf ("Il numero dei cd non può essere 0 e minore. Reinserisci num ");
}
} while ((NCD>10) || (NCD<=0));
// caricamento dati relativi ai cd nel vettore
I=1;
do {
printf(" Inserisci il nome dell'artista relativo al cd %u \n",I);
scanf("%s",CD[I].NMA);
printf(" Inserisci il titolo relativo al cd %u \n",I);
scanf("%s",CD[I].CDN);
do {
printf(" Inserisci il numero di brani relativi al cd %u \n",I);
scanf("%u",&NB);
if (NB>20) {
printf(" Non puoi elaborare piu' di 20 brani. Reinserisci num ");
}
if (NB<=0) {
printf ("Il numero dei brani non può essere 0 e minore. Reinserisci num ");
}
} while ((NB>20) || (NB<=0));
J=1;
do {
printf(" Inserisci il titolo del brano %u",J); printf(" relativo al cd %u \n",I);
scanf("%s",CD[I].NMB[J]);
printf(" Inserisci la durata del brano %u",J); printf(" relativo al cd %u \n",I);
scanf("%f",&CD[I].DB[J]);
CD[I].DCD=CD[I].DCD+CD[I].DB[J];
J=J+1;
} while (J<=NB);
I=I+1;
} while (I<=NCD);
I=1;
do {
printf("\n");
printf(" Informazioni relative al cd &u \n",I);
printf(" Nome artista : %s",CD[I].NMA);
printf(" Titolo del cd : %s",CD[I].CDN);
printf(" Brano Durata");
do {
printf("%s",CD[I].NMB[J]);printf(" ");printf("%f",CD[I].DB[J]);
printf("\n");
J=J+1;
} while (J<=NB);
printf(" Durata del cd : %f",CD[I].DCD);
I=I+1;
} while (I<=NCD);
system("PAUSE");
return 0;
}
ho dichiarato dentro la struttura due array uno di reali e l'altro di tipo char. la riga selezionata legge il nome del brano [j] del cd[i] .. ho sbagliato qualcosa tra il codice? sono alle prime armi con il C non so che fare
potreste darmi qualche mano?