PROBLEMA Conversione in C

Pubblicità

Madg96

Nuovo Utente
Messaggi
141
Reazioni
8
Punteggio
38
Salve ragazzi sto facendo questo progetto per l università in cui devo creare il gioco del tris su server in modo che sia accessibile da un numero arbitrario di client, oltre a questo devo creare una classifica dei giocatori su file txt e ovviamente ordinarla in ordine crescente di vittorie. Ho riscontrato un problema di conversione creando questa classifica in pratica ho utilizzato la funzione fgets per prendere la riga della classifica (es ciro 2 vittorie 1 pareggio 0 sconfitte) Posto la foto del codice commentato e i risultati. Non capisco perchè facendo prov[j] = res dentro prov mi mette un altro valore rispetto a quello che mi aspetto nonostante siano due array di char.
Nella foto dei risultati mi aspetto che res sia = a 4 come giustamente viene mostrato mentre al posto di quel 52 dovrebbe esserci un altro 4 dato che è il valore di prov[0]. Credo che sia un errore di conversione/assegnamento perchè quando res = 4 prov = a 52 se nel file txt cambio 4 con 5, res = 5 mentre prov = 53 e cosi via. Qualcuno ha qualche soluzione ? spero abbiate capito qualcosa dato che è un pò contorta come situazione. Grazie a tutti.
 

Allegati

  • WhatsApp Image 2021-08-06 at 17.03.04.webp
    WhatsApp Image 2021-08-06 at 17.03.04.webp
    84.4 KB · Visualizzazioni: 40
  • WhatsApp Image 2021-08-06 at 17.03.49.webp
    WhatsApp Image 2021-08-06 at 17.03.49.webp
    71.7 KB · Visualizzazioni: 42
Il codice va postato utilizzando il tag CODE qui sul forum. E puoi fare la stessa cosa con risultati/errori.
Oltretutto così non possiamo nemmeno provarlo ed è scomodo correggerti.

Parli di numeri, ma allo stesso tempo usi char e stampi a video dei caratteri. Sicuro il valore nella cella non può cambiare da un'istruzione all'altra, se non viene sovrascritto.

Ma ripeto: pubblica qui il codice, così possiamo vedere. ?
 
il tuo parsing e' sballato, in quanto supponi che il numero sia una cifra sola. Quello che devi fare e' "spezzare" la stringa letta in un vettore di stringhe, usando lo spazio come separatore. Guarda la documentazione della funzione strtok()
 
Pubblicità
Pubblicità
Indietro
Top