Salve a tutti,
sono un nuovo utente appena registrato
Vi volevo porre un quesito..Sto provando a scrivere un programma in C (è un esercizio del mio parziale all'uni) e ho un problema nel registrare in sequenza i dati immessi dall'utente..Mi spiego..
Il codice è questo:
codice:
#include <stdio.h>
int Prodotti;
int optionals(int n, char op[][7]);
int optional_s(int n, int p, char op[][7]);
int main(void)
{
printf("Inserisci il numero di prodotti\n");
scanf("%d",&Prodotti);
double alt_larg[Prodotti][2];
int colore[Prodotti];
char optional[Prodotti][7];
int crit_a=0, crit_b=0, crit_c=0, t1_crit_c, t2_crit_c, i = 0, j, bassi=0, aster=0;
for(; i < Prodotti; i++)
{
printf("Inserisci le caratteristiche dell oggetto\n"); /*QUI!!*/
scanf("%lf %lf %d %s", &alt_larg[i][0], &alt_larg[i][1], &colore[i], &optional[i]);
printf("\n");
}
i=0;
for (; i < Prodotti; i++)
{
t1_crit_c=0;
t2_crit_c=0;
j=0;
if ((optionals(i,optional) <= 2) || ((colore[i] == 2) && ((optionals(i,optional) >= 2) || (optional_s(4,i,optional)))))
break;
for(; j < Prodotti; j++)
{
if ((alt_larg[j][0] < alt_larg[i][0]) && (optionals(j,optional) >= 2))
bassi++;
if (alt_larg[j][0] < alt_larg[i][0])
t1_crit_c++;
if (alt_larg[j][1] > alt_larg[i][1])
t2_crit_c++;
}
if (bassi >= 3) {aster=1; continue;}
if ((t1_crit_c <= 2) && (t2_crit_c >= 3))
crit_c++;
if ((optionals(i,optional) >= 3) && ((colore[i] == 3) || (colore[i] == 5)))
crit_a++;
if (((alt_larg[i][0] < alt_larg[i][1]) && (optional_s(2,i,optional))) || ((optionals(i,optional) <= 2) && (colore[i] == 2)))
crit_b++;
}
if ((crit_a <= 4) || (crit_b <= 4) || (crit_c <= 4))
printf("OK");
else
printf("KO");
if (aster==1)
printf("***");
}
int optionals(int n, char op[][7])
{
int i = 0, j = 0;
for(; i < 7; i++)
{
if(op[n][i] == 'y')
j++;
}
return j;
}
int optional_s(int n, int p, char op[][7])
{
int k, j;
k = n == 1 ? 1 : (2*n)-1;
j = op[p][k] == 'y' ? 1 : 0;
return j;
}
nel punto dove ho segnato con il commento in rosso c'è un loop che dovrebbe registrare le caratteristiche di ogni oggetto inserito, uno per volta..ma quando inserisco i dati del primo oggetto il loop non si ferma ad ogni singolo oggetto ma scorre e termina..perchè? ho fatto qualche errore?
Ringrazio in anticipo ed attendo risposte esaustive a presto!