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

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Duda con Programacion Modular en C
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Duda con Programacion Modular en C  (Leído 2,937 veces)
Hellkard

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Duda con Programacion Modular en C
« en: 30 Octubre 2012, 18:44 pm »

Hola a todos

me estoy iniciando en esto de la programación, y en la escuela nos han dejado diseñar algunas cosas, ya eh terminado de implementarle Arrays, sin embargo me han dicho que este proyecto lo tengo que hacer también con programación modular, pero no tengo la mas mínima idea de como hacerlo   :(

alguno de ustedes me pudiera ayudar???  :D
Gracias a todos¡¡¡

este es el codigo que tengo


#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <time.h>
#include <math.h>
#include <dos.h>
#include "windows.h"

int main (void){

float tabla [6][2] = {{1,5.00}, {2,3.50}, {3,7.45}, {4,8.32}, {5,4.50}, {6, 0}};
int a , n, seleccion;
float total;

do {

puts("\t\t\t*****Menu*****\n");
printf("1. Jabon..............(c/u) %.2f Pesos" ,tabla[0][1]);
printf("\n2. Afeitadora.........(c/u) %.2f Pesos", tabla[1][1]);
printf("\n3. Shampoo............(c/u) %.2f Pesos", tabla[2][1]);
printf("\n4. Acondicionador.....(c/u) %.2f Pesos", tabla[3][1]);
printf("\n5. Pasta Dental.......(c/u) %.2f Pesos", tabla[4][1]);
printf("\n6. Salir Del Sistema",tabla[5][1]);
printf("\n \n Ingrese el numero del producto que desea adquirir: ");
scanf("%d",&n);

switch(n)
{
case 1:
printf("\n Cuantos Jabones desea adquirir? ");  
scanf("%d",&a);

total= tabla[n - 1][1] * a;

printf("\n Desea adquirir otro producto?");
printf("\n\n1.Si 2.No: ");
scanf("%d",&seleccion);

break;

case 2:
printf("\n Cuantas Afeitadoras desea adquirir? ");
scanf("%d",&a);

total= tabla[n - 1][1] * a + total;

printf("\n Desea adquirir otro producto?");
printf("\n\n 1.Si 2.No: ");
scanf("%d",&seleccion);

break;

case 3:
printf("\n Cuantos Shampoos desea adquirir? ");
scanf("%d",&a);

total= tabla[n - 1][1] * a + total;

printf("\n Desea adquirir otro producto?");
printf("\n\n1.Si 2.No: ");
scanf("%d",&seleccion);

break;

case 4:
printf("\n Cuantos Acondicionadores desea adquirir? ");
scanf("%d",&a);

total= tabla[n - 1][1] * a + total;

printf("\n Desea adquirir otro producto?");
printf("\n\n1.Si 2.No: ");
scanf("%d",&seleccion);

break;

case 5:
printf("\n Cuantas Pasta Dental desea aquirir? ");
scanf("%d",&a);

total= tabla[n - 1][1] * a + total;

printf("\n Desea adquirir otro producto?");
printf("\n\n1.Si 2.No: ");
scanf("%d",&seleccion);

break;

case 6:
system("cls");
printf("\n***Gracias Por Usar Nuestros Servicios***\n");
Sleep(800);
break;

default:
if(n<1 || n>6)
{
system("cls");
puts("\n\n ***Opcion Invalida***\n\n");
Sleep(500);
}

break;

}

} while(seleccion!=2);

printf("\nTotal a pagar es: %.3f Pesos",total);

printf("\n\n\t");
system("pause");

}   


En línea

avesudra


Desconectado Desconectado

Mensajes: 724


Intentando ser mejor cada día :)


Ver Perfil
Re: Duda con Programacion Modular en C
« Respuesta #1 en: 30 Octubre 2012, 19:40 pm »

Vale pero sin ánimo de ofender ¿cuál es el problema? es decir ¿y el enunciado?
Perdona , ya se que quisiste decir , sí , lo que tienes que hacer es implementar funciones que hagan cada cosa del menú.Dividir el programa en subrutinas, sólo por el simple hecho de «Divide y vencerás»
¡Un saludo y bienvenido al foro!


« Última modificación: 30 Octubre 2012, 20:10 pm por avesudra » En línea

Regístrate en
Hellkard

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Re: Duda con Programacion Modular en C
« Respuesta #2 en: 30 Octubre 2012, 20:32 pm »

Hola que tal

Gracias por la contestación, y no, no me ofendo jeje, al contrario

Pues mira se supone que este programa te imprime un menú en el cual el usuario debe escoger de la lista un producto el sistema le preguntara cuantos productos desea adquirir el usuario ingresara la cantidad a adquirir, así mismo le volverá a preguntar si quiere algún otro producto o no, de ser no pues le plasmara el total de la compra, agrandes rasgos es lo que hace

La maestra nos pidió que ya que lo hiciéramos con Arrays deberíamos de realizar una propuesta para dividirlo en módulos

y después de esto realizar el diagrama modular describiendo cuáles son los parámetros de entrada de cada módulo, cuál es la salida (valor de retorno) y la tarea que realizará cada uno de ellos

y codificarlo en C
En línea

Hellkard

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Re: Duda con Programacion Modular en C
« Respuesta #3 en: 30 Octubre 2012, 20:47 pm »

Vale pero sin ánimo de ofender ¿cuál es el problema? es decir ¿y el enunciado?
Perdona , ya se que quisiste decir , sí , lo que tienes que hacer es implementar funciones que hagan cada cosa del menú.Dividir el programa en subrutinas, sólo por el simple hecho de «Divide y vencerás»
¡Un saludo y bienvenido al foro!

 :D si en teoria es eso, pero no tengo la minima idea de como implementarlo ( sorry estoy medio zonzo para esto aun)

gracias
En línea

lapras

Desconectado Desconectado

Mensajes: 140



Ver Perfil WWW
Re: Duda con Programacion Modular en C
« Respuesta #4 en: 30 Octubre 2012, 23:31 pm »

Una manera fácil de hacerlo es simplemente copiar y pegar dentro de las funciones(o módulos) que defines y pasar los parámetros por referencia(punteros):
Código
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <stdlib.h>
  4. #include <time.h>
  5. #include <math.h>
  6. #include <dos.h>
  7. #include "windows.h"
  8.  
  9. void jabon         (int *a, float *total, int n, float (*tabla)[2], int *seleccion);
  10. void afeitadora    (int *a, float *total, int n, float (*tabla)[2], int *seleccion);
  11. void shampoo       (int *a, float *total, int n, float (*tabla)[2], int *seleccion);
  12. void acondicionador(int *a, float *total, int n, float (*tabla)[2], int *seleccion);
  13. void pasta         (int *a, float *total, int n, float (*tabla)[2], int *seleccion);
  14.  
  15. int main (void){
  16.  
  17. float tabla [6][2] = {{1,5.00}, {2,3.50}, {3,7.45}, {4,8.32}, {5,4.50}, {6, 0}};
  18. int a , n, seleccion;
  19. float total;
  20.  
  21. do {
  22.  
  23. puts("\t\t\t*****Menu*****\n");
  24. printf("1. Jabon..............(c/u) %.2f Pesos" ,tabla[0][1]);
  25. printf("\n2. Afeitadora.........(c/u) %.2f Pesos", tabla[1][1]);
  26. printf("\n3. Shampoo............(c/u) %.2f Pesos", tabla[2][1]);
  27. printf("\n4. Acondicionador.....(c/u) %.2f Pesos", tabla[3][1]);
  28. printf("\n5. Pasta Dental.......(c/u) %.2f Pesos", tabla[4][1]);
  29. printf("\n6. Salir Del Sistema",tabla[5][1]);
  30. printf("\n \n Ingrese el numero del producto que desea adquirir: ");
  31. scanf("%d",&n);
  32.  
  33. switch(n)
  34. {
  35. case 1:
  36. jabon(&a, &total, n, tabla, &seleccion);
  37. break;
  38.  
  39. case 2:
  40. afeitadora(&a, &total, n, tabla, &seleccion);
  41. break;
  42.  
  43. case 3:
  44. shampoo(&a, &total, n, tabla, &seleccion);
  45. break;
  46.  
  47. case 4:
  48. acondicionador(&a, &total, n, tabla, &seleccion);
  49. break;
  50.  
  51. case 5:
  52. pasta(&a, &total, n, tabla, &seleccion);
  53. break;
  54.  
  55. case 6:
  56. system("cls");
  57. printf("\n***Gracias Por Usar Nuestros Servicios***\n");
  58. Sleep(800);
  59. break;
  60.  
  61. default:
  62. if(n<1 || n>6)
  63. {
  64. system("cls");
  65. puts("\n\n ***Opcion Invalida***\n\n");
  66. Sleep(500);
  67. }
  68.  
  69. break;
  70.  
  71. }
  72.  
  73. } while(seleccion!=2);
  74.  
  75. printf("\nTotal a pagar es: %.3f Pesos",total);
  76.  
  77. printf("\n\n\t");
  78. system("pause");
  79.  
  80. }  
  81.  
  82.  
  83. void jabon (int *a, float *total, int n, float (*tabla)[2], int *seleccion){
  84. printf("\n Cuantos Jabones desea adquirir? ");  
  85. scanf("%d",a);
  86.  
  87. *total= tabla[n - 1][1] * (*a) + (*total);
  88.  
  89. printf("\n Desea adquirir otro producto?");
  90. printf("\n\n1.Si 2.No: ");
  91. scanf("%d",seleccion);
  92. }
  93.  
  94. void afeitadora (int *a, float *total, int n, float (*tabla)[2], int *seleccion){
  95. printf("\n Cuantas Afeitadoras desea adquirir? ");
  96. scanf("%d",a);
  97.  
  98. *total= tabla[n - 1][1] * (*a) + (*total);
  99.  
  100. printf("\n Desea adquirir otro producto?");
  101. printf("\n\n 1.Si 2.No: ");
  102. scanf("%d",seleccion);
  103. }
  104.  
  105. void shampoo (int *a, float *total, int n, float (*tabla)[2], int *seleccion){
  106. printf("\n Cuantos Shampoos desea adquirir? ");
  107. scanf("%d",a);
  108.  
  109. *total= tabla[n - 1][1] * (*a) + (*total);
  110.  
  111. printf("\n Desea adquirir otro producto?");
  112. printf("\n\n1.Si 2.No: ");
  113. scanf("%d",seleccion);
  114. }
  115.  
  116. void acondicionador (int *a, float *total, int n, float (*tabla)[2], int *seleccion){
  117. printf("\n Cuantos Acondicionadores desea adquirir? ");
  118. scanf("%d",a);
  119.  
  120. *total= tabla[n - 1][1] * (*a) + (*total);
  121.  
  122. printf("\n Desea adquirir otro producto?");
  123. printf("\n\n1.Si 2.No: ");
  124. scanf("%d",seleccion);
  125. }
  126.  
  127. void pasta (int *a, float *total, int n, float (*tabla)[2], int *seleccion){
  128. printf("\n Cuantas Pasta Dental desea aquirir? ");
  129. scanf("%d",a);
  130.  
  131. *total= tabla[n - 1][1] * (*a) + (*total);
  132.  
  133. printf("\n Desea adquirir otro producto?");
  134. printf("\n\n1.Si 2.No: ");
  135. scanf("%d",seleccion);
  136. }

