Ayuda en lenguaje c con funciones

Iniciado por Roga, 20 Junio 2017, 17:23 PM

0 Miembros y 1 Visitante están viendo este tema.

Roga

Buenas :D foro. estoy aprendiendo lenguaje c por mi cuenta y consegui una guia de ejercicios y me consegui este ejercicio.

Una tienda de mascotas desea un programa para guardar los nombre en un vector, la cantidad en otro y el valor en otro, además que imprima la relación de los animales,
la cantidad total, el costo de todos los animales y su valor promedio, que animal es más costoso y cual es más barato.

lo prosegui a hacer el codigo pero quiero que si se coloca un nombre que ya se introdujo entre en un while para que lo cambie, ademas que tengo que guardarlo por caracteristicas(anfibio,pez,etc).  Entonces tengo inconvenientes con el codigo de comparacion de nombres y no e pensado nada para lo de las caracteristicas.

Notese hasta hora se la biblioteca stdio.h y realloc y malloc de stdlib.h aqui el codigo:

/*Una tienda de mascotas desea un programa para guardar los nombre en un vector, la cantidad en otro y el valor en otro, además que imprima la relación de los animales,
la cantidad total, el costo de todos los animales y su valor promedio, que animal es más costoso y cual es más barato.*/
#include <stdio.h>
#include <stdlib.h>
char funcion_nombres(char nombres[],int contador);
int main(){
char nombres[100][20],*nombres_valido[100][30],*nombre_mas_caro[20],*nombre_mas_barato[20],decision;
int *cantidad_animal=malloc(sizeof(int)*100);
int *valor_animal=malloc(sizeof(int)*100);
int total,costo_total,mas_caro=0,mas_barato=0,contador=0;
char verificar_nombres;
float promedio;
char resp;
int insecto=0,peces=0,anfibio=0,reptil=0,mamifero=0,ave=0;
do{
printf("\nIngrese el nombre del animal:");
scanf("%s",&nombres[contador]);
verificar_nombres=funcion_nombres(*nombres,contador);
while(verificar_nombres=='i'){
printf("\nLo siento animal ya registrado. Ingrese otro animal.\nIngrese el nombre del animal:");
scanf("%s",&nombres[contador]);
printf("\n%s",nombres[contador]);
verificar_nombres=funcion_nombres(*nombres,contador);
}
*nombres_valido[contador]=nombres[contador];
printf("\nCuantos animales hay?:");
scanf("%d",&cantidad_animal[contador]);
while(cantidad_animal[contador]<=0){
printf("\nCantidad debe ser mayor a 0.\nCuantos animales hay?:");
scanf("%d",&cantidad_animal[contador]);
}
printf("\nPrecio del animal:");
scanf("%d",&valor_animal[contador]);
while(valor_animal[contador]<0){
printf("\nValor animal debe ser igual o mayor a 0.\nPrecio del animal:");
scanf("%d",&valor_animal[contador]);
}
do{
printf("\nTipo de animal:\n1.-Insecto\n2.-Pez\n3.-Anfibio\n4.-Reptil\n5.-Mamifero\n6.-Ave\nElige ahora:");
scanf("%d",&decision);
switch(decision){
case 1:insecto++;
break;
case 2:peces++;
break;
case 3:anfibio++;
break;
case 4:reptil++;
break;
case 5:mamifero++;
break;
case 6:ave++;
break;
default:printf("El valor no es correcto\n");
}
}while(decision>6);
total=+cantidad_animal[contador];
costo_total=+valor_animal[contador];
if(valor_animal[contador]>mas_caro){
mas_caro=valor_animal[contador];
*nombre_mas_caro=nombres[contador];
}
if(valor_animal[contador]<mas_barato){
mas_barato=valor_animal[contador];
*nombre_mas_barato=nombres[contador];
}
printf("\nDesea ingresar otro animal?(S/N):");
fflush(stdin);
scanf("%c",&resp);
printf("\n%s",*nombres_valido[contador]);
contador++;
#ifdef WIN32
system("cls");
#endif
#ifdef LINUX
system("clear");
#endif

}while(resp!='n'&&resp!='N');
//procedimiento
promedio=costo_total/contador;
//realloc cantidad_animal
cantidad_animal=(int *)realloc(cantidad_animal,total*sizeof(int));
//realloc *valor_animal
valor_animal=(int *)realloc(valor_animal,costo_total*sizeof(int));
system("pause");
return 0;
}

char funcion_nombres(char nombres[],int contador){
int vector;
char resp;
for(vector=0;vector<contador;vector++){
if(nombres[contador]==nombres[vector]){
resp='i';
}
else{
resp='d';
}
}
return(resp);
}


Me pueden decir donde hay errores de syntaxis y que biblioteca podria incluir. de antemano gracias

PalitroqueZ

¿y no has compilado el código?

¿qué errores te arroja?

"La Economía planificada lleva de un modo gradual pero seguro a la economía dirigida, a la economía autoritaria y al totalitarismo" Ludwig Erhard

Roga

Ya compile pero voy por pasos y no me funciona la funcion que compara los nombres.

MAFUS

Es imposible que la función te funcione. Cómo se suele decir intenta explicar el código a tu abuela. Tú mismo te indicarás los fallos.

Roga

Ya logre lo de los nombres.
//Anunciado del ejercicio.
/*Una tienda de mascotas desea un programa para guardar los nombre en un vector, la cantidad en otro y el valor en otro, además que imprima la relación de los animales,
la cantidad total, el costo de todos los animales y su valor promedio, que animal es más costoso y cual es más barato.*/

//librerias a usar
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// Prototipo de la funcion
int funcion_nombres(char nombres[][20],char nombres_valido[][20],int contador);
//funcion main
int main(){
//Declaracion de variable
char nombres[100][20],nombres_valido[100][20],nombre_mas_caro[20],nombre_mas_barato[20],decision;
int cantidad_animal;
int valor_animal;
int total,costo_total,mas_caro=0,mas_barato=0,contador=0;
int verificar_nombres;
float promedio;
char resp;
int insecto=0,peces=0,anfibio=0,reptil=0,mamifero=0,ave=0;
do{
printf("\nIngrese el nombre del animal:");
scanf("%s",&nombres[contador]);
if(contador>0){
verificar_nombres=funcion_nombres(nombres,nombres_valido,contador);
while(verificar_nombres==0){
printf("\nLo siento animal ya registrado. Ingrese otro animal.\nIngrese el nombre del animal:");
scanf("%s",&nombres[contador]);
verificar_nombres=funcion_nombres(nombres,nombres_valido,contador);
}
}
strcpy(nombres_valido[contador],nombres[contador]);
printf("\nCuantos animales hay?:");
scanf("%d",&cantidad_animal);
while(cantidad_animal<=0){
printf("\nCantidad debe ser mayor a 0.\nCuantos animales hay?:");
scanf("%d",&cantidad_animal);
}
printf("\nPrecio del animal:");
scanf("%d",&valor_animal);
while(valor_animal<0){
printf("\nValor animal debe ser igual o mayor a 0.\nPrecio del animal:");
scanf("%d",&valor_animal);
}
do{
printf("\nTipo de animal:\n1.-Insecto\n2.-Pez\n3.-Anfibio\n4.-Reptil\n5.-Mamifero\n6.-Ave\nElige ahora:");
scanf("%d",&decision);
switch(decision){
case 1:insecto++;
break;
case 2:peces++;
break;
case 3:anfibio++;
break;
case 4:reptil++;
break;
case 5:mamifero++;
break;
case 6:ave++;
break;
default:printf("El valor no es correcto\n");
}
}while(decision>6);
total=+cantidad_animal;
costo_total=+valor_animal;
if(valor_animal>mas_caro){
mas_caro=valor_animal;
strcpy(nombre_mas_caro,nombres[contador]);
}
if(valor_animal<mas_barato){
mas_barato=valor_animal;
strcpy(nombre_mas_barato,nombres[contador]);
}
printf("\nDesea ingresar otro animal?(S/N):");
fflush(stdin);
scanf("%c",&resp);
contador++;
#ifdef WIN32
system("cls");
#endif
#ifdef LINUX
system("clear");
#endif
}while(resp!='n'&&resp!='N');
//procedimiento
promedio=costo_total/contador;
system("pause");
return 0;
}

int funcion_nombres(char nombres[][20],char nombres_valido[][20],int contador){
int resp,vector;
for(vector=0;vector<contador;vector++){
if (strcmp(nombres[contador],nombres_valido[vector])==0){
    resp=0;
    return resp;
  }
  else{
  resp=1;
}
}
return resp;


Roga

Listo :D. gracias por nada XD dejo por aqui el codigo por si alguien tiene algun incoveniente parecido.
/*Una tienda de mascotas desea un programa para guardar los nombre en un vector, la cantidad en otro y el valor en otro, además que
imprima la relación de los animales, la cantidad total, el costo de todos los animales y su valor promedio, que animal es más
costoso y cual es más barato.*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void salir();
void programa();
void imprimir(int insecto,char nombres_insecto[][20],int cantidad_animal_insecto[],float valor_animal_insecto[],int peces,char nombres_peces[][20],int cantidad_animal_peces[],float valor_animal_peces[],int anfibio,char nombres_anfibio[][20],int cantidad_animal_anfibio[],float valor_animal_anfibio[],int reptil,char nombres_reptil[][20],int cantidad_animal_reptil[],float valor_animal_reptil[],int mamifero,char nombres_mamifero[][20],int cantidad_animal_mamifero[],float valor_animal_mamifero[],int ave,char nombres_ave[][20],int cantidad_animal_ave[],float valor_animal_ave[],int otros,char nombres_otros[][20],int cantidad_animal_otros[],float valor_animal_otros[],int total,float costo_total,char nombre_mas_barato[],int mas_barato,char nombre_mas_caro[],int mas_caro,float promedio);
void imprimir_todo(int insecto,char nombres_insecto[][20],int cantidad_animal_insecto[],float valor_animal_insecto[],int peces,char nombres_peces[][20],int cantidad_animal_peces[],float valor_animal_peces[],int anfibio,char nombres_anfibio[][20],int cantidad_animal_anfibio[],float valor_animal_anfibio[],int reptil,char nombres_reptil[][20],int cantidad_animal_reptil[],float valor_animal_reptil[],int mamifero,char nombres_mamifero[][20],int cantidad_animal_mamifero[],float valor_animal_mamifero[],int ave,char nombres_ave[][20],int cantidad_animal_ave[],float valor_animal_ave[],int otros,char nombres_otros[][20],int cantidad_animal_otros[],float valor_animal_otros[],int total,float costo_total,char nombre_mas_barato[],int mas_barato,char nombre_mas_caro[],int mas_caro,float promedio);
void imprimir_insecto(int insecto,char nombres_insecto[][20],int cantidad_animal_insecto[],float valor_animal_insecto[]);
void imprimir_peces(int peces,char nombres_peces[][20],int cantidad_animal_peces[],float valor_animal_peces[]);
void imprimir_anfibio(int anfibio,char nombres_anfibio[][20],int cantidad_animal_anfibio[],float valor_animal_anfibio[]);
void imprimir_reptil(int reptil,char nombres_reptil[][20],int cantidad_animal_reptil[],float valor_animal_reptil[]);
void imprimir_mamifero(int mamifero,char nombres_mamifero[][20],int cantidad_animal_mamifero[],float valor_animal_mamifero[]);
void imprimir_ave(int ave,char nombres_ave[][20],int cantidad_animal_ave[],float valor_animal_ave[]);
void imprimir_otros(int otros,char nombres_otros[][20],int cantidad_animal_otros[],float valor_animal_otros[]);
void opciones_avanzadas(int total,float costo_total,char nombre_mas_barato[],int mas_barato,char nombre_mas_caro[],int mas_caro,float promedio);
int main(){
int inicio;
printf("Programa para Inventario de Tienda de mascota.");
printf("\n\n1.-Ingresar en el programa.\n\n2.-Salir.\n\nIngrese su opcion ahora:");
scanf("%d",&inicio);
while(inicio>2){
#ifdef WIN32
system("cls");
#endif
#ifdef LINUX
system("clear");
#endif
printf("Programa para Inventario de Tienda de mascota.");
printf("\nValor invalido. Intente de nuevo.\n\n1.-Ingresar en el programa.\n\n2.-Salir.\n\nIngrese su opcion ahora:");
scanf("%d",&inicio);
}
#ifdef WIN32
system("cls");
#endif
#ifdef LINUX
system("clear");
#endif
if(inicio==1){
programa();
}
if(inicio==2){
salir();
}
printf("\n\n");
system("pause");
return 0;
}
void programa(){
int cantidad_animal=0;
int total=0,mas_caro,mas_barato,contador=0,verificar_nombres,vector;
int insecto=0,peces=0,anfibio=0,reptil=0,mamifero=0,ave=0,otros=0,decision;
int *cantidad_animal_insecto=malloc(sizeof(int)*100);
int *cantidad_animal_peces=malloc(sizeof(int)*100);
int *cantidad_animal_reptil=malloc(sizeof(int)*100);
int *cantidad_animal_mamifero=malloc(sizeof(int)*100);
int *cantidad_animal_ave=malloc(sizeof(int)*100);
int *cantidad_animal_anfibio=malloc(sizeof(int)*100);
int *cantidad_animal_otros=malloc(sizeof(int)*100);
float *valor_animal_otros=malloc(sizeof(float)*100);
float *valor_animal_insecto=malloc(sizeof(float)*100);
float *valor_animal_peces=malloc(sizeof(float)*100);
float *valor_animal_reptil=malloc(sizeof(float)*100);
float *valor_animal_mamifero=malloc(sizeof(float)*100);
float *valor_animal_ave=malloc(sizeof(float)*100);
float *valor_animal_anfibio=malloc(sizeof(float)*100);
float promedio,valor_animal=0,costo_total=0;
char nombres[20],nombres_valido[100][20],nombre_mas_caro[20],nombre_mas_barato[20];
char nombres_insecto[100][20];
char nombres_peces[100][20];
char nombres_reptil[100][20];
char nombres_mamifero[100][20];
char nombres_ave[100][20];
char nombres_otros[100][20];
char nombres_anfibio[100][20];
char resp;
do{
printf("Programa para Inventario de Tienda de mascota.");
printf("\nIngrese el nombre del animal:");
scanf("%s",&nombres);
if(contador>0){
verificar_nombres=funcion_nombres(nombres,nombres_valido,contador);
while(verificar_nombres==0){
printf("\nLo siento animal ya registrado. Ingrese otro animal.\nIngrese el nombre del animal:");
scanf("%s",&nombres);
verificar_nombres=funcion_nombres(nombres,nombres_valido,contador);
}
}
strcpy(nombres_valido[contador],nombres);
printf("\nCuantos animales hay?:");
scanf("%d",&cantidad_animal);
while(cantidad_animal<=0){
printf("\nCantidad debe ser mayor a 0.\nCuantos animales hay?:");
scanf("%d",&cantidad_animal);
}
printf("\nPrecio del animal:");
scanf("%f",&valor_animal);
while(valor_animal<0){
printf("\nValor animal debe ser igual o mayor a 0.\nPrecio del animal:");
scanf("%f",&valor_animal);
}
do{
printf("\nTipo de animal:\n1.-Insecto\n2.-Pez\n3.-Anfibio\n4.-Reptil\n5.-Mamifero\n6.-Ave\n7.-Otros\nElige ahora:");
scanf("%d",&decision);
switch(decision){
case 1:strcpy(nombres_insecto[insecto],nombres_valido[contador]);cantidad_animal_insecto[insecto]=cantidad_animal;
valor_animal_insecto[insecto]=valor_animal;insecto++;
break;
case 2:strcpy(nombres_peces[peces],nombres_valido[contador]);cantidad_animal_peces[peces]=cantidad_animal;
valor_animal_peces[peces]=valor_animal;peces++;
break;
case 3:strcpy(nombres_anfibio[anfibio],nombres_valido[contador]);cantidad_animal_anfibio[anfibio]=cantidad_animal;
valor_animal_anfibio[anfibio]=valor_animal;anfibio++;
break;
case 4:strcpy(nombres_reptil[reptil],nombres_valido[contador]);cantidad_animal_reptil[reptil]=cantidad_animal;
valor_animal_reptil[reptil]=valor_animal;reptil++;
break;
case 5:strcpy(nombres_mamifero[mamifero],nombres_valido[contador]);cantidad_animal_mamifero[mamifero]=cantidad_animal;
valor_animal_mamifero[mamifero]=valor_animal;mamifero++;
break;
case 6:strcpy(nombres_ave[ave],nombres_valido[contador]);cantidad_animal_ave[ave]=cantidad_animal;
valor_animal_ave[ave]=valor_animal;ave++;
break;
case 7:strcpy(nombres_otros[otros],nombres_valido[contador]);cantidad_animal_otros[otros]=cantidad_animal;
valor_animal_otros[otros]=valor_animal;otros++;
break;
default:printf("El valor no es correcto\n");
}
}while(decision>7);
if(valor_animal>mas_caro||contador==0){
mas_caro=valor_animal;
strcpy(nombre_mas_caro,nombres);
}
if(valor_animal<mas_barato||contador==0){
mas_barato=valor_animal;
strcpy(nombre_mas_barato,nombres);
}
total=total+cantidad_animal;
costo_total=costo_total+valor_animal;
printf("\nDesea ingresar otro animal?(S/N):");
fflush(stdin);
scanf("%c",&resp);
contador++;
#ifdef WIN32
system("cls");
#endif
#ifdef LINUX
system("clear");
#endif
}while(resp!='n'&&resp!='N');
//realloc
cantidad_animal_insecto=(int *)realloc(cantidad_animal_insecto,insecto*sizeof(int));
cantidad_animal_peces=(int *)realloc(cantidad_animal_peces,peces*sizeof(int));
cantidad_animal_reptil=(int *)realloc(cantidad_animal_reptil,reptil*sizeof(int));
cantidad_animal_mamifero=(int *)realloc(cantidad_animal_mamifero,mamifero*sizeof(int));
cantidad_animal_ave=(int *)realloc(cantidad_animal_ave,ave*sizeof(int));
cantidad_animal_anfibio=(int *)realloc(cantidad_animal_anfibio,anfibio*sizeof(int));
cantidad_animal_otros=(int *)realloc(cantidad_animal_otros,otros*sizeof(int));
valor_animal_otros=(float *)realloc(valor_animal_otros,otros*sizeof(float));
valor_animal_insecto=(float *)realloc(valor_animal_insecto,insecto*sizeof(float));
valor_animal_peces=(float *)realloc(valor_animal_peces,peces*sizeof(float));
valor_animal_reptil=(float *)realloc(valor_animal_reptil,reptil*sizeof(float));
valor_animal_mamifero=(float *)realloc(valor_animal_mamifero,mamifero*sizeof(float));
valor_animal_ave=(float *)realloc(valor_animal_ave,ave*sizeof(float));
valor_animal_anfibio=(float *)realloc(valor_animal_anfibio,anfibio*sizeof(float));
//procedimiento
promedio=costo_total/contador;
imprimir(insecto,nombres_insecto,cantidad_animal_insecto,valor_animal_insecto,peces,nombres_peces,cantidad_animal_peces,valor_animal_peces,anfibio,nombres_anfibio,cantidad_animal_anfibio,valor_animal_anfibio,reptil,nombres_reptil,cantidad_animal_reptil,valor_animal_reptil,mamifero,nombres_mamifero,cantidad_animal_mamifero,valor_animal_mamifero,ave,nombres_ave,cantidad_animal_ave,valor_animal_ave,otros,nombres_otros,cantidad_animal_otros,valor_animal_otros,total,costo_total,nombre_mas_barato,mas_barato,nombre_mas_caro,mas_caro,promedio);
}
void salir(){
printf("\n\nPrograma finalizado.\nHasta luego.");
}
int funcion_nombres(char nombres[],char nombres_valido[][20],int contador){
int resp,vector;
for(vector=0;vector<contador;vector++){
if (strcmp(nombres,nombres_valido[vector])==0){
    resp=0;
    return resp;
  }
  else{
  resp=1;
}
}
return resp;
}
void imprimir_todo(int insecto,char nombres_insecto[][20],int cantidad_animal_insecto[],float valor_animal_insecto[],int peces,char nombres_peces[][20],int cantidad_animal_peces[],float valor_animal_peces[],int anfibio,char nombres_anfibio[][20],int cantidad_animal_anfibio[],float valor_animal_anfibio[],int reptil,char nombres_reptil[][20],int cantidad_animal_reptil[],float valor_animal_reptil[],int mamifero,char nombres_mamifero[][20],int cantidad_animal_mamifero[],float valor_animal_mamifero[],int ave,char nombres_ave[][20],int cantidad_animal_ave[],float valor_animal_ave[],int otros,char nombres_otros[][20],int cantidad_animal_otros[],float valor_animal_otros[],int total,float costo_total,char nombre_mas_barato[],int mas_barato,char nombre_mas_caro[],int mas_caro,float promedio){
int opciones,vector;
printf("Inventario de animales\n");
if(insecto>0){
printf("\nInsectos");
printf("\nNombre\t\t\tCantidad\tValor");
for(vector=0;vector<insecto;vector++){
printf("\n%.7s\t\t\t%d\t\t%.2f",nombres_insecto[vector],cantidad_animal_insecto[vector],valor_animal_insecto[vector]);
}
printf("\n\n");
}
if(peces>0){
printf("\nPeces");
printf("\nNombre\t\t\tCantidad\tValor");
for(vector=0;vector<peces;vector++){
printf("\n%.7s\t\t\t%d\t\t%.2f",nombres_peces[vector],cantidad_animal_peces[vector],valor_animal_peces[vector]);
}
printf("\n\n");
}
if(anfibio>0){
printf("\nAnfibio");
printf("\nNombre\t\t\tCantidad\tValor");
for(vector=0;vector<anfibio;vector++){
printf("\n%.7s\t\t\t%d\t\t%.2f",nombres_anfibio[vector],cantidad_animal_anfibio[vector],valor_animal_anfibio[vector]);
}
printf("\n\n");
}
if(reptil>0){
printf("\nReptil");
printf("\nNombre\t\t\tCantidad\tValor");
for(vector=0;vector<reptil;vector++){
printf("\n%.7s\t\t\t%d\t\t%.2f",nombres_reptil[vector],cantidad_animal_reptil[vector],valor_animal_reptil[vector]);
}
printf("\n\n");
}
if(mamifero>0){
printf("\nMamifero");
printf("\nNombre\t\t\tCantidad\tValor");
for(vector=0;vector<mamifero;vector++){
printf("\n%.7s\t\t\t%d\t\t%.2f",nombres_mamifero[vector],cantidad_animal_mamifero[vector],valor_animal_mamifero[vector]);
}
printf("\n\n");
}
if(ave>0){
printf("\nAve");
printf("\nNombre\t\t\tCantidad\tValor");
for(vector=0;vector<ave;vector++){
printf("\n%.7s\t\t\t%d\t\t%.2f",nombres_ave[vector],cantidad_animal_ave[vector],valor_animal_ave[vector]);
}
printf("\n\n");
}
if(otros>0){
printf("\nOtros");
printf("\nNombre\t\t\tCantidad\tValor");
for(vector=0;vector<otros;vector++){
printf("\n%.7s\t\t\t%d\t\t%.2f",nombres_otros[vector],cantidad_animal_otros[vector],valor_animal_otros[vector]);
}
printf("\n\n");
}
printf("\n1.-Para opciones avanzadas.\n2.-Para volver atras\n3.-Para salir.\nSeleccione ahora:");
scanf("%d",&opciones);
while(opciones>3){
printf("\n\nValor invalido. Intente de nuevo.Para opciones avanzadas presione 0. Para salir 1.");
scanf("%d",&opciones);
}
if(opciones==1){
#ifdef WIN32
system("cls");
#endif
#ifdef LINUX
system("clear");
#endif
opciones_avanzadas(total,costo_total,nombre_mas_barato,mas_barato,nombre_mas_caro,mas_caro,promedio);
}
if(opciones==2){
#ifdef WIN32
system("cls");
#endif
#ifdef LINUX
system("clear");
#endif
imprimir(insecto,nombres_insecto,cantidad_animal_insecto,valor_animal_insecto,peces,nombres_peces,cantidad_animal_peces,valor_animal_peces,anfibio,nombres_anfibio,cantidad_animal_anfibio,valor_animal_anfibio,reptil,nombres_reptil,cantidad_animal_reptil,valor_animal_reptil,mamifero,nombres_mamifero,cantidad_animal_mamifero,valor_animal_mamifero,ave,nombres_ave,cantidad_animal_ave,valor_animal_ave,otros,nombres_otros,cantidad_animal_otros,valor_animal_otros,total,costo_total,nombre_mas_barato,mas_barato,nombre_mas_caro,mas_caro,promedio);
}
if(opciones==3){
salir();
}
}
void imprimir(int insecto,char nombres_insecto[][20],int cantidad_animal_insecto[],float valor_animal_insecto[],int peces,char nombres_peces[][20],int cantidad_animal_peces[],float valor_animal_peces[],int anfibio,char nombres_anfibio[][20],int cantidad_animal_anfibio[],float valor_animal_anfibio[],int reptil,char nombres_reptil[][20],int cantidad_animal_reptil[],float valor_animal_reptil[],int mamifero,char nombres_mamifero[][20],int cantidad_animal_mamifero[],float valor_animal_mamifero[],int ave,char nombres_ave[][20],int cantidad_animal_ave[],float valor_animal_ave[],int otros,char nombres_otros[][20],int cantidad_animal_otros[],float valor_animal_otros[],int total,float costo_total,char nombre_mas_barato[],int mas_barato,char nombre_mas_caro[],int mas_caro,float promedio){
int menu,decision,opciones;
printf("Programa para Inventario de Tienda de mascota.");
printf("\n1.-Para ver todos los resultados\n2.-Por Tipo de animal.\n3.-Para salir.\nEliga ahora:");
scanf("%d",&menu);
while(menu>3){
#ifdef WIN32
system("cls");
#endif
#ifdef LINUX
system("clear");
#endif
printf("Programa para Inventario de Tienda de mascota.");
printf("\nValor invalido. Intente de nuevo.\n1.-Para ver todos los resultados\n2.-Por Tipo de animal.\n3.-Para salir.\nEliga ahora:");
scanf("%d",&menu);
}
if(menu==1){
imprimir_todo(insecto,nombres_insecto,cantidad_animal_insecto,valor_animal_insecto,peces,nombres_peces,cantidad_animal_peces,valor_animal_peces,anfibio,nombres_anfibio,cantidad_animal_anfibio,valor_animal_anfibio,reptil,nombres_reptil,cantidad_animal_reptil,valor_animal_reptil,mamifero,nombres_mamifero,cantidad_animal_mamifero,valor_animal_mamifero,ave,nombres_ave,cantidad_animal_ave,valor_animal_ave,otros,nombres_otros,cantidad_animal_otros,valor_animal_otros,total,costo_total,nombre_mas_barato,mas_barato,nombre_mas_caro,mas_caro,promedio);
}
if(menu==2){
printf("\nTipo de animal:\n1.-Insecto\n2.-Pez\n3.-Anfibio\n4.-Reptil\n5.-Mamifero\n6.-Ave\n7.-Otros\n8.-Para volver atras.\nElige ahora:");
scanf("%d",&decision);
#ifdef WIN32
system("cls");
#endif
#ifdef LINUX
system("clear");
#endif
printf("Programa para Inventario de Tienda de mascota.");
if(decision==1){
imprimir_insecto(insecto,nombres_insecto,cantidad_animal_insecto,valor_animal_insecto);
}
if(decision==2){
imprimir_peces(peces,nombres_peces,cantidad_animal_peces,valor_animal_peces);
}
if(decision==3){
imprimir_anfibio(anfibio,nombres_anfibio,cantidad_animal_anfibio,valor_animal_anfibio);
}
if(decision==4){
imprimir_reptil(reptil,nombres_reptil,cantidad_animal_reptil,valor_animal_reptil);
}
if(decision==5){
imprimir_mamifero(mamifero,nombres_mamifero,cantidad_animal_mamifero,valor_animal_mamifero);
}
if(decision==6){
imprimir_ave(ave,nombres_ave,cantidad_animal_ave,valor_animal_ave);
}
if(decision==7){
imprimir_otros(otros,nombres_otros,cantidad_animal_otros,valor_animal_otros);
}
if(decision==8){
imprimir(insecto,nombres_insecto,cantidad_animal_insecto,valor_animal_insecto,peces,nombres_peces,cantidad_animal_peces,valor_animal_peces,anfibio,nombres_anfibio,cantidad_animal_anfibio,valor_animal_anfibio,reptil,nombres_reptil,cantidad_animal_reptil,valor_animal_reptil,mamifero,nombres_mamifero,cantidad_animal_mamifero,valor_animal_mamifero,ave,nombres_ave,cantidad_animal_ave,valor_animal_ave,otros,nombres_otros,cantidad_animal_otros,valor_animal_otros,total,costo_total,nombre_mas_barato,mas_barato,nombre_mas_caro,mas_caro,promedio);
}
printf("\n1.-Para volver atras.\n2.-Para salir.\nIngrese su opcion ahora:");
scanf("%d",&opciones);
while(decision>2){
printf("\nValor invalido. Intente de nuevo.\n1.-Para volver atras.\n2.-Para salir.\nIngrese su opcion ahora:");
scanf("%d",&opciones);
}
if(opciones==1){
#ifdef WIN32
system("cls");
#endif
#ifdef LINUX
system("clear");
#endif
imprimir(insecto,nombres_insecto,cantidad_animal_insecto,valor_animal_insecto,peces,nombres_peces,cantidad_animal_peces,valor_animal_peces,anfibio,nombres_anfibio,cantidad_animal_anfibio,valor_animal_anfibio,reptil,nombres_reptil,cantidad_animal_reptil,valor_animal_reptil,mamifero,nombres_mamifero,cantidad_animal_mamifero,valor_animal_mamifero,ave,nombres_ave,cantidad_animal_ave,valor_animal_ave,otros,nombres_otros,cantidad_animal_otros,valor_animal_otros,total,costo_total,nombre_mas_barato,mas_barato,nombre_mas_caro,mas_caro,promedio);
}
if(opciones==2){
salir();
}
}
if(menu==3){
salir();
}
}
void imprimir_insecto(int insecto,char nombres_insecto[][20],int cantidad_animal_insecto[],float valor_animal_insecto[]){
int vector,decision;
if(insecto>0){
printf("\nInsectos");
printf("\nNombre\t\t\tCantidad\tValor");
for(vector=0;vector<insecto;vector++){
printf("\n%.7s\t\t\t%d\t\t%.2f",nombres_insecto[vector],cantidad_animal_insecto[vector],valor_animal_insecto[vector]);
}
printf("\n\n");
}
else{
printf("\nLo siento no hay ningun animal registrado de este tipo.");
}
}
void imprimir_peces(int peces,char nombres_peces[][20],int cantidad_animal_peces[],float valor_animal_peces[]){
int vector,decision;
if(peces>0){
printf("\nPeces");
printf("\nNombre\t\t\tCantidad\tValor");
for(vector=0;vector<peces;vector++){
printf("\n%.7s\t\t\t%d\t\t%.2f",nombres_peces[vector],cantidad_animal_peces[vector],valor_animal_peces[vector]);
}
printf("\n\n");
}
else{
printf("\nLo siento no hay ningun animal registrado de este tipo.");
}
}
void imprimir_anfibio(int anfibio,char nombres_anfibio[][20],int cantidad_animal_anfibio[],float valor_animal_anfibio[]){
int decision,vector;
if(anfibio>0){
printf("\nAnfibio");
printf("\nNombre\t\t\tCantidad\tValor");
for(vector=0;vector<anfibio;vector++){
printf("\n%.7s\t\t\t%d\t\t%.2f",nombres_anfibio[vector],cantidad_animal_anfibio[vector],valor_animal_anfibio[vector]);
}
printf("\n\n");
}
else{
printf("\nLo siento no hay ningun animal registrado de este tipo.");
}
}
void imprimir_reptil(int reptil,char nombres_reptil[][20],int cantidad_animal_reptil[],float valor_animal_reptil[]){
int decision,vector;
if(reptil>0){
printf("\nReptil");
printf("\nNombre\t\t\tCantidad\tValor");
for(vector=0;vector<reptil;vector++){
printf("\n%.7s\t\t\t%d\t\t%.2f",nombres_reptil[vector],cantidad_animal_reptil[vector],valor_animal_reptil[vector]);
}
printf("\n\n");
}
else{
printf("\nLo siento no hay ningun animal registrado de este tipo.");
}
}
void imprimir_mamifero(int mamifero,char nombres_mamifero[][20],int cantidad_animal_mamifero[],float valor_animal_mamifero[]){
int decision,vector;
if(mamifero>0){
printf("\nMamifero");
printf("\nNombre\t\t\tCantidad\tValor");
for(vector=0;vector<mamifero;vector++){
printf("\n%.7s\t\t\t%d\t\t%.2f",nombres_mamifero[vector],cantidad_animal_mamifero[vector],valor_animal_mamifero[vector]);
}
printf("\n\n");
}
else{
printf("\nLo siento no hay ningun animal registrado de este tipo.");
}
}
void imprimir_ave(int ave,char nombres_ave[][20],int cantidad_animal_ave[],float valor_animal_ave[]){
int decision,vector;
if(ave>0){
printf("\nAve");
printf("\nNombre\t\t\tCantidad\tValor");
for(vector=0;vector<ave;vector++){
printf("\n%.7s\t\t\t%d\t\t%.2f",nombres_ave[vector],cantidad_animal_ave[vector],valor_animal_ave[vector]);
}
printf("\n\n");
}
else{
printf("\nLo siento no hay ningun animal registrado de este tipo.");
}
}
void imprimir_otros(int otros,char nombres_otros[][20],int cantidad_animal_otros[],float valor_animal_otros[]){
int decision,vector;
if(otros>0){
printf("\nOtros");
printf("\nNombre\t\t\tCantidad\tValor");
for(vector=0;vector<otros;vector++){
printf("\n%.7s\t\t\t%d\t\t%.2f",nombres_otros[vector],cantidad_animal_otros[vector],valor_animal_otros[vector]);
}
printf("\n\n");
}
else{
printf("\nLo siento no hay ningun animal registrado de este tipo.");
}
}
void opciones_avanzadas(int total,float costo_total,char nombre_mas_barato[],int mas_barato,char nombre_mas_caro[],int mas_caro,float promedio){
int decision;
printf("Programa para Inventario de Tienda de mascota.");
printf("\nOpciones Avanzadas.");
printf("\nCantidad total de los animales:%d",total);
printf("\n\nCosto total de los animales:%.2f",costo_total);
printf("\n\nPromedio de los animales:%.2f",promedio);
printf("\n\nAnimal mas barato:%s y su precio es:%d",nombre_mas_barato,mas_barato);
printf("\n\nAnimal mas caro:%s y su precio es:%d",nombre_mas_caro,mas_caro);
}


darioxlz

Buenas tardes, una pregunta, vi que estabas aprendiendo c por tu cuenta, y yo también ando en lo mismo, que pagina web usas para aprender? me interesaría visitar otras aparte de las que yo uso.

Gracias!

Roga

https://www.youtube.com/watch?v=9idgIGmQvAQ&list=PLw8RQJQ8K1ySN6bVHYEpDoh-CKVkL_uOF

de este curso, y de la universidad pero 90% ese curso 10% universidad. lo que si tengo de la universidad son unos ejercicios. si quieres me das tu correo te los mando y te ayudo resolviendolos