Alguien me ayuda con el codigo, por q no me anda el if nose por que!!! >:(
Estoy haciendo funciones pero primero necesito q funcione esta parte para seguir!
Gracias!
#include <stdio.h>
#include <stdlib.h>
void Listado(char palabra[6], float n1,int n2);
int main()
{
int n2;
float n1;
char prod3[6]="prod3";
char prod2[6]="prod2";
char prod1[6]="prod1";
char palabra[6];
printf("Ingrese nombre del producto:");
fgets(palabra,6,stdin);
printf("Ingrese precio unitario:");
scanf("%f",&n1);
printf("Ingrese cantidad necesitada:");
scanf("%d",&n2);
if(palabra==prod1)
{printf("%s\n",prod1);}
else if(pala == prod2)
{printf("%s\n",prod2);}
else if(pala == prod3)
{printf("%s\n",prod3);}
else
{printf("negative\n");}
printf("\t| Producto: | Cantidad: | P.unitario | Descuento: | Subtotal: |\n");
printf("\t| %s | %d | %0.2f | | |\n",palabra,n2,n1);
}
if(palabra==prod1)
{printf("%s\n",prod1);}
else if(pala == prod2)
{printf("%s\n",prod2);}
else if(pala == prod3)
{printf("%s\n",prod3);}
else
{printf("negative\n");}
Pues en primer lugar, no debería ser palabra en lugar de pala? en segundo lugar, si estás en C las comparaciones de cadenas se deben hacer mediante strcmp. Si estás en linux consulta esa función desde la consola con el comando man strcmp, si no aquí tienes una descripción:
http://www.cplusplus.com/reference/clibrary/cstring/strcmp/
Saludos.
Tambien podrias emular a la funcion strcmp con punteros,asi te valdria tanto para windows como para linux creo :xD Si quieres avisame y te paso el code que he hecho para ver si te sirve.
Salu2
lo solucione de la siguiente manera, esta bien no?
de funcionar funcion! :D
if(strcmp(palabra,prod1)==0)
{printf("%s\n",prod1);}
else if(strcmp(palabra,prod2)==0)
{printf("%s\n",prod2);}
else if(strcmp(palabra,prod3)==0)
{printf("%s\n",prod3);}
else
{printf("negative\n");}