elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Ayuda en lenguaje c con funciones
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda en lenguaje c con funciones  (Leído 3,450 veces)
Roga

Desconectado Desconectado

Mensajes: 23


Ver Perfil
Ayuda en lenguaje c con funciones
« en: 20 Junio 2017, 17:23 pm »

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:

Código
  1. /*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,
  2. 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.*/
  3. #include <stdio.h>
  4. #include <stdlib.h>
  5. char funcion_nombres(char nombres[],int contador);
  6. int main(){
  7. char nombres[100][20],*nombres_valido[100][30],*nombre_mas_caro[20],*nombre_mas_barato[20],decision;
  8. int *cantidad_animal=malloc(sizeof(int)*100);
  9. int *valor_animal=malloc(sizeof(int)*100);
  10. int total,costo_total,mas_caro=0,mas_barato=0,contador=0;
  11. char verificar_nombres;
  12. float promedio;
  13. char resp;
  14. int insecto=0,peces=0,anfibio=0,reptil=0,mamifero=0,ave=0;
  15. do{
  16. printf("\nIngrese el nombre del animal:");
  17. scanf("%s",&nombres[contador]);
  18. verificar_nombres=funcion_nombres(*nombres,contador);
  19. while(verificar_nombres=='i'){
  20. printf("\nLo siento animal ya registrado. Ingrese otro animal.\nIngrese el nombre del animal:");
  21. scanf("%s",&nombres[contador]);
  22. printf("\n%s",nombres[contador]);
  23. verificar_nombres=funcion_nombres(*nombres,contador);
  24. }
  25. *nombres_valido[contador]=nombres[contador];
  26. printf("\nCuantos animales hay?:");
  27. scanf("%d",&cantidad_animal[contador]);
  28. while(cantidad_animal[contador]<=0){
  29. printf("\nCantidad debe ser mayor a 0.\nCuantos animales hay?:");
  30. scanf("%d",&cantidad_animal[contador]);
  31. }
  32. printf("\nPrecio del animal:");
  33. scanf("%d",&valor_animal[contador]);
  34. while(valor_animal[contador]<0){
  35. printf("\nValor animal debe ser igual o mayor a 0.\nPrecio del animal:");
  36. scanf("%d",&valor_animal[contador]);
  37. }
  38. do{
  39. printf("\nTipo de animal:\n1.-Insecto\n2.-Pez\n3.-Anfibio\n4.-Reptil\n5.-Mamifero\n6.-Ave\nElige ahora:");
  40. scanf("%d",&decision);
  41. switch(decision){
  42. case 1:insecto++;
  43. break;
  44. case 2:peces++;
  45. break;
  46. case 3:anfibio++;
  47. break;
  48. case 4:reptil++;
  49. break;
  50. case 5:mamifero++;
  51. break;
  52. case 6:ave++;
  53. break;
  54. default:printf("El valor no es correcto\n");
  55. }
  56. }while(decision>6);
  57. total=+cantidad_animal[contador];
  58. costo_total=+valor_animal[contador];
  59. if(valor_animal[contador]>mas_caro){
  60. mas_caro=valor_animal[contador];
  61. *nombre_mas_caro=nombres[contador];
  62. }
  63. if(valor_animal[contador]<mas_barato){
  64. mas_barato=valor_animal[contador];
  65. *nombre_mas_barato=nombres[contador];
  66. }
  67. printf("\nDesea ingresar otro animal?(S/N):");
  68. fflush(stdin);
  69. scanf("%c",&resp);
  70. printf("\n%s",*nombres_valido[contador]);
  71. contador++;
  72. #ifdef WIN32
  73. system("cls");
  74. #endif
  75. #ifdef LINUX
  76. system("clear");
  77. #endif
  78.  
  79. }while(resp!='n'&&resp!='N');
  80. //procedimiento
  81. promedio=costo_total/contador;
  82. //realloc cantidad_animal
  83. cantidad_animal=(int *)realloc(cantidad_animal,total*sizeof(int));
  84. //realloc *valor_animal
  85. valor_animal=(int *)realloc(valor_animal,costo_total*sizeof(int));
  86. system("pause");
  87. return 0;
  88. }
  89.  
  90. char funcion_nombres(char nombres[],int contador){
  91. int vector;
  92. char resp;
  93. for(vector=0;vector<contador;vector++){
  94. if(nombres[contador]==nombres[vector]){
  95. resp='i';
  96. }
  97. else{
  98. resp='d';
  99. }
  100. }
  101. return(resp);
  102. }

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


« Última modificación: 23 Junio 2017, 00:57 am por Roga » En línea

PalitroqueZ


Desconectado Desconectado

Mensajes: 948



Ver Perfil
Re: Ayuda en lenguaje c con funciones
« Respuesta #1 en: 20 Junio 2017, 17:34 pm »

¿y no has compilado el código?

¿qué errores te arroja?



En línea

"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

Desconectado Desconectado

Mensajes: 23


Ver Perfil
Re: Ayuda en lenguaje c con funciones
« Respuesta #2 en: 20 Junio 2017, 17:45 pm »

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

MAFUS


Desconectado Desconectado

Mensajes: 1.603



Ver Perfil
Re: Ayuda en lenguaje c con funciones
« Respuesta #3 en: 20 Junio 2017, 21:40 pm »

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.
En línea

Roga

Desconectado Desconectado

Mensajes: 23


Ver Perfil
Re: Ayuda en lenguaje c con funciones
« Respuesta #4 en: 21 Junio 2017, 00:57 am »

Ya logre lo de los nombres.
Código
  1. //Anunciado del ejercicio.
  2. /*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,
  3. 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.*/
  4.  
  5. //librerias a usar
  6. #include <stdio.h>
  7. #include <stdlib.h>
  8. #include <string.h>
  9. // Prototipo de la funcion
  10. int funcion_nombres(char nombres[][20],char nombres_valido[][20],int contador);
  11. //funcion main
  12. int main(){
  13. //Declaracion de variable
  14. char nombres[100][20],nombres_valido[100][20],nombre_mas_caro[20],nombre_mas_barato[20],decision;
  15. int cantidad_animal;
  16. int valor_animal;
  17. int total,costo_total,mas_caro=0,mas_barato=0,contador=0;
  18. int verificar_nombres;
  19. float promedio;
  20. char resp;
  21. int insecto=0,peces=0,anfibio=0,reptil=0,mamifero=0,ave=0;
  22. do{
  23. printf("\nIngrese el nombre del animal:");
  24. scanf("%s",&nombres[contador]);
  25. if(contador>0){
  26. verificar_nombres=funcion_nombres(nombres,nombres_valido,contador);
  27. while(verificar_nombres==0){
  28. printf("\nLo siento animal ya registrado. Ingrese otro animal.\nIngrese el nombre del animal:");
  29. scanf("%s",&nombres[contador]);
  30. verificar_nombres=funcion_nombres(nombres,nombres_valido,contador);
  31. }
  32. }
  33. strcpy(nombres_valido[contador],nombres[contador]);
  34. printf("\nCuantos animales hay?:");
  35. scanf("%d",&cantidad_animal);
  36. while(cantidad_animal<=0){
  37. printf("\nCantidad debe ser mayor a 0.\nCuantos animales hay?:");
  38. scanf("%d",&cantidad_animal);
  39. }
  40. printf("\nPrecio del animal:");
  41. scanf("%d",&valor_animal);
  42. while(valor_animal<0){
  43. printf("\nValor animal debe ser igual o mayor a 0.\nPrecio del animal:");
  44. scanf("%d",&valor_animal);
  45. }
  46. do{
  47. printf("\nTipo de animal:\n1.-Insecto\n2.-Pez\n3.-Anfibio\n4.-Reptil\n5.-Mamifero\n6.-Ave\nElige ahora:");
  48. scanf("%d",&decision);
  49. switch(decision){
  50. case 1:insecto++;
  51. break;
  52. case 2:peces++;
  53. break;
  54. case 3:anfibio++;
  55. break;
  56. case 4:reptil++;
  57. break;
  58. case 5:mamifero++;
  59. break;
  60. case 6:ave++;
  61. break;
  62. default:printf("El valor no es correcto\n");
  63. }
  64. }while(decision>6);
  65. total=+cantidad_animal;
  66. costo_total=+valor_animal;
  67. if(valor_animal>mas_caro){
  68. mas_caro=valor_animal;
  69. strcpy(nombre_mas_caro,nombres[contador]);
  70. }
  71. if(valor_animal<mas_barato){
  72. mas_barato=valor_animal;
  73. strcpy(nombre_mas_barato,nombres[contador]);
  74. }
  75. printf("\nDesea ingresar otro animal?(S/N):");
  76. fflush(stdin);
  77. scanf("%c",&resp);
  78. contador++;
  79. #ifdef WIN32
  80. system("cls");
  81. #endif
  82. #ifdef LINUX
  83. system("clear");
  84. #endif
  85. }while(resp!='n'&&resp!='N');
  86. //procedimiento
  87. promedio=costo_total/contador;
  88. system("pause");
  89. return 0;
  90. }
  91.  
  92. int funcion_nombres(char nombres[][20],char nombres_valido[][20],int contador){
  93. int resp,vector;
  94. for(vector=0;vector<contador;vector++){
  95. if (strcmp(nombres[contador],nombres_valido[vector])==0){
  96.     resp=0;
  97.     return resp;
  98.   }
  99.   else{
  100.   resp=1;
  101. }
  102. }
  103. return resp;
  104.  
En línea

Roga

Desconectado Desconectado

Mensajes: 23


Ver Perfil
Re: Ayuda en lenguaje c con funciones
« Respuesta #5 en: 23 Junio 2017, 00:53 am »

Listo :D. gracias por nada XD dejo por aqui el codigo por si alguien tiene algun incoveniente parecido.
Código
  1. /*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
  2. 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
  3. costoso y cual es más barato.*/
  4. #include <stdio.h>
  5. #include <stdlib.h>
  6. #include <string.h>
  7. void salir();
  8. void programa();
  9. 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);
  10. 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);
  11. void imprimir_insecto(int insecto,char nombres_insecto[][20],int cantidad_animal_insecto[],float valor_animal_insecto[]);
  12. void imprimir_peces(int peces,char nombres_peces[][20],int cantidad_animal_peces[],float valor_animal_peces[]);
  13. void imprimir_anfibio(int anfibio,char nombres_anfibio[][20],int cantidad_animal_anfibio[],float valor_animal_anfibio[]);
  14. void imprimir_reptil(int reptil,char nombres_reptil[][20],int cantidad_animal_reptil[],float valor_animal_reptil[]);
  15. void imprimir_mamifero(int mamifero,char nombres_mamifero[][20],int cantidad_animal_mamifero[],float valor_animal_mamifero[]);
  16. void imprimir_ave(int ave,char nombres_ave[][20],int cantidad_animal_ave[],float valor_animal_ave[]);
  17. void imprimir_otros(int otros,char nombres_otros[][20],int cantidad_animal_otros[],float valor_animal_otros[]);
  18. void opciones_avanzadas(int total,float costo_total,char nombre_mas_barato[],int mas_barato,char nombre_mas_caro[],int mas_caro,float promedio);
  19. int main(){
  20. int inicio;
  21. printf("Programa para Inventario de Tienda de mascota.");
  22. printf("\n\n1.-Ingresar en el programa.\n\n2.-Salir.\n\nIngrese su opcion ahora:");
  23. scanf("%d",&inicio);
  24. while(inicio>2){
  25. #ifdef WIN32
  26. system("cls");
  27. #endif
  28. #ifdef LINUX
  29. system("clear");
  30. #endif
  31. printf("Programa para Inventario de Tienda de mascota.");
  32. printf("\nValor invalido. Intente de nuevo.\n\n1.-Ingresar en el programa.\n\n2.-Salir.\n\nIngrese su opcion ahora:");
  33. scanf("%d",&inicio);
  34. }
  35. #ifdef WIN32
  36. system("cls");
  37. #endif
  38. #ifdef LINUX
  39. system("clear");
  40. #endif
  41. if(inicio==1){
  42. programa();
  43. }
  44. if(inicio==2){
  45. salir();
  46. }
  47. printf("\n\n");
  48. system("pause");
  49. return 0;
  50. }
  51. void programa(){
  52. int cantidad_animal=0;
  53. int total=0,mas_caro,mas_barato,contador=0,verificar_nombres,vector;
  54. int insecto=0,peces=0,anfibio=0,reptil=0,mamifero=0,ave=0,otros=0,decision;
  55. int *cantidad_animal_insecto=malloc(sizeof(int)*100);
  56. int *cantidad_animal_peces=malloc(sizeof(int)*100);
  57. int *cantidad_animal_reptil=malloc(sizeof(int)*100);
  58. int *cantidad_animal_mamifero=malloc(sizeof(int)*100);
  59. int *cantidad_animal_ave=malloc(sizeof(int)*100);
  60. int *cantidad_animal_anfibio=malloc(sizeof(int)*100);
  61. int *cantidad_animal_otros=malloc(sizeof(int)*100);
  62. float *valor_animal_otros=malloc(sizeof(float)*100);
  63. float *valor_animal_insecto=malloc(sizeof(float)*100);
  64. float *valor_animal_peces=malloc(sizeof(float)*100);
  65. float *valor_animal_reptil=malloc(sizeof(float)*100);
  66. float *valor_animal_mamifero=malloc(sizeof(float)*100);
  67. float *valor_animal_ave=malloc(sizeof(float)*100);
  68. float *valor_animal_anfibio=malloc(sizeof(float)*100);
  69. float promedio,valor_animal=0,costo_total=0;
  70. char nombres[20],nombres_valido[100][20],nombre_mas_caro[20],nombre_mas_barato[20];
  71. char nombres_insecto[100][20];
  72. char nombres_peces[100][20];
  73. char nombres_reptil[100][20];
  74. char nombres_mamifero[100][20];
  75. char nombres_ave[100][20];
  76. char nombres_otros[100][20];
  77. char nombres_anfibio[100][20];
  78. char resp;
  79. do{
  80. printf("Programa para Inventario de Tienda de mascota.");
  81. printf("\nIngrese el nombre del animal:");
  82. scanf("%s",&nombres);
  83. if(contador>0){
  84. verificar_nombres=funcion_nombres(nombres,nombres_valido,contador);
  85. while(verificar_nombres==0){
  86. printf("\nLo siento animal ya registrado. Ingrese otro animal.\nIngrese el nombre del animal:");
  87. scanf("%s",&nombres);
  88. verificar_nombres=funcion_nombres(nombres,nombres_valido,contador);
  89. }
  90. }
  91. strcpy(nombres_valido[contador],nombres);
  92. printf("\nCuantos animales hay?:");
  93. scanf("%d",&cantidad_animal);
  94. while(cantidad_animal<=0){
  95. printf("\nCantidad debe ser mayor a 0.\nCuantos animales hay?:");
  96. scanf("%d",&cantidad_animal);
  97. }
  98. printf("\nPrecio del animal:");
  99. scanf("%f",&valor_animal);
  100. while(valor_animal<0){
  101. printf("\nValor animal debe ser igual o mayor a 0.\nPrecio del animal:");
  102. scanf("%f",&valor_animal);
  103. }
  104. do{
  105. printf("\nTipo de animal:\n1.-Insecto\n2.-Pez\n3.-Anfibio\n4.-Reptil\n5.-Mamifero\n6.-Ave\n7.-Otros\nElige ahora:");
  106. scanf("%d",&decision);
  107. switch(decision){
  108. case 1:strcpy(nombres_insecto[insecto],nombres_valido[contador]);cantidad_animal_insecto[insecto]=cantidad_animal;
  109. valor_animal_insecto[insecto]=valor_animal;insecto++;
  110. break;
  111. case 2:strcpy(nombres_peces[peces],nombres_valido[contador]);cantidad_animal_peces[peces]=cantidad_animal;
  112. valor_animal_peces[peces]=valor_animal;peces++;
  113. break;
  114. case 3:strcpy(nombres_anfibio[anfibio],nombres_valido[contador]);cantidad_animal_anfibio[anfibio]=cantidad_animal;
  115. valor_animal_anfibio[anfibio]=valor_animal;anfibio++;
  116. break;
  117. case 4:strcpy(nombres_reptil[reptil],nombres_valido[contador]);cantidad_animal_reptil[reptil]=cantidad_animal;
  118. valor_animal_reptil[reptil]=valor_animal;reptil++;
  119. break;
  120. case 5:strcpy(nombres_mamifero[mamifero],nombres_valido[contador]);cantidad_animal_mamifero[mamifero]=cantidad_animal;
  121. valor_animal_mamifero[mamifero]=valor_animal;mamifero++;
  122. break;
  123. case 6:strcpy(nombres_ave[ave],nombres_valido[contador]);cantidad_animal_ave[ave]=cantidad_animal;
  124. valor_animal_ave[ave]=valor_animal;ave++;
  125. break;
  126. case 7:strcpy(nombres_otros[otros],nombres_valido[contador]);cantidad_animal_otros[otros]=cantidad_animal;
  127. valor_animal_otros[otros]=valor_animal;otros++;
  128. break;
  129. default:printf("El valor no es correcto\n");
  130. }
  131. }while(decision>7);
  132. if(valor_animal>mas_caro||contador==0){
  133. mas_caro=valor_animal;
  134. strcpy(nombre_mas_caro,nombres);
  135. }
  136. if(valor_animal<mas_barato||contador==0){
  137. mas_barato=valor_animal;
  138. strcpy(nombre_mas_barato,nombres);
  139. }
  140. total=total+cantidad_animal;
  141. costo_total=costo_total+valor_animal;
  142. printf("\nDesea ingresar otro animal?(S/N):");
  143. fflush(stdin);
  144. scanf("%c",&resp);
  145. contador++;
  146. #ifdef WIN32
  147. system("cls");
  148. #endif
  149. #ifdef LINUX
  150. system("clear");
  151. #endif
  152. }while(resp!='n'&&resp!='N');
  153. //realloc
  154. cantidad_animal_insecto=(int *)realloc(cantidad_animal_insecto,insecto*sizeof(int));
  155. cantidad_animal_peces=(int *)realloc(cantidad_animal_peces,peces*sizeof(int));
  156. cantidad_animal_reptil=(int *)realloc(cantidad_animal_reptil,reptil*sizeof(int));
  157. cantidad_animal_mamifero=(int *)realloc(cantidad_animal_mamifero,mamifero*sizeof(int));
  158. cantidad_animal_ave=(int *)realloc(cantidad_animal_ave,ave*sizeof(int));
  159. cantidad_animal_anfibio=(int *)realloc(cantidad_animal_anfibio,anfibio*sizeof(int));
  160. cantidad_animal_otros=(int *)realloc(cantidad_animal_otros,otros*sizeof(int));
  161. valor_animal_otros=(float *)realloc(valor_animal_otros,otros*sizeof(float));
  162. valor_animal_insecto=(float *)realloc(valor_animal_insecto,insecto*sizeof(float));
  163. valor_animal_peces=(float *)realloc(valor_animal_peces,peces*sizeof(float));
  164. valor_animal_reptil=(float *)realloc(valor_animal_reptil,reptil*sizeof(float));
  165. valor_animal_mamifero=(float *)realloc(valor_animal_mamifero,mamifero*sizeof(float));
  166. valor_animal_ave=(float *)realloc(valor_animal_ave,ave*sizeof(float));
  167. valor_animal_anfibio=(float *)realloc(valor_animal_anfibio,anfibio*sizeof(float));
  168. //procedimiento
  169. promedio=costo_total/contador;
  170. 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);
  171. }
  172. void salir(){
  173. printf("\n\nPrograma finalizado.\nHasta luego.");
  174. }
  175. int funcion_nombres(char nombres[],char nombres_valido[][20],int contador){
  176. int resp,vector;
  177. for(vector=0;vector<contador;vector++){
  178. if (strcmp(nombres,nombres_valido[vector])==0){
  179.     resp=0;
  180.     return resp;
  181.   }
  182.   else{
  183.   resp=1;
  184. }
  185. }
  186. return resp;
  187. }
  188. 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){
  189. int opciones,vector;
  190. printf("Inventario de animales\n");
  191. if(insecto>0){
  192. printf("\nInsectos");
  193. printf("\nNombre\t\t\tCantidad\tValor");
  194. for(vector=0;vector<insecto;vector++){
  195. printf("\n%.7s\t\t\t%d\t\t%.2f",nombres_insecto[vector],cantidad_animal_insecto[vector],valor_animal_insecto[vector]);
  196. }
  197. printf("\n\n");
  198. }
  199. if(peces>0){
  200. printf("\nPeces");
  201. printf("\nNombre\t\t\tCantidad\tValor");
  202. for(vector=0;vector<peces;vector++){
  203. printf("\n%.7s\t\t\t%d\t\t%.2f",nombres_peces[vector],cantidad_animal_peces[vector],valor_animal_peces[vector]);
  204. }
  205. printf("\n\n");
  206. }
  207. if(anfibio>0){
  208. printf("\nAnfibio");
  209. printf("\nNombre\t\t\tCantidad\tValor");
  210. for(vector=0;vector<anfibio;vector++){
  211. printf("\n%.7s\t\t\t%d\t\t%.2f",nombres_anfibio[vector],cantidad_animal_anfibio[vector],valor_animal_anfibio[vector]);
  212. }
  213. printf("\n\n");
  214. }
  215. if(reptil>0){
  216. printf("\nReptil");
  217. printf("\nNombre\t\t\tCantidad\tValor");
  218. for(vector=0;vector<reptil;vector++){
  219. printf("\n%.7s\t\t\t%d\t\t%.2f",nombres_reptil[vector],cantidad_animal_reptil[vector],valor_animal_reptil[vector]);
  220. }
  221. printf("\n\n");
  222. }
  223. if(mamifero>0){
  224. printf("\nMamifero");
  225. printf("\nNombre\t\t\tCantidad\tValor");
  226. for(vector=0;vector<mamifero;vector++){
  227. printf("\n%.7s\t\t\t%d\t\t%.2f",nombres_mamifero[vector],cantidad_animal_mamifero[vector],valor_animal_mamifero[vector]);
  228. }
  229. printf("\n\n");
  230. }
  231. if(ave>0){
  232. printf("\nAve");
  233. printf("\nNombre\t\t\tCantidad\tValor");
  234. for(vector=0;vector<ave;vector++){
  235. printf("\n%.7s\t\t\t%d\t\t%.2f",nombres_ave[vector],cantidad_animal_ave[vector],valor_animal_ave[vector]);
  236. }
  237. printf("\n\n");
  238. }
  239. if(otros>0){
  240. printf("\nOtros");
  241. printf("\nNombre\t\t\tCantidad\tValor");
  242. for(vector=0;vector<otros;vector++){
  243. printf("\n%.7s\t\t\t%d\t\t%.2f",nombres_otros[vector],cantidad_animal_otros[vector],valor_animal_otros[vector]);
  244. }
  245. printf("\n\n");
  246. }
  247. printf("\n1.-Para opciones avanzadas.\n2.-Para volver atras\n3.-Para salir.\nSeleccione ahora:");
  248. scanf("%d",&opciones);
  249. while(opciones>3){
  250. printf("\n\nValor invalido. Intente de nuevo.Para opciones avanzadas presione 0. Para salir 1.");
  251. scanf("%d",&opciones);
  252. }
  253. if(opciones==1){
  254. #ifdef WIN32
  255. system("cls");
  256. #endif
  257. #ifdef LINUX
  258. system("clear");
  259. #endif
  260. opciones_avanzadas(total,costo_total,nombre_mas_barato,mas_barato,nombre_mas_caro,mas_caro,promedio);
  261. }
  262. if(opciones==2){
  263. #ifdef WIN32
  264. system("cls");
  265. #endif
  266. #ifdef LINUX
  267. system("clear");
  268. #endif
  269. 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);
  270. }
  271. if(opciones==3){
  272. salir();
  273. }
  274. }
  275. 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){
  276. int menu,decision,opciones;
  277. printf("Programa para Inventario de Tienda de mascota.");
  278. printf("\n1.-Para ver todos los resultados\n2.-Por Tipo de animal.\n3.-Para salir.\nEliga ahora:");
  279. scanf("%d",&menu);
  280. while(menu>3){
  281. #ifdef WIN32
  282. system("cls");
  283. #endif
  284. #ifdef LINUX
  285. system("clear");
  286. #endif
  287. printf("Programa para Inventario de Tienda de mascota.");
  288. printf("\nValor invalido. Intente de nuevo.\n1.-Para ver todos los resultados\n2.-Por Tipo de animal.\n3.-Para salir.\nEliga ahora:");
  289. scanf("%d",&menu);
  290. }
  291. if(menu==1){
  292. 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);
  293. }
  294. if(menu==2){
  295. printf("\nTipo de animal:\n1.-Insecto\n2.-Pez\n3.-Anfibio\n4.-Reptil\n5.-Mamifero\n6.-Ave\n7.-Otros\n8.-Para volver atras.\nElige ahora:");
  296. scanf("%d",&decision);
  297. #ifdef WIN32
  298. system("cls");
  299. #endif
  300. #ifdef LINUX
  301. system("clear");
  302. #endif
  303. printf("Programa para Inventario de Tienda de mascota.");
  304. if(decision==1){
  305. imprimir_insecto(insecto,nombres_insecto,cantidad_animal_insecto,valor_animal_insecto);
  306. }
  307. if(decision==2){
  308. imprimir_peces(peces,nombres_peces,cantidad_animal_peces,valor_animal_peces);
  309. }
  310. if(decision==3){
  311. imprimir_anfibio(anfibio,nombres_anfibio,cantidad_animal_anfibio,valor_animal_anfibio);
  312. }
  313. if(decision==4){
  314. imprimir_reptil(reptil,nombres_reptil,cantidad_animal_reptil,valor_animal_reptil);
  315. }
  316. if(decision==5){
  317. imprimir_mamifero(mamifero,nombres_mamifero,cantidad_animal_mamifero,valor_animal_mamifero);
  318. }
  319. if(decision==6){
  320. imprimir_ave(ave,nombres_ave,cantidad_animal_ave,valor_animal_ave);
  321. }
  322. if(decision==7){
  323. imprimir_otros(otros,nombres_otros,cantidad_animal_otros,valor_animal_otros);
  324. }
  325. if(decision==8){
  326. 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);
  327. }
  328. printf("\n1.-Para volver atras.\n2.-Para salir.\nIngrese su opcion ahora:");
  329. scanf("%d",&opciones);
  330. while(decision>2){
  331. printf("\nValor invalido. Intente de nuevo.\n1.-Para volver atras.\n2.-Para salir.\nIngrese su opcion ahora:");
  332. scanf("%d",&opciones);
  333. }
  334. if(opciones==1){
  335. #ifdef WIN32
  336. system("cls");
  337. #endif
  338. #ifdef LINUX
  339. system("clear");
  340. #endif
  341. 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);
  342. }
  343. if(opciones==2){
  344. salir();
  345. }
  346. }
  347. if(menu==3){
  348. salir();
  349. }
  350. }
  351. void imprimir_insecto(int insecto,char nombres_insecto[][20],int cantidad_animal_insecto[],float valor_animal_insecto[]){
  352. int vector,decision;
  353. if(insecto>0){
  354. printf("\nInsectos");
  355. printf("\nNombre\t\t\tCantidad\tValor");
  356. for(vector=0;vector<insecto;vector++){
  357. printf("\n%.7s\t\t\t%d\t\t%.2f",nombres_insecto[vector],cantidad_animal_insecto[vector],valor_animal_insecto[vector]);
  358. }
  359. printf("\n\n");
  360. }
  361. else{
  362. printf("\nLo siento no hay ningun animal registrado de este tipo.");
  363. }
  364. }
  365. void imprimir_peces(int peces,char nombres_peces[][20],int cantidad_animal_peces[],float valor_animal_peces[]){
  366. int vector,decision;
  367. if(peces>0){
  368. printf("\nPeces");
  369. printf("\nNombre\t\t\tCantidad\tValor");
  370. for(vector=0;vector<peces;vector++){
  371. printf("\n%.7s\t\t\t%d\t\t%.2f",nombres_peces[vector],cantidad_animal_peces[vector],valor_animal_peces[vector]);
  372. }
  373. printf("\n\n");
  374. }
  375. else{
  376. printf("\nLo siento no hay ningun animal registrado de este tipo.");
  377. }
  378. }
  379. void imprimir_anfibio(int anfibio,char nombres_anfibio[][20],int cantidad_animal_anfibio[],float valor_animal_anfibio[]){
  380. int decision,vector;
  381. if(anfibio>0){
  382. printf("\nAnfibio");
  383. printf("\nNombre\t\t\tCantidad\tValor");
  384. for(vector=0;vector<anfibio;vector++){
  385. printf("\n%.7s\t\t\t%d\t\t%.2f",nombres_anfibio[vector],cantidad_animal_anfibio[vector],valor_animal_anfibio[vector]);
  386. }
  387. printf("\n\n");
  388. }
  389. else{
  390. printf("\nLo siento no hay ningun animal registrado de este tipo.");
  391. }
  392. }
  393. void imprimir_reptil(int reptil,char nombres_reptil[][20],int cantidad_animal_reptil[],float valor_animal_reptil[]){
  394. int decision,vector;
  395. if(reptil>0){
  396. printf("\nReptil");
  397. printf("\nNombre\t\t\tCantidad\tValor");
  398. for(vector=0;vector<reptil;vector++){
  399. printf("\n%.7s\t\t\t%d\t\t%.2f",nombres_reptil[vector],cantidad_animal_reptil[vector],valor_animal_reptil[vector]);
  400. }
  401. printf("\n\n");
  402. }
  403. else{
  404. printf("\nLo siento no hay ningun animal registrado de este tipo.");
  405. }
  406. }
  407. void imprimir_mamifero(int mamifero,char nombres_mamifero[][20],int cantidad_animal_mamifero[],float valor_animal_mamifero[]){
  408. int decision,vector;
  409. if(mamifero>0){
  410. printf("\nMamifero");
  411. printf("\nNombre\t\t\tCantidad\tValor");
  412. for(vector=0;vector<mamifero;vector++){
  413. printf("\n%.7s\t\t\t%d\t\t%.2f",nombres_mamifero[vector],cantidad_animal_mamifero[vector],valor_animal_mamifero[vector]);
  414. }
  415. printf("\n\n");
  416. }
  417. else{
  418. printf("\nLo siento no hay ningun animal registrado de este tipo.");
  419. }
  420. }
  421. void imprimir_ave(int ave,char nombres_ave[][20],int cantidad_animal_ave[],float valor_animal_ave[]){
  422. int decision,vector;
  423. if(ave>0){
  424. printf("\nAve");
  425. printf("\nNombre\t\t\tCantidad\tValor");
  426. for(vector=0;vector<ave;vector++){
  427. printf("\n%.7s\t\t\t%d\t\t%.2f",nombres_ave[vector],cantidad_animal_ave[vector],valor_animal_ave[vector]);
  428. }
  429. printf("\n\n");
  430. }
  431. else{
  432. printf("\nLo siento no hay ningun animal registrado de este tipo.");
  433. }
  434. }
  435. void imprimir_otros(int otros,char nombres_otros[][20],int cantidad_animal_otros[],float valor_animal_otros[]){
  436. int decision,vector;
  437. if(otros>0){
  438. printf("\nOtros");
  439. printf("\nNombre\t\t\tCantidad\tValor");
  440. for(vector=0;vector<otros;vector++){
  441. printf("\n%.7s\t\t\t%d\t\t%.2f",nombres_otros[vector],cantidad_animal_otros[vector],valor_animal_otros[vector]);
  442. }
  443. printf("\n\n");
  444. }
  445. else{
  446. printf("\nLo siento no hay ningun animal registrado de este tipo.");
  447. }
  448. }
  449. void opciones_avanzadas(int total,float costo_total,char nombre_mas_barato[],int mas_barato,char nombre_mas_caro[],int mas_caro,float promedio){
  450. int decision;
  451. printf("Programa para Inventario de Tienda de mascota.");
  452. printf("\nOpciones Avanzadas.");
  453. printf("\nCantidad total de los animales:%d",total);
  454. printf("\n\nCosto total de los animales:%.2f",costo_total);
  455. printf("\n\nPromedio de los animales:%.2f",promedio);
  456. printf("\n\nAnimal mas barato:%s y su precio es:%d",nombre_mas_barato,mas_barato);
  457. printf("\n\nAnimal mas caro:%s y su precio es:%d",nombre_mas_caro,mas_caro);
  458. }
En línea

darioxlz

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Re: Ayuda en lenguaje c con funciones
« Respuesta #6 en: 23 Junio 2017, 21:33 pm »

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!
En línea

Roga

Desconectado Desconectado

Mensajes: 23


Ver Perfil
Re: Ayuda en lenguaje c con funciones
« Respuesta #7 en: 25 Junio 2017, 07:53 am »

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
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines