Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    [C] problema assegnazione stringhe

    buongiorno, mi ritrovo a dover assegnare dei caratteri casuali ad un campo della mia struttura:

    codice:
    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
    
    
    typedf struct giocatore {
    
    char nome[4];
    
    char cognome[4];
    
    }giocatore;
    
    struct giocatore giocatori[88];
    
       for(i = 0; i <= 88; i++)
    
       {
    
           for(j = 0; j <= 4; j++)
    
          {
    
    
          giocatori[i].cognome[j] = (char)(rand()%26)+97;
    
          }
    
           giocatori[i].cognome[j] = '\0';
    
       }
    l'assegnazione di lettere casuali al nome è riuscita ma con il campo cognome no...

    potreste gentilmente farmi capire o aiutare come posso per fare assegnare lettere casuali al campo cognome dato che con il campo nome funziona.

    grazie

  2. #2
    In che senso non è riuscita?

    Un errore per esempio è che l'istruzione:

    codice:
    giocatori[i].cognome[j] = '\0';
    l'hai messa fuori dal ciclo grande (quello che varia sui giocatori incrementando l'indice i per intenderci..)!
    Nel senso che hai messo una parentesi di troppo!
    Salute a voi, da Laikius!

    --> Faber est suae quisque fortunae <--

  3. #3
    cioè che non assegna nulla al campo cognome ma solo a nome anche se faccio l'assegnazione solo a cognome comunque non viene assegnato nulla è proprio come se non aasegna nulla a cognome. la perentesi è un errore di battitura perchè non funziona comunque.

  4. #4
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Per iniziare la condizione di ciclo deve essere < e non <= altrimenti esci dall'array.
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  5. #5
    ho capito cosa impediva l'assegnazione in pratica l'istruzione :

    giocatori[i].nome = '\0';

    eseguita prima di giocatori[i].cognome = '\0' in qualche modo interferisce con le assegnazioni delle lettere casuali a giocatori[i].cognome ora devo risolvere questa cosa.

  6. #6
    Originariamente inviato da Alex'87
    Per iniziare la condizione di ciclo deve essere < e non <= altrimenti esci dall'array.
    grazie mille era proprio questa cosa che impediva di funzionare il for.

    grazie ancora

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.