Quando eseguo il codice, dopo aver inserito i nomi dei giocatori, come mai in ouput mi viene dato un indirizzo in codice ascii invece del nome? penso sia un problema di riferimento , ma non ne sono certo al 100% e come posso modificarlo in modo da farlo funzionare correttamente, mi date un ulteriore manina?
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <windows.h>
#include <string.h>
#include <ctype.h>
#include <conio.h>
#define righe 3
#define colonne 5
#define maxvett 15
#define maxnome 10
#define PEDINE 90
#define NUM_USERS 5
#define r 9
#define c 10
typedef struct
{
char scheda[righe][colonne];
char nome[maxnome];
bool ambo=false;
bool terno=false;
bool quaterna=false;
bool quintina=false;
bool tombola=false;
}giocatore;
giocatore m_user[NUM_USERS]; /* uso l' array di struct per identificare l' utente */
void carica_scheda()
{
int i,j,y;
for(i=0;i<NUM_USERS;i++)
{
printf("Inserici il nome del %d giocatore\t",i+1);
gets(m_user[i].nome);
for(j=0;j<righe;j++)
{
for(y=0;y<colonne;y++)
{
m_user[i].scheda[j][y]=0;
}
}
}
system("CLS");
}
void inizializza_scheda()
{
int i,y,j;
for(i=0;i<NUM_USERS;i++)
{
printf("la scheda di %s e':\n",m_user[i].nome);
for(j=0;j<righe;j++)
{
for(y=0;y<colonne;y++)
{
printf("%d\t",m_user[i].scheda[j][y]);
}
printf("\n");
}
printf("\n");
}
}
void carica_tabellone()
{
int i,j,num=1;
int tabella[c][r];
//carico TABLELLONE
for (i=0; i<r; i++){
for (j=0; j<c; j++){
tabella[i][j]=num;
num++;
}
}
printf("TABELLA: \n\n");
//stampo il TABELLONE
for (i=0; i<r; i++)
{
for (j=0; j<c; j++){
printf("%d",tabella[i][j]);
printf("\t");
}
printf("\n");
}
}
void carica_colonne()
{
int i,col,j,y;
//INIZIO CARICAMENTO DELLA MATRICE DEi GIOCATORI
for(i=0;i<NUM_USERS;i++)
{
for(j=0;j<=r;j++)
{
for(y=0;y<=c;y++)
{
if(y==0) //carico la prima colonna con numeri compresi tra 1 e 9
{
col=rand()%8+1;
col++;
m_user[i].scheda[j][y]=col;
}
if(y==1)
{
col=rand()%(29-10)+10; //carico la seconda colonna con numeri compresi tra 10 e 29
col++;
m_user[i].scheda[j][y]=col;
}
if(y==2)
{
col=rand()%(59-30)+30; //carico la terza colonna con numeri compresi tra 30 e 59
col++;
m_user[i].scheda[j][y]=col;
}
if(y==3)
{
col=rand()%(79-60)+60; //carico la quarta colonna con numeri compresi tra 60 e 79
col++;
m_user[i].scheda[j][y]=col;
}
if(y==4)
{
col=rand()%(90-80)+80; //carico la quinta colonna con numeri compresi tra 80 e 90
col++;
m_user[i].scheda[j][y]=col;
}
}
}
}
}
int main()
{
carica_scheda();
carica_colonne();
inizializza_scheda();
carica_tabellone();
printf("\n");
int i,y,x,j,scelta,num,estratto,conta;
int vett[maxvett];
int controllo[PEDINE];
srand(time(NULL));
//imposto il vettore di controllo a 0
for(x=0; x<=PEDINE; x++)
{
controllo[x]=0;
}
system("PAUSE");
return 0;
}