De verdad que es muy fácil si sabes como.
Por cierto, ¿el código lo ha hecho tu profesora? Hay un error el la linea esta "total= tabla[n - 1][1] * a;"
Si quieres comprar jabones después de comprar lo que sea sólo pagaras los jabones. Lo correcto sería "total= tabla[n - 1][1] * a+ total;" o "total+= tabla[n - 1][1] * a;"
En línea

Hellkard

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Re: Duda con Programacion Modular en C
« Respuesta #5 en: 31 Octubre 2012, 00:29 am »

Una manera fácil de hacerlo es simplemente copiar y pegar dentro de las funciones(o módulos) que defines y pasar los parámetros por referencia(punteros):

De verdad que es muy fácil si sabes como.
Por cierto, ¿el código lo ha hecho tu profesora? Hay un error el la linea esta "total= tabla[n - 1][1] * a;"
Si quieres comprar jabones después de comprar lo que sea sólo pagaras los jabones. Lo correcto sería "total= tabla[n - 1][1] * a+ total;" o "total+= tabla[n - 1][1] * a;"

Anda la osa.....  ;D jaja muchas gracias pos la ilustracion, aunque ps para mi aun se ve algo complicadillo jaja, hasta dudo que la profesora haya hecho ese codigo, para mi que lo copio de algun lado y le ah de modificar dos o tres cosas...

muchas gracias por el ejemplo
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
paginacion en web modular!!
PHP
pepelon 1 2,523 Último mensaje 20 Enero 2007, 20:31 pm
por alone-in-the-chat
Programación modular en Batch [By Invisible_Hack]
Scripting
invisible_hack 1 4,962 Último mensaje 21 Noviembre 2008, 18:58 pm
por WestOn
Formulario + web modular
PHP
IWKY 6 3,293 Último mensaje 7 Enero 2009, 21:01 pm
por IWKY
ejemplo de programacion modular en pseudocodigo
Dudas Generales
Dnte.w 0 2,636 Último mensaje 14 Mayo 2015, 00:23 am
por Dnte.w
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines