ayuda por favor

benitopro
03 de Enero del 2010
Hola a todos, tengo un problemilla, ya que no se mucho sobre programacion,..., tengo que conseguir meter la estructura en el programa para que los pasajeros del avion, en la funcion de reservarAsiento tendrian que meter sus datos, pero antes tengo que inicializar la estructura, y eso es lo que no se hacer, aqui les dejo el codigo:
#include <stdio.h>
#include <stdlib.h>
#define ZUTABEAK 25
#define LERROAK 5
#define MAX 125

typedef struct {
char nombre[30];
char apellido[30];
int id;
int edad;
}BIDAIARIA;

void inicializarAsientos(int[][]);
void pintarAsientos(int[][]);
void reservarAsiento(int,int,int[][]);
int comprobarAsiento(int,int,int[][]);
int menu();

int main(int argc, char *argv[]){
//aldagaiak
int avion[ZUTABEAK][LERROAK];
int lerroa=0;
int zutabea=0;
int retOkupatuta=0;
int aukera=0;
BIDAIARIA viajeros[ZUTABEAK][LERROAK];
BIDAIARIA aux;
//inicializarAsientos
inicializarAsientos(avion);
do{
aukera=menu();
printf("Zure aukera: ");
scanf("%i",&aukera);
if(aukera==1){
system("cls");
reservarAsiento(lerroa,zutabea,avion);
}
if(aukera==2){
system("cls");
pintarAsientos(avion);
system("PAUSE");
}
if(aukera==3){
system("cls");
printf("ADIOSn");
}
}while(aukera!=3);
printf("n");
printf("n");
system("PAUSE");
return 0;
}

int menu(){
//aldagaiak
int retErantzuna=0;
//programa
system("cls");
printf("tt***************************************n");
printf("tt** ONGI ETORRI **n");
printf("tt***************************************n");
printf("tt** 1-RESERVAR **n");
printf("tt** 2-DISPONIBILIDAD **n");
printf("tt** 3-SALIR **n");
printf("tt***************************************n");
printf("nn");
return retErantzuna;
}

void inicializarAsientos (int hegazkina[ZUTABEAK][LERROAK]){
//aldagaiak
int lerroa=0;
int zutabea=0;
//programa
for(lerroa=0;lerroa<ZUTABEAK;lerroa++){
for(zutabea=0;zutabea<LERROAK;zutabea++){
hegazkina[lerroa][zutabea]=0;
}
}
}

void pintarAsientos(int avion[ZUTABEAK][LERROAK]){
//aldagaiak
int lerroa=0;
int zutabea=0;
//programa
for(lerroa=0;lerroa<ZUTABEAK;lerroa++){
printf("n");
printf("tttt");
for(zutabea=0;zutabea<LERROAK;zutabea++){
printf("%i ",avion[lerroa][zutabea]);
}
printf("n");
}
}

void reservarAsiento(int lerroa, int zutabea, int avion[ZUTABEAK][LERROAK]){
//aldagaiak
int a=1;
//programa
while(a==1){
printf("Zein lerro(0-24 zenbaki artekoa):");
scanf("%i",&lerroa);
printf("n");
printf("Zein lerro(0-4 zenbaki artekoa):");
scanf("%i",&zutabea);
a=comprobarAsiento(lerroa, zutabea,avion);
}
avion[lerroa][zutabea]=1;
}

int comprobarAsiento(int lerroa, int zutabea, int avion[ZUTABEAK][LERROAK]){
//aldagaiak
int retOkupado=0;
//programa
if(avion[lerroa][zutabea]==1){
printf("nESTE ASIENTO ESTA OCUPADOnn");
retOkupado=1;
}else{
retOkupado=0;
}
return retOkupado;
}

void inicializarEstructura(BIDAIARIA viajeros[ZUTABEAK][LERROAK], int avion[ZUTABEAK][LERROAK]){
//aldagaiak
int i,j;
//programa
for(j=0;j<ZUTABEAK;j++){
for(i=0;i<LERROAK;i++){
viajeros[j][i].nombre='X';
viajeros[j][i].apellido='X';
viajeros[j][i].id='X';
viajeros[j][i].edad='X';
}
}
}

sircoko
03 de Enero del 2010
Hola, me parece que la duda que dices ya la has resuelto, la inicializacion de la estructura se hace exactamente como lo tienes en tu ultima funcion, solo tendrias que llamarla y ya, esto lo logras escribiendo donde lo necesites el nombre de la funcion... (se puede apreciar que esto lo sabes hacer).

Lo unico que si deberias tener presente es que en la estructura las variables ID y EDAD son enteros, por tanto no lo puedes inicializar en X. Es lo unico que veo raro.
Si tu compilador arroja algun error especifico, o tu programa no realiza algo en especifico avisame otra vez y con gusto te respondo.

Suerte.

benitopro
03 de Enero del 2010
y entonces a que tendria que inicializarlos?