Dev - C++ - Ayuda con los vectores (arrays) en c

 
Vista:
sin imagen de perfil

Ayuda con los vectores (arrays) en c

Publicado por Luis (3 intervenciones) el 06/05/2022 02:18:11
Necesito ayuda urgente,este es un programa en donde puedes ingresar el numero de productos ,tambien puedes introducir el nombre y el costo ,el problema sucede cuando quiero que el nombre y el costo se muestren ,utilize un bucle for para que se pueda mostar pero no se imprime nada.Por favor que alguien me ayude.



#include<stdio.h>
#include<locale.h>
int main(){
setlocale(LC_ALL,"");
int opcion;
char producto[100];
float precio[100];
int n,i;


printf("\n1)Ingresar producto");
printf("\n2)Salir: ");
printf("\neliga la opcion: ");
scanf("%d",&opcion);
if(opcion==2){
printf("\nno hay productos");
printf("\n");
while(opcion!=1){
printf("\n1)Ingresar producto");
printf("\n2)Salir: ");
printf("\neliga la opcion: ");
scanf("%d",&opcion);
}
}

printf("numero de productos: ");
scanf("%d",&n);
for(i=0;i<n;i++){
printf("\n ingrese el producto: ");
scanf("%s",producto[i]);
printf("\n ingrese el precio: ");
scanf("%f",precio[i]);
}





printf ("Producto Precio\t\n");
printf ("----------------------------------------------\n");
for(i=0;i<n;i++){
printf("%s %.2f",producto[i],precio[i]);
}






return 0;
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alfil
Val: 4.344
Oro
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Ayuda con los vectores (arrays) en c

Publicado por Alfil (1444 intervenciones) el 06/05/2022 11:23:15
Tienes el mismo problema que en el ejercicio anterior, primero debes agrupar los datos de un mismo producto en un struct (líneas 5 a 9), en las líneas 18 y 19 obtenemos la cantidad máxima de productos que se podrán introducir, y en la línea 21 definimos la variable p del tipo Producto con el tamaño que hemos recogido en la línea 19.

La variable count (línea 16) se encarga de colocar cada nuevo producto en la posición correcta, así como de saber cuantos productos tenemos realmente introducidos.

Faltaría poner una comprobación que se encargue de si hemos llegado al límite de productos máximo, no nos permita introducir más.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#include <stdio.h>
 
using namespace std;
 
struct Producto
{
    char nombre[50];
    float precio;
};
 
void menu();
 
int main()
{
    char opcion;
    int numero, count = 0;
 
    printf("Cantidad Maxima de Productos: ");
    scanf("%d", &numero);
 
    Producto p[numero];
 
    do {
        menu();
        scanf(" %c", &opcion);
 
        switch (opcion)
        {
            case '1':
                printf("\n\nProducto %d:\n\n", count + 1);
                printf("Nombre: "); scanf("%s", p[count].nombre); fflush(stdin);
                printf("Precio: "); scanf("%f", &p[count].precio);
                printf("\n");
                count++;
                break;
 
            case '2':
                printf("\nNombre   Precio\n");
                printf("=================\n");
                for (int i = 0; i < count; i++)
                    printf("%s  %.2f\n", p[i].nombre, p[i].precio);
 
                printf("\n");
                break;
 
            case '3':
                printf("\nFIN DEL PROGRAMA\n\n");
                break;
 
            default:
                printf("\nOPCION NO VALIDA\n\n");
                break;
        }
 
    } while (opcion != '3');
}
 
void menu()
{
    printf("\n\n   MENU PRINCIPAL\n");
    printf("======================\n");
    printf("1.- Ingresar Producto\n");
    printf("2.- Lista de Productos\n");
    printf("3.- Salir\n");
    printf("=======================\n");
    printf("OPCION: ");
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar