Pagina 1 di 6 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 51
  1. #1

    [C]ho un urgentissimo problema



    Ho bisogno di un urgentissimo aiuto.
    Il mio prof mi ha dato come compito a casa da fare un programma in turbo C (non c++ ma solo C) da presentare entro sabato 21.
    Il testo dell’programma è il seguente:
    --------------------------------------------------
    proporre un programma C che consenta l’aggiornamento di un campionato di calcio basandosi sui risultati delle partite.
    In ingresso vengono forniti i nomi delle squadre

    Squadra 1
    Squadra 2
    Squadra 3
    Squadra 4
    E successivamente vengono indicati i risultati degli incontri, secondo il formato:

    squadra di casa – squadra ospite – punti sq. Casa - punti sq ospite.

    Es:
    squadra 1 – squadra 2: 3 2
    squadra 3 – squadra 4: 0 0

    in base ai dati inseriti nel formato di cui sopra, il programma deve decidere il punteggio da attribuire a ciascuna squadra (0 sconfitta, 1 pareggio, 3 vittoria)

    Ogni giornata deve prevedere l’aggiornamento di tutte le squadre e deve esistere un meccanismo che controlli e segnali i casi in cui ad una squadra siano state erroneamente assegnate più partite o nessuna partita.

    Al termine di ogni giornata deve essere richiesto se in campionato prosegue ancora.
    Al termine del campionato deve essere stampata la classifica delle squadre, in base al punteggio, in orine decrescente.
    In caso i parità si verificano gli sconti diretti, i gol in trasferta valgono doppio.

    Nel programma ci potranno essere solo le seguenti funzioni
    FOR; DO - WHILE; IF; printf; scanf; (costanti e variabili <ovviamente>)
    Si potranno inoltre usare Vettori di dimensioni predefinite (con una costate) e Matrici di dimensioni predefinite (sempre con delle costnti).
    --------------------------------------------------------
    vi prego aiutatemi, non so proprio come fare, e se sabato nn consegno il programma funzionante, beh… sono guai .
    VI RINGRAZIO INFINITAMENTE.

    ps contattatemi pure su msn messnger:
    best_370@hotmail.com
    ---------------------------
    visitate il mio sito

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2005
    Messaggi
    47
    Eh, direi che sono guai se non lo consegni...

    Da qunato ho capito dal testo l`utente dice che squadre si sono incontrate e il risultato, conforntare il risultato e poi assegnare i punti in base ad esso...

    Per i punteggi e` abb facile, tu guardi che squadre si sono incontrate(ammetto che non ho capit chi dice come i incontrano ste maledette squadre...cmq....), vai a recuperare i gol fatti e li confronti con quelli subiti, se gol di A e` == a gol B allora i punti vanno a 0 e non sommi nulla al vecchio pounteggio, se gol A > di gol B allora A ha vino quindi asegni 3 punti a A e 0 a B, se gol A< gol B allora punti a B...

    Penso un pochino a come farlo e se mi vinene qualcosa di intelligente in mente te la posto qua, cmq tu hai gia` provato a buttare giu` un listato???
    Sarebbe piu` facile vedere un listato e modificare le parit che non ti vanno, senza doverlo compilare dall` inizio....
    Riap ciaooo

  3. #3
    io ti ringrazio
    per adesso ho cominciato a dikiarare un vett su cui (inserendo da tastiere) memorizzare il nome delle squadre.
    ma a questo punto sto sbattendo tante testate...
    io sto studiando programmazione da 3 mesi e questo mi da già dei prog del genere...
    se mi potresti aiutare te ne sarei eternamente grato

    ps contattatemi pure su msn messnger:
    best_370@hotmail.com
    ---------------------------
    visitate il mio sito

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2005
    Messaggi
    47
    Ok, il vettore pero` ti converrebbe metterlo in una struct, dovresti fare una bella struct tipo

    char a[10],b[10],c[10],d[10];
    struct {int ptia,ptib,ptic,ptib,ga,gb,gc,gd;}archi[10];

    squadraa e le altre variabili squadra e lettera dopo sono vettori che conterranno una stringa (ho messo 10 come caratteri che compongono il nome, ma naturalmente puoi aumentare quel numero a tuo piacere).tutte queste variabili di punteggi variano in base al numaero della giornata di campionato che corrisponde all` indice di archi(spero tu abbia fatto le struct, altrimeni e` un bel casino...)

    Negli int ho dichiarato le variabili che terranno i punteggi delle squadre(ptia) e quelle che terranno i goal fatti nella giornata(ga), li puoi dichiarare anche fuori da una struct, quindi se non la hai fatta la struct semplicemente canella struct e tutto quello che non capisci fino a ottenre:

    int ptia,ptib,ptic,ptib,ga,gb,gc,gd;
    (semplicissima dichiarazione di variabili)

    adesso si apre il main()
    {
    chiedi i nomi delle squadre e salvali nelle rispettive variabili.

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


    }
    qui nel ciclo for mi devi dire come si alternano le partite, cioe` io non ho capito come devono distibuirsi le varie partite, se me lo dici faccio del mio meglio per soddisfare la tua richiesta entro domani sera, tu cmq dimmi se hai dei problemi fino a questo punto ok??
    Sei l`unico della classe che non riesce a fare questo programma??se siete in molti magari non vi apre il culo a tutti e ti da piu` tempo per finirlo, anche perche` e` lungo come programma.....
    Quanto tempo vi ha dato per farlo????
    cmq per ora la struttura del programma dovrebbe essere circa cosi`, tu dimmi le partite come si distribuiscono, ok?
    aspetto notizie, ciao!!!!

  5. #5
    il programma ce lo ha dato oggi per sabato..
    forse c'è qualche possibilità che lo sposti...
    però non lo ha dato a tutta la classe, ha dato un programma "personalizzato" quindi chi ha il culo di averne uno facile lo consegna subito.

    per quanto riguarda le squadre; in tutto sono 4 e (penso io) si incontrano in tutto 6 volte

    es:
    1°giornata
    squadra 1 vs squadra 2;
    squadra 3 vs squadra 4;
    2°giornata
    squadra 1 vs squadra 3;
    squadra 4 vs squadra 2;
    3° giornata
    squadra 1 vs squadra 4;
    squadra 2 vs squadra 3;

    io il nome delle squadre le ho memorizzate in un vettore contenente le 4 stringhe necessarie;
    char *squadra[4];
    e in un ciclo for ho inserito la printf("inserisci nome squadra2);
    con la rispettiva scanf
    <fino a qui funziona>
    ------------------
    non ho capito perè una cosa.
    mi hai detto di mettere il vettore in una struct...
    ma di struct io nn ne ho mai sentito parlare (oppure conosco la stessa cosa sotto un altro nome).
    ------------------
    ps. tu cosa fai nella vita, sei uno studente come me oppure lavori.
    io frequento il 3° anno ITC.
    se posso provo ad accedere al forum già domani mattina a scuola. sennò accederò domani pomeriggio, con la speranza di essere riuscito a scucire qualche informazione dal prof.
    GRAZIE
    ciao!!!
    ps se hai msn ti do il mio indirizzo, puoi aggiungermi ai contatti, così ogni tanto potremmo kiakkerare un po'.

    ps contattatemi pure su msn messnger:
    best_370@hotmail.com
    ---------------------------
    visitate il mio sito

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2005
    Messaggi
    47
    Purtroppo oggi non ci saro`, come immaginavo il tuo prof vleva il programma diviso in giornate......senti questa sera provo a fare del mio melgio e cerco di buttare giu` il programma nel migliore dei modi, ma non ti assicuro nulla..
    Cmq anche io sono studente del liceo scientifico tecnologico, 4 anno...
    Ciaooooo

  7. #7
    ciao, intatno il mio prof mi ha detto che posso consegnarlo lunedì.
    per quanto riguarda gli accoppiamenti delle squadre mi ha detto che devono essere per forza inserite da tastiera e ke dopo il programma deve controllare se una squadra ha fatto 2 partite oppure se si è verificato un caso del tipo
    squadra 1 vs squadra 1
    poi mi ha detto che bisogna sarebbe (forse per lui) più semplice inserire una matrice che contiene i punteggi e una che memorizza gli accoppiamenti.

    mi sono fatto spiegare cosa è una struct, e qualcosa ci ho capito. deve essere una sorta di vettore con dati tutti differenti non omogenei.

    se riusciresti ad aiutarmi sarebbe fantastico
    tante grazie
    ---------------------------




    http://bestfoto.altervista.org

    ps contattatemi pure su msn messnger:
    best_370@hotmail.com
    ---------------------------
    visitate il mio sito

  8. #8
    Utente di HTML.it L'avatar di byaur
    Registrato dal
    Aug 2004
    Messaggi
    1,061
    char *squadra[4];
    attento a dichiarare un vettore di 4 squadre cosi...
    se dichiari char *pippo[n] se pippo[2] deve contenere "Borgosesia" e fai quindi
    codice:
    strcpy(pippo[2], "Borgosesia");
    ti dara un bel segmentation fault(almeno in *nix...)perchè non hai allocato sufficiente spazio per la stringa...
    forse però la malloc non la puoi usare...

    per quello che riguarda la matrice...
    se ho capito bene ci sono 6 giornate e 4 squadre che si incontrano ogni giornata...cioè ci sono 2 partite ogni giornata...
    allora ti puoi fare 2 matrici...
    uno per le squadre con #righe = partite totali e #colonne = squadre che si incontrano...
    l'altra ci metti i risultati...

    il resto ci devi pensare tu...,e dovresti poiche è un compito

    cmq se ti servono spiegazioni ... a tua disposizione
    Chi di noi non vorrebbe
    sollevare il velo sotto cui sta nascosto il
    futuro...
    David Hilbert

  9. #9

    code:--------------------------------------------------------------------------------
    strcpy(pippo[2], "Borgosesia");
    --------------------------------------------------------------------------------

    scusa, non ho capito cosa singnifica "strcpy", io per assegnare un valore del genere faccio cisì

    code:--------------------------------------------------------------------------------
    char vettore [n]
    printf"insierisci il nome della squadra: ");
    scanf("%s",vettore[0]); /* questo è un esempio. io nn uso difronte al vettore il simbolo '&' dell'indirizzo perchè ho letto su una guida che per i vettori di stringhe nn si usa*/
    ---------------------------------------------------------------------------------

    per quanto riguarda gli incontri... il prof sta mattina mi ha detto che devo inserire io i nomi delle squadre e l'ordine di incotri
    ex:
    ------
    printf("inserisci secondo questo criterio: squadra_in_casa squadra_ospite goal_sq_casa goal_sq_ospite");
    ------
    vuole quindi che io iserisca gli incontri da tastiera digitando il nome delle squadre e poi il risultato.
    in più mi kiede di inserire un meccanismo che mi controlli che non ho inserito due volte la stessa squadra o che ne ho saltata una.
    per evitare situazioni tipo:
    giornata 1
    squadra 1 vs squadra 2
    squadra 1 vs squadra 3
    /*nn è possibile che la stessa squadra abbia fatto due partite contemporaneamente*/.

    ps, cosè una malloc?

    Ps il prof mi ha detto che per eseguire il programma potevo usufruire di aiuti, purchè poi gli spiegassi passo dopo passo cosa avevo fatto. io cmq ci sto ragionando e pensando. per fortuna che lo devo consegnare Lunedì (ci ha concesso un weekand per pensarci, che pensiero carino!!!)

    ps contattatemi pure su msn messnger:
    best_370@hotmail.com
    ---------------------------
    visitate il mio sito

  10. #10
    Utente di HTML.it L'avatar di byaur
    Registrato dal
    Aug 2004
    Messaggi
    1,061
    Originariamente inviato da sonodisperato

    code:--------------------------------------------------------------------------------
    strcpy(pippo[2], "Borgosesia");
    --------------------------------------------------------------------------------

    scusa, non ho capito cosa singnifica "strcpy", io per assegnare un valore del genere faccio cisì

    code:--------------------------------------------------------------------------------
    char vettore [n]
    printf"insierisci il nome della squadra: ");
    scanf("%s",vettore[0]); /* questo è un esempio. io nn uso difronte al vettore il simbolo '&' dell'indirizzo perchè ho letto su una guida che per i vettori di stringhe nn si usa*/
    ---------------------------------------------------------------------------------
    quello che hai scritto sopra ti da un errore. primo perchè tu assegni con la direttiva %s a im carattere (vettore[0]) poi per l'errore dell'altro post...
    allora...
    penso che volevi dire
    codice:
    char *vettore [n]        /*se non metti * tu dichiari un solo array di char
                                     lungo n
                                     con  * dichiari un puntatore di array di char lunghi n*/
    e mi pare di aver capito che vuoi un array di squadre...giusto?
    il problema che utilizzando questa sintassi non dici quanto "spazio " ti serve per memorizzare tutte le strighe...
    e quindi devi utilizzare malloc() che è una funzione di libreria che ti serve per allocare uno spazio di memoria in base a una dimensione che gli dici tu, e assegnarlo ad un puntatore...
    tipo:
    codice:
    int abc[10];       /*vettore di 10 interi*/
    è equivalente a dire:
    codice:
    int *abc;
    
    abc = (int *)malloc(sizeof(int) * 10);
    cioè nella prima versione ho fatto una allocazione statica, nella seconda un'allocazione dinamica.

    ma per il tuo caso e sicuramente meglio la statica, per 2 motivi:
    1) è più semplice
    2)hai le dimensioni (cioè numero partirte, numero giornate...) gia definite.

    ... anche se quella dinamica è + potente ma conduce molte volte in errore specialmente se si è iniziato da poco a programmare...

    cmq si, puoi usare
    scanf("%s", stringa);
    dove stringa è un' array di caratteri...

    per l'immissione dei dati l'uso delle 2 matrici che ti ho detto prima potrebbe funzionare...
    oppure puoi fare:
    - un'array di stringhe per le squadre di casa
    - un'array di strighe per le squadre fuori casa
    - e una matrice per i risultati...

    ...pensa...
    sono a tua disposizione
    Chi di noi non vorrebbe
    sollevare il velo sotto cui sta nascosto il
    futuro...
    David Hilbert

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.