Torna indietro   Hardware Upgrade Forum > Software > Programmazione

iPhone 17 Pro: più di uno smartphone. È uno studio di produzione in formato tascabile
iPhone 17 Pro: più di uno smartphone. È uno studio di produzione in formato tascabile
C'è tanta sostanza nel nuovo smartphone della Mela dedicato ai creator digitali. Nuovo telaio in alluminio, sistema di raffreddamento vapor chamber e tre fotocamere da 48 megapixel: non è un semplice smartphone, ma uno studio di produzione digitale on-the-go
Intel Panther Lake: i processori per i notebook del 2026
Intel Panther Lake: i processori per i notebook del 2026
Panther Lake è il nome in codice della prossima generazione di processori Intel Core Ultra, che vedremo al debutto da inizio 2026 nei notebook e nei sistemi desktop più compatti. Nuovi core, nuove GPU e soprattutto una struttura a tile che vede per la prima volta l'utilizzo della tecnologia produttiva Intel 18A: tanta potenza in più, ma senza perdere in efficienza
Intel Xeon 6+: è tempo di Clearwater Forest
Intel Xeon 6+: è tempo di Clearwater Forest
Intel ha annunciato la prossima generazione di processori Xeon dotati di E-Core, quelli per la massima efficienza energetica e densità di elaborazione. Grazie al processo produttivo Intel 18A, i core passano a un massimo di 288 per ogni socket, con aumento della potenza di calcolo e dell'efficienza complessiva.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 07-11-2013, 18:13   #1
davide.di.paolo
Junior Member
 
L'Avatar di davide.di.paolo
 
Iscritto dal: May 2011
Messaggi: 21
[C] Problema programma in c

Ho un problema con questo programma, praticamente quando vado ad inserire i nomi della materia e i voti, il programma non va avanti e mi dice solo: premere un tasto per continuare...
Questo programma deve fare la media dei voti, vedere esito (promosso,rimandato,bocciato) e assegnare i punti di credito agli alunni delle classi 3,4 e 5.

Codice:
#include<stdio.h>
#include<stdlib.h>
#define n 1
#define m 5

int j=0;
int i=0;
int a=0;
int c=0;

struct materie_voti{ char materie[10];
                     int voto;
                     }mat_voti[m];
                     
struct studente{ char nome[20];
                 char cognome[20];
                 int classe;
                 float media;
                 }alunno[n];
                 
void carica()
   {for(i=0;i<n;i++)
      {printf("inserisci nome: ");
      scanf("%s",&alunno[i].nome);
      printf("inserisci cognome: ");
      scanf("%s",&alunno[i].cognome);
      printf("inserisci classe: ");
      scanf("%d",&alunno[i].classe);

       for(j=0;j<m;j++)
        {printf("inserisci nome materia: ");
        scanf("%s",&mat_voti[j].materie);
        printf("inserisci voto: ");
        scanf("%d",&mat_voti[j].voto);
        }
       }
       
   for(i=0;i<n;i++)
   { a=a+mat_voti[i].voto;
     c++;
   }
   alunno[i].media=a/c;

   }
   
 void pri_sec()
 {if((alunno[i].classe==1)||(alunno[i].classe==2))
 {for(j=0;j<m;j++)
 {if(mat_voti[j].voto<=3)
     printf("Bocciato");
  else{
  if((mat_voti[j].voto==4)||(mat_voti[j].voto==5))
  printf("Rimandato");
  else{
  printf("Promosso");
  printf("La media dei voti e': %f",alunno[i].media);
  }
  }
  }
  }
  }
  
 void ter_qua()
 {if((alunno[i].classe==3)||(alunno[i].classe==4))
 {for(j=0;j<m;j++)
 {if(mat_voti[j].voto<=3)
     printf("Bocciato");
  else{
  if((mat_voti[j].voto==4)||(mat_voti[j].voto==5))
  printf("Rimandato");
  else{
       if(alunno[i].media==6)
       printf("Promosso con 3 punti di credito");
       else{
           if((alunno[i].media>6)&&(alunno[i].media<=6.4))
           printf("Promosso con 4 punti di credito");
            else{
             if((alunno[i].media>=6.5)&&(alunno[i].media<=7))
             printf("Promosso con 5 punti di credito");
              else{
               if((alunno[i].media>7)&&(alunno[i].media<=7.4))
               printf("Promosso con 5 punti di credito");
                else{
                 if((alunno[i].media>=7.5)&&(alunno[i].media<=8))
                  printf("Promosso con 6 punti di credito");
                   else{
                    if((alunno[i].media>8)&&(alunno[i].media<=8.4))
                     printf("Promosso con 6 punti di credito");
                      else{
                       if((alunno[i].media>=8.5)&&(alunno[i].media<=9))
                        printf("Promosso con 7 punti di credito");
                         else{
                          if((alunno[i].media>9)&&(alunno[i].media<=9.4))
                           printf("Promosso con 7 punti di credito");
                            else{
                             if((alunno[i].media>=9.5)&&(alunno[i].media<=10))
                              printf("Promosso con 8 punti di credito");
                              }}}}}}}}}}}}}
                              
                              
                              
 void quinto()
 {if(alunno[i].classe==5)
 {for(j=0;j<m;j++)
 {if(mat_voti[j].voto<=5)
     printf("Bocciato");
  else{
       if(alunno[i].media==6)
       printf("Promosso con 4 punti di credito");
       else{
           if((alunno[i].media>6)&&(alunno[i].media<=6.4))
           printf("Promosso con 5 punti di credito");
            else{
             if((alunno[i].media>=6.5)&&(alunno[i].media<=7))
             printf("Promosso con 6 punti di credito");
              else{
               if((alunno[i].media>7)&&(alunno[i].media<=7.4))
               printf("Promosso con 6 punti di credito");
                else{
                 if((alunno[i].media>=7.5)&&(alunno[i].media<=8))
                  printf("Promosso con 7 punti di credito");
                   else{
                    if((alunno[i].media>8)&&(alunno[i].media<=8.4))
                     printf("Promosso con 7 punti di credito");
                      else{
                       if((alunno[i].media>=8.5)&&(alunno[i].media<=9))
                        printf("Promosso con 8 punti di credito");
                         else{
                          if((alunno[i].media>9)&&(alunno[i].media<=9.4))
                           printf("Promosso con 8 punti di credito");
                            else{
                             if((alunno[i].media>=9.5)&&(alunno[i].media<=10))
                              printf("Promosso con 9 punti di credito");
                              }}}}}}}}}}}}

