Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    Problema file sorgente in C

    Salve ragazzi, questo è un programma che dovrebbe mischiare 52 carte, ma C::B segnala un warning alla riga 19, ma non capisco il problema, potete dare un' ochiata?

    codice:
    #include<stdio.h>
    #include<stdlib.h>
    #include<time.h>
    
    
    void shuffle(int [][13]);
    void deal( const int [][13], const char *[], const char *[]);
    
    
    main()
    {
     char *suit[4] = {"Hearts", "Diamonds", "Clubs", "Spades"};
     char *face[13] = {"Ace","Deuce", "Three", "Four", "Five", "Six", "Seven",
                    "Eight", "Nine", "Ten", "Jack", "Queen", "King"};
     int deck[4][13] = {0};
    
    
     srand(time(NULL));
    
    
     shuffle(deck);
    
    
     deal(deck, face, suit );
    
    
    return 0;
    }
    
    
    void shuffle( int wDeck[][13])
    {
       int card, row, column;
    
    
       for(card=1; card<=52; card++){
    
    
       row=rand()%4;
       column=rand()%13;
    
    
            while(wDeck [row][column] != 0){
    
    
            row = rand()%3;
            column= rand ()%13;}
    
    
        wDeck [row][column]=card;}
       }
    
    
    void deal ( const int wDeck[][13], const char *wFace[], const char *wSuite[])
    {
     int card, row, column;
    
    
       for(card=1; card<=52; card++)
    
    
        for(row=0; row<=3; row++)
    
    
       for(column=0; column<=12; column++){
    
    
          if(wDeck[row][column] == card)
            printf("%5s of %-8s%c",
                     wFace[column], wSuite[row],
                     card % 2 == 0 ? '\n' : '\t');
       }
    
    
    
    
    }

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Perché non indichi chiaramente la linea e il warning?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Intendi questo?


    |19|warning: passing argument 1 of 'deal' from incompatible pointer type [enabled by default]|

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Sì ... e non ci fare contare le linee ... dicci la linea !
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    la 19
    codice:
      deal(deck, face, suit );

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Che era la 19 va bene ... ma quando hai questi problemi indica chiaramente la line e il messaggio. Altrimenti si perde un sacco di tempo.

    In quella funzione devi passare due vettori const char * e quindi all'inizio devono essere

    const char*suit[4] ...
    const
    char*face[13] ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    Intendi cosi giusto?

    codice:
    deal(deck, const char *face[13], const char *suit[4] );
    ma mi da questo errore:

    |19|error: expected expression before 'const'|

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    No .. non intendo nella chiamata della funzione ... intendo all'inizio del main ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #9
    adesso segnale questo

    |19|warning: passing argument 1 of 'deal' from incompatible pointer type [enabled by default]|

  10. #10
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Da void deal (constint wDeck[][13] togli il const

    void deal (int wDeck[][13],
    No MP tecnici (non rispondo nemmeno!), usa il forum.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.