Problema di riferimento a una matrice in una Struct

di il
3 risposte

Problema di riferimento a una matrice in una Struct

Ciao ragazzi vi scrivo per chiedevi aiuto per un problema di riferimento a una matrice in una struct, nella stampa vie è solo il primo indirizzo della matrice ma io voglio il contenuto cioè:
00000
00000
00000

#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];
}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;	
			}
		}
	}
}
int main()
{
	int i,y,j;
	
	carica_scheda();
	printf("la scheda di %s e':\n",m_user[1].nome);
	for(j=0;j<righe;j++)
	{
		for(y=0;y<colonne;y++)
		{
			 printf("%d%d",m_user[1].scheda[j][y]);	
		}
		printf("\n");
	}
	system("PAUSE");
	return 0;
}

3 Risposte

  • Re: Problema di riferimento a una matrice in una Struct

    Dovresti spiegare meglio il tuo problema, spiegando l'input che dai, l'output che ti aspetti e l'output che invece ottieni.
    Comunque alcune cose:
       printf("la scheda di %s e':\n",m_user[1].nome);
    
    Il primo elemento sarà m_user[0].nome perchè in C si parte da indice 0.
    Qui invece
          for(y=0;y<colonne;y++)
          {
              printf("%d%d",m_user[1].scheda[j][y]);   
          }
    
    richiedi la stampa di due interi (%d%d) e invece alla povera printf() ne passi uno solo (m_user[1].scheda[j][y]) che poi ha anche indice probabilmente sbagliato (1 anzichè 0...).
  • Re: Problema di riferimento a una matrice in una Struct

    Si lo so che in C si parte da 0 nell' Array, ma mo ho dato 1 giusto come prova, poi comunque devo partire da i perche ne devo stampare 5, il secondo consiglio era meglio grazie mille
  • Re: Problema di riferimento a una matrice in una Struct

    il secondo consiglio era meglio
    Per risolvere un problema devi imparare a descriverlo; già descrivendolo correttamente potresti trovare la soluzione da solo.
    Con una descrizione precisa dai la possibilità a chi ti vuole/deve aiutare di poter prendere in mano il problema: non solo nel forum ma anche nella vita lavorativa potresti avere dei problemi per i quali devi chiedere aiuto, capita a tutti!
Devi accedere o registrarti per scrivere nel forum
3 risposte