Inicio
Buscar
Ingresar
Registrarse
Starfield: el juego que revolucionará el espacio y la tecnología
Hack x Crack - Comunidad de Seguridad informática
»
Programación
»
C / C++
»
Condicional para saber si una matriz o vector esta llena
Imprimir
Páginas: [
1
]
Ir Abajo
Autor
Tema: Condicional para saber si una matriz o vector esta llena (Leído 6996 veces)
WolfkanVZLA
{ L0 } Ñuub
Mensajes: 4
Condicional para saber si una matriz o vector esta llena
«
en:
Mayo 17, 2016, 01:53:09 am »
Hola buenas noches he buscado en internet este condicional y esta para otros lenguajes no se como sera en C y estoy parado por eso y tengo que entregar este proyecto mañana, la idea es la siguiente tengo un menu
do{
printf("\nBienvenido al sistema de datos de Supermercado \n\n");
printf("1)Ingresar lista de articulos con su codigo, precio y cantidad\n");
printf("2)Cajero 1\n");
printf("3)Cajero 2\n");
printf("4)Cajero 3\n");
printf("5)Cajero 4\n");
printf("6)Cajero 5\n");
printf("7)Ventas Mensuales por Cajero\n");
printf("8)Ventas Mensuales por Producto\n");
printf("9)Mes de Mayor y Menor cantidad de ventas por Cajero\n");
printf("10)Promedio Anual de Ventas por Cajero\n");
printf("El promedio anual de ventas por Cajero\n");
printf("11)Promedio Anual de Ventas por Productos\n");//Falta
printf("12)Total de Ventas Anual\n");//Falta
printf("13)Cajero que obtiene mayor ventas en un año\n");
printf("14)Producto mas vendido cada mes del Año\n");
printf("15)El Producto mas vendido en un año\n");
printf("16)Lista de Productos en orden alfabetico\n");//Falta
printf("17)Salir\n\n");
scanf("%d", &opc);
lo que quiero es que el usuario no entre en las opciones mas abajo del 7 ya que primero tiene que llenar la caja registradora todas.... entonces seria que si no se cumple la condición imprima que no se puede calcular ya que no ha llenado todos los cajeros..
Las Var son estas cajaregistradora1[12][20], cajaregistradora2[12][20], cajaregistradora3[12][20], cajaregistradora4[12][20], cajaregistradora5[12][20]; esas estan en cajero 1 cajero 2 cajero 3 que se ven en el menu..
si el usuario presiona 7 etc sin llenar las cajas registradora primero solo imprimira basura.....
El case 7 comienza asi comenzando es donde iría el if
case 7:
//7)Imprimir las ventas Mensuales por cajero
//Cajero1
//Suma de las ventas Mensuales del cajero1
printf("Cajero1");
printf("\n______________________________________\n");
for(i=0;i<12;i++){
sumaMesesCajaregistradora1=0;
for(j=0;j<20;j++){
sumaMesesCajaregistradora1 = cajaregistradora1
[j];
mesesCajaregistradora1
+= sumaMesesCajaregistradora1;
}
bueno espero que me entiendan, si alguien esta interesado en el codigo o informacion me pueden decir gracias
En línea
ravenheart
{ L7 } Juanker
Mensajes: 1359
Todos mis mensajes están bajo la licencia WTFPL v2
Re:Condicional para saber si una matriz o vector esta llena
«
Respuesta #1 en:
Mayo 17, 2016, 03:17:56 pm »
En C y C++ no existe esa comprobación, lo tienes que hacer tú. Tendrás que guardar un flag que indique si cada cajero se ha rellenado ya y comprobar si todos los flags son verdaderos.
En línea
You do not need hope if you have drama to back you up.
tucho
{ L0 } Ñuub
Mensajes: 1
Re:Condicional para saber si una matriz o vector esta llena
«
Respuesta #2 en:
Mayo 18, 2016, 12:30:50 am »
Podes hacer como dice ravenheart, lo que yo en particular haria es hacer una funcion que corrobore si esta lleno, por ejemplo inicializar todos los cajaregistradoraN[12][20] en 0 (Esto ademas evita que imprima basura), y cuando queres hacer alguna opción superior a 7), que se fije si algún elementos de alguna caja esta en 0 (asumiendo que no podes vender 0 por mes).
algo simple, tipo:
Código: C
int
empty
(
int
**
caja
)
{
int
i
,
j
,
k
=
0
;
for
(
j
=
0
;
j
<
12
;
j
++
)
for
(
i
=
0
;
i
<
20
;
i
++
)
if
(
caja
[
j
]
[
i
]
==
0
)
return
1
;
return
0
;
}
y despues en tu: case 7 pones algo tipo if(empy(cajaregistradora1)) printf("te falta llenar la caja registradora 1\n");
Estoy suponiendo que tienen que estar llenas si o si todas las cajas y si o si todos los meses y si o si todos los dias (supongo que el 20 es por los dias).
Tambien podrias hacerlo mas comprensivo al programa y que si la caja esta vacia te imprima que no tiene nada y vuelva a la opciones, o que te imprima sólo los dias que tiene lleno o los meses que tiene lleno.
Si lo que queres que ver que no esté completamente vacio podes hacer una funcion que haga:
Código: C
int
empty
(
int
**
caja
)
{
int
i
,
j
,
k
=
0
;
for
(
j
=
0
;
j
<
12
;
j
++
)
for
(
i
=
0
;
i
<
20
;
i
++
)
if
(
caja
[
j
]
[
i
]
)
k
++;
return
k
;
}
PD: no se si lo que pusiste es un copy and paste de tu codigo, pero por las dudas, cuando haces:
Citar
sumaMesesCajaregistradora1 = cajaregistradora1[j];
tene cuidado que cajaregistradora1 es una matriz, en ese for, seria: cajaregistrdora1
[j]
Saludos. Espero ser de ayuda.
En línea
Imprimir
Páginas: [
1
]
Ir Arriba
Hack x Crack - Comunidad de Seguridad informática
»
Programación
»
C / C++
»
Condicional para saber si una matriz o vector esta llena
Va un mudo y le dice a un sordo: Hack x Crack usa cookies. Pues eso...
OK
Learn more