int main(){
    carica();
    pri_sec();
    ter_qua();
    quinto();
    system("pause");
}
__________________
Motherboard: ASUS M5A97 EVO R2.0
CPU: AMD FX-8320 @ 3.5GHz
RAM: 2x4 GB
GPU: MSI Radeon R9 280X (3 GB)
OS: Windows 10 Pro (64 Bit)
davide.di.paolo è offline   Rispondi citando il messaggio o parte di esso
Old 07-11-2013, 20:05   #2
lorenzo001
Senior Member
 
Iscritto dal: Jul 2008
Città: Roma
Messaggi: 542
Questo tipo di controlli

if((alunno[i].classe==1)||(alunno[i].classe==2))

nelle varie funzioni successive al caricamento, non hanno molto senso perché il valore di i non è corretto.
lorenzo001 è offline   Rispondi citando il messaggio o parte di esso
Old 07-11-2013, 20:17   #3
davide.di.paolo
Junior Member
 
L'Avatar di davide.di.paolo
 
Iscritto dal: May 2011
Messaggi: 21
e quindi come posso risolvere il problema?
__________________
Motherboard: ASUS M5A97 EVO R2.0
CPU: AMD FX-8320 @ 3.5GHz
RAM: 2x4 GB
GPU: MSI Radeon R9 280X (3 GB)
OS: Windows 10 Pro (64 Bit)
davide.di.paolo è offline   Rispondi citando il messaggio o parte di esso
Old 07-11-2013, 20:32   #4
lorenzo001
Senior Member
 
Iscritto dal: Jul 2008
Città: Roma
Messaggi: 542
Mi sembrava ovvio ...

Devi correggere il valore di i quando la usi nelle funzioni ...
lorenzo001 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


iPhone 17 Pro: più di uno smartphone. È uno studio di produzione in formato tascabile iPhone 17 Pro: più di uno smartphone. &Eg...
Intel Panther Lake: i processori per i notebook del 2026 Intel Panther Lake: i processori per i notebook ...
Intel Xeon 6+: è tempo di Clearwater Forest Intel Xeon 6+: è tempo di Clearwater Fore...
4K a 160Hz o Full HD a 320Hz? Titan Army P2712V, a un prezzo molto basso 4K a 160Hz o Full HD a 320Hz? Titan Army P2712V,...
Recensione Google Pixel Watch 4: basta sollevarlo e si ha Gemini sempre al polso Recensione Google Pixel Watch 4: basta sollevarl...
Elgato Embrace: una sedia ergonomica pro...
Brad Pitt torna in pista: F1 – Il Film a...
Hitachi Vantara annuncia la sua AI Facto...
Brembo passa all'alluminio riciclato al ...
HONOR pronta a sfidare gli iPad Pro con ...
OpenAI esce allo scoperto: confermati i ...
In arrivo altri due prodotti da Apple en...
Il tool per aggiornare da Windows 10 a W...
Rishi Sunak entra in Microsoft e Anthrop...
Porsche in poche ore chiude la formazion...
iPhone 17 disponibili su Amazon al prezz...
La Ferrari Elettrica non è la cau...
Ricarica da record: Zeekr supera i 1.300...
Un 'capezzolo' con feedback aptico al po...
Porsche Taycan Rush a Misano: prima al v...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 00:47.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v