Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - josueroddy

#1
Buenas amigos del foro, no estoy seguro si el titulo de mi pregunta es correcta pero procedo a explicar
Soy nuevo en la programación y me mandaron un proyecto de hacer un inventario en C con un limite de 10 artículos, ya tengo hecho una parte, mi problema surge cuando quiero ver el inventario, el programa si lee las opciones ingresadas por el usuario, pero si solo ingreso un elemento, al momento de ver el inventario aparece ese elemento pero también sale los otros que aun no se les ha asignado valor representados con caracteres aleatorios
Quisiera saber si hay una manera de condicionar la cadena a que no muestre nada si el usuario no lo ha escrito


#include <stdio.h>
#include <string.h>


int main(){
    int p, j;
    int producto[10];
char items [10] [100];
float precio[10];
int cantidad [10];
int opc, mostrar=0, id=0;


j=10;

do{
for (p=0;p<j;p++){

printf("Bienvenido al inventario\n");
printf("Escoga de las siguientes opciones\n");
printf("1. Crear elemento\n2. Eliminar elemento\n3. Modificar elemento\n4. Ver inventario\n5. Cerrar\n");
scanf("%d", &opc);

switch(opc){

case 1:
system("cls");
printf("Inserte nombre del producto %d\n", p+1, producto[p]);
scanf("%s", &items[p]);

printf("Inserte precio del producto %d\n", p+1, producto[p]);
scanf("%f", &precio[p]);
printf("Inserte la cantidad del producto %d\n", p+1, producto[p]);
scanf("%d", &cantidad[p]);

printf("¿Desea ir al menu?\n1. Si\n2. No\n");
scanf("%d", &opc);

switch (opc){
case 1:
system("cls");
mostrar=0;

break;

case 2:
system("cls");
printf("Gracias por usar nuestro programa\n");
mostrar=1;

return 0;

break;

default:
system("cls");
printf("No existe esta opcion");
mostrar=1;

return 0;
break;

}

break;

case 4:

for (p=0;p<j;p++){

memset(items, 0, 100);


printf("%d.\t%s\t%.2f\t%d\t\n",p+1, items[p], precio[p], cantidad[p]);


mostrar=0;

}

break;

}

}

}while (mostrar==0);

return 0;
}


Puse solo el case 1 y case 4 para verificar como estaba funcionando por si acaso
Cualquier sugerencia sera bien recibida, gracias