Buen día. Estoy estudiando programación, apenas iniciando.
Nos pidieron un programa donde usemos struct. Consultando ejemplos hice un programa, pero no compila. Me marca errores en la linea final. La verdad no se donde esta el problema. Los errores y el codigo completo abajo. ¿Podrían ayudarme para que el programa compile? Gracias por adelantado.
Errores:
error: expected `while' at end of input
error: expected `(' at end of input
error: expected primary-expression at end of input
error: expected `)' at end of input
error: expected `;' at end of input
error: expected `}' at end of input
Codigo:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
main(){
struct prod{
char nomProd[30];
char fecha[10];
char categoria[20];
float costo;
float pVenta;
} prod[50];
int cv=0, opc, clave; /*Arreglo de tipo estructura*/
do{
printf ("Abarrotes Bel-Yes - Registro de Productos \n\n");
printf ("Opciones \n");
printf ("1) Registrar producto \n");
printf ("2) Buscar prudcto \n");
printf ("3) Salir \n\n");
printf ("Elige una opcion");
scanf ("%d", &opc);
switch (opc){ /*Opciones*/
case 1: /*Entrada de datos del producto*/
if (cv>=50)
printf ("No hay espacio para mas productos en el abarrotes \n");
else {
printf ("Ingresa los datos del producto \n");
printf ("Clave %d \n", cv);
printf ("Nombre del Producto: ");
fflush (stdin);
gets (prod[cv].nomProd);
printf ("Fecha de Entrada: [dd/mm/aa]");
gets (prod[cv].fecha);
printf ("Categoria del Producto: ");
gets (prod[cv].categoria);
printf ("Costo del Producto: ");
scanf ("%f", &prod[cv].costo);
cv=cv+1;
}
break;
case 2: /*Busqueda de producto por clave*/
printf ("introduzca la clave a buscar \n");
scanf ("%d", &clave);
while (clave<0 || clave>=50){
printf ("Nombre del Producto: %s \n", prod[clave].nomProd);
printf ("Fecha de Entrada: %s \n", prod[clave].fecha);
printf ("Categoria: %s \n", prod[clave].categoria);
printf ("Costo del Producto: %f \n", prod[clave].costo);
break;
case 3:
break;
default:
printf ("Esa es una opcion invalida \n");
break;
system("pause");
}
}while (opc!='3');
}
Nos pidieron un programa donde usemos struct. Consultando ejemplos hice un programa, pero no compila. Me marca errores en la linea final. La verdad no se donde esta el problema. Los errores y el codigo completo abajo. ¿Podrían ayudarme para que el programa compile? Gracias por adelantado.
Errores:
error: expected `while' at end of input
error: expected `(' at end of input
error: expected primary-expression at end of input
error: expected `)' at end of input
error: expected `;' at end of input
error: expected `}' at end of input
Codigo:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
main(){
struct prod{
char nomProd[30];
char fecha[10];
char categoria[20];
float costo;
float pVenta;
} prod[50];
int cv=0, opc, clave; /*Arreglo de tipo estructura*/
do{
printf ("Abarrotes Bel-Yes - Registro de Productos \n\n");
printf ("Opciones \n");
printf ("1) Registrar producto \n");
printf ("2) Buscar prudcto \n");
printf ("3) Salir \n\n");
printf ("Elige una opcion");
scanf ("%d", &opc);
switch (opc){ /*Opciones*/
case 1: /*Entrada de datos del producto*/
if (cv>=50)
printf ("No hay espacio para mas productos en el abarrotes \n");
else {
printf ("Ingresa los datos del producto \n");
printf ("Clave %d \n", cv);
printf ("Nombre del Producto: ");
fflush (stdin);
gets (prod[cv].nomProd);
printf ("Fecha de Entrada: [dd/mm/aa]");
gets (prod[cv].fecha);
printf ("Categoria del Producto: ");
gets (prod[cv].categoria);
printf ("Costo del Producto: ");
scanf ("%f", &prod[cv].costo);
cv=cv+1;
}
break;
case 2: /*Busqueda de producto por clave*/
printf ("introduzca la clave a buscar \n");
scanf ("%d", &clave);
while (clave<0 || clave>=50){
printf ("Nombre del Producto: %s \n", prod[clave].nomProd);
printf ("Fecha de Entrada: %s \n", prod[clave].fecha);
printf ("Categoria: %s \n", prod[clave].categoria);
printf ("Costo del Producto: %f \n", prod[clave].costo);
break;
case 3:
break;
default:
printf ("Esa es una opcion invalida \n");
break;
system("pause");
}
}while (opc!='3');
}