Programma in c aiutooooooooooo?

di il
1 risposte

Programma in c aiutooooooooooo?

Ecco il programma : (inseriti in input i 12 mesi e le loro temperature medie devo fare la media telle temperatura medie (calcolare la media annuale) e, inserendo il nome di un mese mi deve far vedere la sua temperatura)
potete vedere dove ho sbagliato?? io quand lo lancio mi accetta dia i nomi dei mesi che le temperature medie, ma la media e sballatissima e qualsiasi nome di mese metto per cercare la temperatura mi dice che non lo trova.....
#include <cstdlib>
#include <iostream>
#define MAX 12
void legginomi (char elenco[]);
void carica (float v[]);
void media (float v[]);
void trova (char elenco[], float v[]);
using namespace std;

int main()
{
char mesi [12][10];
float temp [12],med;
legginomi (mesi[10]);
system ("cls");
carica (temp);
media (temp);
trova (mesi[10],temp);
system("PAUSE");
return EXIT_SUCCESS;
}

void legginomi (char elenco[])
{
for (int i=0;i<MAX;i++)
{
printf ("Inserisci mese %d: ",i+1);
scanf ("%s",&elenco);
}
}


void carica (float v[])
{
for (int i=0;i<MAX;i++)
{
printf ("Inserisci temperatura media %d: ",i+1);
scanf ("%s",&v);
}
}

void media (float v[])
{
float somma =0;
float med;
for (int i=0;i<MAX;i++)
{
somma+=v;
}
med=somma/MAX;
printf ("Media delle temperature: %.2f\n",med);
}


void trova (char elenco[], float v[])
{
char s;
int r=0,i=0;
printf ("Di quale mese vuoi sapere la temperatura?: ");
scanf ("%s",&s);
do{
if (elenco==s) r=1;
else i++;
}while (i<MAX && r==1);
if (r==1) printf ("Temperatura di %s = %.2f",elenco,v);
else printf ("Errore nella digitazione del mese (mese non riconsciuto)");
}

1 Risposte

  • Re: Programma in c aiutooooooooooo?

    Dove hai sbagliato: vediamo
    1. Non hai usato i tag code come da regolamento
    2.
    
    void legginomi (char elenco[]);
    void trova (char elenco[], float v[]);
    
    legginomi e trova accettano una stringa (così come l'hai definita) e non un array di stringhe.
    3. Non hai usato il debugger per trovare gli errori
    4.
    
    if (elenco[i]==s)
    
    questo non lo puoi fare in C, esiste strcmp
    5. Da tutto questo deriva che il tuo programma non funzionerà mai così com'è impostato.
Devi accedere o registrarti per scrivere nel forum
1 risposte