C/Visual C - Ayuda en programa basico en C

 
Vista:
Imágen de perfil de Pedro Henriquez

Ayuda en programa basico en C

Publicado por Pedro Henriquez (6 intervenciones) el 28/06/2016 17:50:27
Un saludo a todos¡ y de antemano gracias por la ayuda, el detalle es que realize el siguiente codigo, el cual no arroja ningun error pero a la hora de seleccionar la busqueda por nombre,no imprime en pantalla las valores de la estructura que posee dicho nombre sino otros numeros :( espero puedan ayudarme¡ les dejo en un archivo .rar el codigo, gracias¡
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 Dionicio
Val: 91
Ha mantenido su posición en C/Visual C (en relación al último mes)
Gráfica de C/Visual C

Ayuda en programa basico en C

Publicado por Dionicio (22 intervenciones) el 29/06/2016 14:30:52
El error estaba en que para ingresar la cadena o string nombre usaste
1
scanf("%s"&nombre[30]);
y no es correcto utilizarlo, es mejor usar fgets(cadena,tamaño,entrada) --> Cadena es el nombre de la variable, tamaño es el tamaño que tiene y entrada(puede ser de un fichero pero como es por el teclado utilizar stdin).

Espero ser de ayuda.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Pedro

Ayuda en programa basico en C

Publicado por Pedro (6 intervenciones) el 30/06/2016 13:36:36
gracias por la ayuda¡ lo intentare asi a ver amigo
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
Imágen de perfil de Pedro

Ayuda en programa basico en C

Publicado por Pedro (6 intervenciones) el 30/06/2016 13:41:43
bien al usar fgets el programa se sale solo amigo u.u porque?
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

Ayuda en programa basico en C

Publicado por dario (13 intervenciones) el 29/06/2016 15:43:48
Tu programa sin funciones.
Y corre bien.

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
#include <stdio.h>
#include <string.h>
 
struct productos {
    int codigo;
	char nombre[30];
	int precio;
	int cantidad;
};
 
int main(){
    struct productos stock[2];
    int i,opcion,buscaCodigo;
    char buscaNombre[30];
 
    //ingreso de datos
    for (i=0; i<2; i++) {
        printf("Producto # %d \n",i+1);
        printf("Ingrese codigo: "); scanf("%d",&stock[i].codigo);
        printf("Ingrese nombre: "); scanf("%s",stock[i].nombre);
        printf("Ingrese precio: "); scanf("%d",&stock[i].precio);
        printf("Ingrese cantidad: "); scanf("%d",&stock[i].cantidad);
        printf("\n");
    }
 
    do {
        printf("1. Busca producto por codigo\n");
        printf("2. Busca producto por nombre\n");
        printf("3. Salir\n");
        printf("Seleccione opcion: ");
        scanf("%d",&opcion);
 
        switch (opcion) {
            case 1:
                printf("Ingrese codigo a buscar: "); scanf("%d",&buscaCodigo);
                for (i=0; i<2; i++) {
                    if (buscaCodigo == stock[i].codigo) {
                        printf("Nombre del producto: %s\n",stock[i].nombre);
                        printf("Cantidad del producto: %d\n",stock[i].cantidad);
                        printf("Precio del producto: %d\n",stock[i].precio);
                    }
                }
                break;
            case 2:
                printf("Ingrese nombre a buscar: "); scanf("%s",buscaNombre);
                for (i=0; i<2; i++) {
                    if(strcmp(buscaNombre,stock[i].nombre)==0) {
                        printf("Nombre del producto: %s\n",stock[i].nombre);
                        printf("Cantidad del producto: %d\n",stock[i].cantidad);
                        printf("Precio del producto: %d\n",stock[i].precio);
                    }
                }
                break;
        }
 
    } while (opcion < 3);
 
    return 0;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
Imágen de perfil de Pedro

Ayuda en programa basico en C

Publicado por Pedro (6 intervenciones) el 30/06/2016 13:37:34
ciertoo corre bien amigo,gracias tambien por tu ayuda¡
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