Új hozzászólás Aktív témák

  • lockdown90

    senior tag

    #include <stdio.h>


    #define N 2
    #define M 5

    typedef struct szavak{

    char nev[10];
    int jegy;
    int ora[5];


    }szavak;


    void beker(szavak tomb[])
    {
    int i;
    int j;

    for(i=0; i<N; i++)
    {
    printf("Tanulo neve:");
    scanf("%s",tomb[i].nev);
    printf("Tanulo jegye:");
    scanf("%d",&tomb[i].jegy);

    printf("Oralatogatasok szama:\n");
    for(j=0; j<M; j++)
    {
    printf("%d.nap:",j+1);
    scanf("%d",&tomb[i].ora[j]);
    }



    }


    }

    void vissza(szavak tomb[])
    {
    int i=0;

    int veg = N-1;

    printf("Nevek visszafele atirva:\n");
    for(i=veg; i>=0; i--)
    {
    printf("%s_%d\n",tomb[i].nev,i+1);
    }

    }

    int legjobb(szavak tomb[])
    {
    int i;
    int max;
    int index=0;

    max=tomb[0].jegy;

    for(i=0; i<N; i++)
    {
    if(tomb[i].jegy>max)
    {
    max=tomb[i].jegy;
    index=i;

    }

    }
    return index;
    }

    int osszegez(int tomb[])
    {
    int i,j;

    int osszeg=0;

    for(i=0; i<N; i++)
    {
    osszeg+=tomb[i];
    }
    return osszeg;

    }

    void heti(szavak tomb[])
    {
    int i;

    for(i=0; i<N; i++)
    {
    printf("Heti oralatogatasok: %d\n\n",osszegez(tomb[i].ora));

    }

    }

    int legtobb(szavak tomb[])
    {
    int i;
    int index=0;

    for(i=0; i<N; i++)
    {

    if((osszegez(tomb[i].ora))>30)
    {

    index=i;
    }

    }
    return index;

    }





    int main()
    {
    szavak tomb[10];

    beker(tomb);
    vissza(tomb);
    heti(tomb);
    printf("Legjobb tanulo: %s\n\n",tomb[legjobb(tomb)].nev);
    printf("30 tobb oralatogato: %s\n\n",tomb[legtobb(tomb)].nev);

    system("pause");
    return 0;

    }

    tudna esetleg valaki segiteni hogy miert nem adja vissza a 30 na tobb oralatogato nevet, illetve miert nem adja ossze az oralatogatasok osszeget? mindig rossz eredmenyt ad. ki tudna javitani valaki?
    nagyon megkoszonnem, nagyon fontos lenne

Új hozzászólás Aktív témák