Registro voti,nomi,medie...

di il
5 risposte

Registro voti,nomi,medie...

#include <stdio.h>
#include <string.h>
#define MAX 20

typedef struct {
char cognome[20];
char nome[20];
char email[20];
char numero [20];
char via[20];

int italiano;
int matematica;
int informatica;
} studente;




int main(){
int i,n,materia;
studente classe[20];
char materie[3][15]={"Italiano","Matematica","Informatica"};
float mediaVoti[3]={0.0};

printf("inserire numero studenti da registare:");
scanf("%d", &n);

for (i=0; i<n; i++){
printf("\nStudente:%d", i+1);
printf("\nCognome:");
scanf("%s", classe.cognome);
printf("Nome:");
scanf("%s", classe.nome);
printf("\nemail:");
scanf("%s", classe.email);
printf("numero:");
scanf("%s", classe.numero);
printf("via:");
scanf("%s", classe.via);
printf("Voto di Italiano:");
scanf("%d", &classe.italiano);
printf("Voto di Matematica:");
scanf("%d", &classe.matematica);
printf("Voto di Informatica:");
scanf("%d", &classe.informatica);
}




}
buongiorno come posso fare per riuscire ad inserire 2 voti per ogni materia e calcolarne poi la media di ciascuna
e poi calcolare la media complessiva di tutte 3 le materie e se è maggiore al 6 si è promossi altrimenti si è bocciati, per ogni studente che viene inserite. Grazie per chi riesce ad aiutarmi

5 Risposte

  • Re: Registro voti,nomi,medie...

    Devi postare il codice tra tag CODE altrimenti non si capisce nulla.

    Aggiungi nella struttura i campi per i voti.
  • Re: Registro voti,nomi,medie...

    In che senso postare il codice tra tag
  • Re: Registro voti,nomi,medie...

    Usa il pulsante </>
  • Re: Registro voti,nomi,medie...

    #include <stdio.h>
    #include <stdlib.h>

    void inserisci(double voti[], int dim) {
    for (int i=0;i<dim;i++) {
    printf("inserire voto alunno %d: \n",i);
    scanf("%lf",&voti);
    }
    }

    void stampaVoti(double voti[], int dim) {
    for (int i=0;i<dim;i++) {
    printf("Voto alunno %d: %lf \n",i,voti);

    }
    }

    void inserisciStringhe(char lista[][10], int dim) {
    for (int i=0;i<dim;i++) {
    printf("inserire nome alunno %d: \n",i);
    scanf("%s",&lista);
    // printf("%s",lista);
    }
    }

    void stampaStringhe(char lista[][10], int dim) {
    for (int i=0;i<dim;i++) {
    printf("nome alunno %d: %s\n",i,lista);

    }
    }
    void inseStringhe(char lista[][10], int dim) {
    for (int i=0;i<dim;i++) {
    printf("inserire cognome alunno %d: \n",i);
    scanf("%s",&lista);
    // printf("%s",lista);
    }
    }
    void stampStringhe(char lista[][10], int dim) {
    for (int i=0;i<dim;i++) {
    printf("nome cognome %d: %s\n",i,lista);

    }
    }


    int main (){

    int Nalunni = 5;
    int scelta=1;
    double italiano [Nalunni];
    double matematica [Nalunni];
    double informatica [Nalunni];
    char nomi[Nalunni][10];
    while (scelta != 0) {
    printf("Registro elettronico, scegli operazione: \n");
    printf("7_inserisci i nomi , 8_leggi nomi \n");
    printf("0_esci\n");
    scanf("%d",&scelta);
    switch (scelta) {
    case 7: {
    printf("inserire nomi\n");
    inserisciStringhe(nomi, Nalunni);
    break;
    }
    case 8: {
    printf("Stampa nomi\n");
    stampaStringhe(nomi, Nalunni);
    break;
    }
    }
    printf("0_esci\n");
    printf("1_inserire voti Italiano, 2_inserire voti matematica, 3_informatica \n");
    printf("4_leggi voti Italiano, 5_leggi voti matematica, 6_leggi voti informatica \n");

    printf("0_esci\n");
    scanf("%d",&scelta);
    switch (scelta) {
    case 1: {
    printf("inserimento voti Italiano \n");
    inserisci(italiano,Nalunni);
    break;
    }
    case 2: {
    printf("inserimento voti Matematica \n");
    inserisci(matematica,Nalunni);
    break;
    }
    case 3: {
    printf("inserimento voti informatica \n");
    inserisci(informatica,Nalunni);
    break;
    }
    case 4: {
    printf("Leggere voti Italiano \n");
    stampaVoti(italiano,Nalunni);
    break;
    }
    case 5:{
    printf("leggere voti Matematica \n");
    stampaVoti(matematica, Nalunni);
    break;
    }
    case 6:{
    printf("leggere voti informatica \n");
    stampaVoti(informatica, Nalunni);
    break;
    }


    }
    }
    }
    ho provato a usare funzioni diverse ma comunque non riesco
  • Re: Registro voti,nomi,medie...

    Per inserire 2 voti per ogni materia, basta usare un array per ogni materia nella struct.
    
    typedef struct {
    	char cognome[20];
    	char nome[20];
    	char email[20];
    	char numero [20];
    	char via[20];
    
    	int italiano[2];
    	int matematica[2];
    	int informatica[2];
    } studente;
    
    
Devi accedere o registrarti per scrivere nel forum
5 risposte