Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Ayuda con C ...

Estas en el tema de Ayuda con C ... en el foro de C/C++ en Foros del Web. Hola que tal a todos, bueno estoy asiendo un proyecto de la facu y tengo problemas con el pasaje de parametros por referencia, nesesito que ...
  #1 (permalink)  
Antiguo 26/10/2010, 20:45
 
Fecha de Ingreso: octubre-2010
Mensajes: 1
Antigüedad: 13 años, 6 meses
Puntos: 0
Ayuda con C ...

Hola que tal a todos, bueno estoy asiendo un proyecto de la facu y tengo problemas con el pasaje de parametros por referencia, nesesito que alguien me de ejemplos plz, nesesito pasar una estructura y que me la devuelva ordenada , pero cuando lo pruebo el programa se ejecuta y luego se trava al probar la opcion b , no se cual es el error :P... saluos

este es el codigo:

#include <stdio.h>
#include <stdlib.h>


#define I 2
#define J 2
#define K 2
#define L 2


/***********************DECLARACION DE ESTRUCTURAS*****************************/
struct ventas{
int cod_rem;
int cant_vend;
};
typedef struct ventas vent;
vent ven[I];

struct remedios{
int cod_rem;
char nom_rem[66];
int cod_lab;
float precio;
};
typedef struct remedios remt;
remt rem[J];

struct laboratorio{
int cod_lab;
char nom_lab[20];
};
typedef struct laboratorio labt;
labt lab[K];

struct varios{
int cod_lab;
char nom_lab[20];
int total_vendido;
float tot_rec;
};
typedef struct varios vart;
vart var[L];

/********************************PROTOTIPOS******** ****************************/
void carga_estructura_lab(labt[],int);
void carga_estructura_rem(remt[],int);
void carga_estructura_ven(vent[],int);
void cargas_de_estructuras();
void consulta_precio(remt[],int );
void ordenar_arrlego_remedios(remt*[],int);
/****************************FUNCION PRINCIPAL*********************************/


int main(int argc, char *argv[])
{
char opcion;
do
{

puts("Ingrese una opcion:");
printf("\nA:--Carga de registros.\nB:--Consulta precio.\nC:--Informe de ventas mensuales.\nD:--Incrementar precio de remedios.\nE:--Finalizar programa.\n");

fflush(stdin),scanf("%c",& opcion);

switch((tolower (opcion))){

case 'a':cargas_de_estructuras();
break;

case 'b': consulta_precio(rem,J );
break;

case 'c':
break;

case 'd':
break;

case 'e':
break;

default : printf("\nOpcion incorrecta\n");
break;

}
} while( opcion !='e');


system("PAUSE");
return 0;
}

/****************************DEMAS MODULOS*************************************/

void cargas_de_estructuras(){
printf("Ingrese los datos en el orden mostrado y presione enter por cada uno:\n");

system("cls");
carga_estructura_lab( lab, I);
system("cls");
carga_estructura_rem( rem, J);
system("cls");
carga_estructura_ven( ven, K);
system("cls");
}

void carga_estructura_lab(labt labb[],int II)
{
puts("\nCargue el codigo de un laboratorio y su nombre.\n");
int a=1;
while (a<=II){

scanf("%d",& labb[a].cod_lab),fflush(stdin);
gets(labb[a].nom_lab),fflush(stdin);
a++;
}
}
void carga_estructura_rem(remt remm[],int JJ)
{
puts("\nAhora ingrese codigo de laboratorio, nombre de remedio, codigo de remedio y su\n precio.\n");

int a=1;
while(a<=JJ){

scanf("%d",& remm[a].cod_lab),fflush(stdin);
gets(remm[a].nom_rem),fflush(stdin);
scanf("%d",& remm[a].cod_rem),fflush(stdin);
scanf("%f", & remm[a].precio),fflush(stdin);
a++;
}
}
void carga_estructura_ven(vent ventt[],int KK)
{
puts("\nPor ultimo ingrese codigo de remedio y cantidad vendida.");

int a=1;
while (a<=KK){

scanf("%d",& ventt[a].cod_rem),fflush(stdin);
scanf("%d",& ventt[a].cant_vend),fflush(stdin);
a++;
}
}
/************************************************** **********/
void consulta_precio(remt remm[],int JJ ){
int codigo;
printf("Ingrese un codigo de remedio\n"),scanf("%d",& codigo);
ordenar_arrlego_remedios(&remm,JJ);

printf("%d:",remm[1].cod_rem);


}
/************************************************** ******/
void ordenar_arrlego_remedios(remt *REm[],int jj){
int B=0;
do{
B=0;
int t=1;
while(t<=jj){
if ((*REm[t]).cod_rem >(*REm[t+1]).cod_rem)
{
B=1;

int AUX=(*REm[t]).cod_rem;
(*REm[t]).cod_rem=(*REm[t+1]).cod_rem;
(*REm[t+1]).cod_rem=AUX;

}
t++;
}
}while( B=0);
}

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:52.