Aiuto sulle funzioni

di il
1 risposte

Aiuto sulle funzioni

Allora vi spiego, praticamente sto scrivendo un programma dove c'è una maratona con 9999 concorrenti numerati da 1 a 9999.
Allora prima di tutto di tutti sti concorrenti fra 100 e 300 concorrenti a caso vengono squalificati, e praticamente vengono esclusi, poi devo anche scrivere il numero e quanto tempo ci hanno impiegato i primi 3 classificati (che deve essere compreso tra 2 e 4 ore e devono esserci compresi i minuti e secondi).
Il tutto comunque deve essere scritto facendo delle funzioni.

Allora io sono riuscito a fare una parte di sto programma ma ci sono un pò di cose che alla fine non mi tornano:
1)Sono riuscito a far squalificare un numero compreso tra 100 e 300 persone ma non riesco ad escluderle dalla classifica finale nell' eventualità vengano di nuovo sorteggiati tra i primi 3 classificati.
2) Sono riuscito a generare 3 concorrenti a caso con il tempo compreso tra le 2 e le 4 ore solo che non riesco a metterli in ordine, cioè può capitare che c'è scritto che il primo ci ha messo più tempo del secondo e/o del terzo.

Ecco vi posto il codice che ho scritto finora:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

    void squalifica()
    {
        int s, min = 100, max = 300;
        srand((unsigned)time(NULL));
        s = rand() % (max - min) + min;
        printf("\nSono stati squalificati %d concorrenti.",s);
        int i=0;
        srand(time(NULL));
        for(i=0; i <s; i++) {
        printf("\nIl concorrente numero %d e' squalificato", rand( ) % 10000);
    }
    system("pause");
    }

    void vincitori()
    {
        int p1, min = 1, max = 9999;
        srand((unsigned)time(NULL));
        p1 = rand() % (max - min) + min;
        int p2 = rand() % (max - min) + min;

        int p3 = rand() % (max - min) + min;

        int h, min2 = 2, max2 = 4;
        srand((unsigned)time(NULL));
        h = rand() % (max2 - min2) + min2;

        int m, min3 = 0, max3 = 60;
        srand((unsigned)time(NULL));
        m = rand() % (max3 - min3) + min3;

        int s = rand() % (max3 - min3) + min3;

        int h2 = rand() % (max2 - min2) + min2;
        int m2 = rand() % (max3 - min3) + min3;
        int s2 = rand() % (max3 - min3) + min3;
        int h3 = rand() % (max2 - min2) + min2;
        int m3 = rand() % (max3 - min3) + min3;
        int s3 = rand() % (max3 - min3) + min3;


        printf("Ha vinto il concorrente %d impiegandoci %d ore %d minuti %d secondi",p1,h,m,s);
        printf("\nSecondo il concorrente %d impiegandoci %d ore %d minuti %d secondi",p2,h2,m2,s2);
        printf("\nTerzo il concorrente %d impiegandoci %d ore %d minuti %d secondi",p3,h3,m3,s3);
    }

int main() {
    vincitori();
    squalifica();

    return 0;
}
Qualcuno può aiutarmi ? Per favore

1 Risposte

Devi accedere o registrarti per scrivere nel forum
1 risposte