Newsgroup: it.comp.lang.c
Titolo: ciclo for

Ciao
Ho scritto queste semplici righe di codice per un ciclo for
Funziona tutto tranne che lo sconto viene sempre visualizzato 0,00000
qualcuno mi aiuta?
#include <stdio.h>
#include <stdlib.h>
main ()
{
     typedef struct{
            char regista[20];
            char titolo[20];
            char produttore[20];
            int anno;
            float prezzo;
            float sconto;
            } film;
     film vett[2];
     int i;
     float sconto;
     for(i=0; i<2; i++) {
              printf("film %d:\n", i+1);
              printf("inserisci regista: ");
              scanf("%s",vett[i].regista);
              printf("inserisci titolo: ");
              scanf("%s",vett[i].titolo);
              printf("inserisci produttore: ");
              scanf("%s",vett[i].produttore);
              printf("inserisci anno: ");
              scanf("%d", &(vett[i].anno));
              printf("inserisci prezzo: ");
              scanf("%f", &(vett[i].prezzo));
              }
     for(i=0; i<2; i++)
      {
               sconto=0;
               sconto=(vett[i].prezzo*20)/100;
          printf("il film %s ha un prezzo di %f con uno sconto di 
%f\n",vett[i].titolo,vett[i].prezzo,vett[i].sconto);
                                          }
                                              system("pause");
Grazie
-- 
Ciao a tutti 

 writes:

Riindentandolo un po' più decentemente
// -*- compile-command: "gcc -o test test.c" -*-
--8<---------------cut here---------------start------------->8---
#include <stdio.h>
#include <stdlib.h>
typedef struct{
    char regista[20];
    char titolo[20];
    char produttore[20];
    int anno;
    float prezzo;
    float sconto;
} film;
int main () {
    film vett[2];
    int i;
    float sconto;
    for(i=0; i<2; i++) {
        printf("film %d:\n", i+1);
        printf("inserisci regista: ");
        scanf("%s",vett[i].regista);
        printf("inserisci titolo: ");
        scanf("%s",vett[i].titolo);
        printf("inserisci produttore: ");
        scanf("%s",vett[i].produttore);
        printf("inserisci anno: ");
        scanf("%d", &(vett[i].anno));
        printf("inserisci prezzo: ");
        scanf("%f", &(vett[i].prezzo));
    }
    for(i=0; i<2; i++) {
        sconto=0;
        sconto=(vett[i].prezzo*20)/100;
        printf("il film %s ha un prezzo di %f con uno sconto di %f\n",vett[i].titolo,vett[i].prezzo,vett[i].sconto);
    }
 
}
--8<---------------cut here---------------end--------------->8---
a me funziona tranquillamente
--8<---------------cut here---------------start------------->8---
mbpro:~ andrea$ ./test
film 1:
inserisci regista: pippo
inserisci titolo: sdf
inserisci produttore: sfdas
inserisci anno: 1201
inserisci prezzo: 200
film 2:
inserisci regista: sfa
inserisci titolo: sfa
inserisci produttore: adsfs
inserisci anno: 2999
inserisci prezzo: 200
il film sdf ha un prezzo di 200.000000 con uno sconto di 0.000000
il film sfa ha un prezzo di 200.000000 con uno sconto di 0.000000
--8<---------------cut here---------------end--------------->8---
Sicura di non avere qualche problema con il terminale?
Ti viene richiesto l'input?

 ha scritto nel messaggio 
news:m1d3vae...@gmail.com...

Scusami per la formattazione ho copiato e incollato le righe del programma,
Anche a me viene chiesto l'input e il risultato è uguale al tuo solo che lo 
sconto del film sdf dovrebbe essere a
sconto=(vett[i].prezzo*20)/100
e il risultato =40.000 e non 0.0000
lo stesso il film sfa avendo lo stesso prezzo
Ciao 

 Funziona tutto tranne che lo sconto viene sempre visualizzato 0,00000
No, non funziona.
Negli elementi del vettore vett (che fantasia hai) non inizializzi il 
campo sconto; per essere chiari manca vett[i].sconto="qualcosa"
Quindi cosa pretendi?
La variabile "sconto" non serve a niente e, tra l'altro non ha niente a che 
vedere con il campo "sconto" della struct "film". Forse volevi scrivere:
 sconto=20.0
 ...
 vett[i].sconto = ( vett[i].prezzo * sconto ) / 100.00;


naturalmente non puo' finire così il programma:
sembra che manchi / return 0; } /
Ciao!
-- 
Vincenzo Mercuri