Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 23
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    142

    [C++]aiuto su un pogramma!!!

    Salve ragazzi io ho questo sottoprogramma:
    codice:
    void viusalizzanvins(Tregistro alunni, int N){
         int I,vins;
         bool trovato = false;
         cout<<"Inserisci il massimo dei voti insufficenti nel 2Q: ";
         cin>>vins;
         for(I=0;I<N;I++){
           if(((alunni[I].scritto2quad[I] <6)||(alunni[I].orale2quad[I] <6)||(alunni[I].pratico2quad[I] <6)) == vins ){
             trovato = true;
             cout<<endl;
             cout<<I+1<<char(248)<<" alunno "<<endl;
             cout<<endl;                                                                               
             visualizzaalunno(alunni[I]);
           }
         }
         if(!trovato){
           cout<<"Nessun alunno con quel quantitativo di insufficenze nel 2Q "<<endl;
         }
    }
    se voi andate na a vedere nell if ce una condizione, ora questo sottoprogramma deve visualizzare gli alunni che hanno piu di n assenze, ovviamente deve essere chiesto all utente di inserre il quantitativo di assenze.Il mio problema è che non riesco a capire cosa mettere nella condizione cosi da farlo funzionare....Non è che potreste aiutarmi a capirlo??
    grazie

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,468
    Prima di tutto, in questa scrittura

    alunni[I].scritto2quad[I]

    usi lo stesso indice I per individuare l'alunno e per individuare il voto ... cosa evidentemente sbagliata ...

    Infatti puo' esistere l'alunno 25 ma non credo che esista il voto 25 ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    142
    ho provato con un altro tipo di indice ma mi da tutti zero quando visualizzo gli alunni con quel sottoprogramma

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,468
    Non devi "provare" con un altro indice ...

    Devi ragionare.

    Quell'indice NON puo' essere I perche' I rappresenta il numero dell'alunno non quello del voto.

    Qual e' la struttura che hai utilizzato?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    142
    ecco:
    codice:
    typedef char Tstring20[21];
    typedef char Tstring25[26];
    typedef char Tstring15[16];
    typedef float tvettfloat[4];
    typedef char vuoto[1];
    
    struct Talunno{
        Tstring20 nome;
        Tstring25 cognome;
        Tstring15 classe;
        tvettfloat  scritto1quad;
        tvettfloat  orale1quad;
        tvettfloat  pratico1quad;
        tvettfloat  scritto2quad;
        tvettfloat  orale2quad;
        tvettfloat  pratico2quad;
        int         numass1;
        int         numass2;
    };
    
    typedef Talunno Tregistro[33];

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,468
    Quindi, se leggi con attenzione quello che tu stesso hai scritto, l'indice di

    scritto2quad

    puo' variare da 0 a 3 in quanto lo hai dichiarato di

    4 elementi ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    142
    quindi tu dici di fare un altro for all interno di quello formato da I e cosi usare un altro indice che varia da 0 a 3 per i voti giusto??

  8. #8
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,322

    Moderazione

    Originariamente inviato da Gybra
    [C++]aiuto su un pogramma!!!
    Usa titoli più significativi per le discussioni in futuro, come richiesto dal Regolamento.

    Questo l'ho corretto io a discrezione.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  9. #9
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,468
    Se hai inserito tutti e 4 i voti, puoi fare un ciclo for cosi' come dici per contare quanti sono i voti inferiori a 6. Una volta ottenuto il numero di voti insufficienti, lo confronti con il valore richiesto in input.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  10. #10
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    142
    quindi tu dici di farlo cosi:
    codice:
    void viusalizzanvins(Tregistro alunni, int N){
         int I,vins,e;
         bool trovato = false;
         cout<<"Inserisci il massimo dei voti insufficenti nel 2Q: ";
         cin>>vins;
         for(I=0;I<N;I++){
           for(e=0;e<4;e++){               
             if(((alunni[I].scritto2quad[e] <6)||(alunni[I].orale2quad[e] <6)||(alunni[I].pratico2quad[e] <6)) == vins ){
               trovato = true;
               cout<<endl;
               cout<<I+1<<char(248)<<" alunno "<<endl;
               cout<<endl;                                                                               
               visualizzaalunno(alunni[I]);
             }
           }
         }
         if(!trovato){
           cout<<"Nessun alunno con quel quantitativo di insufficenze nel 2Q "<<endl;
         }
    }

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.