Sie sind auf Seite 1von 37

1

Matemticas Discretas Conjuntada a Programacin


Estructurada

Reporte de Avance de Proyecto
Sistema de Cafetera Automatizado (S.A.C.)

Cristhian Alexis Flores Martnez

Profesor:
Francisco Lpez Orozco

208

22/Junio/2014, Cd. Ixtepec, Oaxaca, Mxico.

2
ndice.
Introduccin 3
Descripcin del programa principal 4
Descripcin de subprogramas 11
Descripcin de estructuras 20
Descripcin de archivos 22
Pruebas de la aplicacin 27
Descripcin de secciones por implementar 35
Correccin y optimizacin de cdigo 36
Diagrama bloques 37



3
Introduccin.
Como todo proyecto que se est poniendo en prctica este debe de tener una
documentacin del avance que se est llevando, y si hay o hubo fallas, o quizs se
pudieron optimizar los recursos disponibles, etc.
Y pues igualmente este reporte tiene la misma finalidad, mostrar el porcentaje de
avance y como se est cumpliendo el proyecto de la aplicacin para una cafetera,
realizada por el alumno Cristhian Alexis Flores Martnez quin actualmente est
cursando el segundo semestre de la Licenciatura en Informtica en la Universidad
del Istmo (UNISTMO) campus Ixtepec.
Todos los puntos importantes sobre la aplicacin se mostraran a continuacin
estableciendo una descripcin de secciones ya implementadas, y que estn
funcionando de la aplicacin al igual de las que restan por implementar, adems de
que se har una estimacin del porcentaje de avance actual.


4
Descripcin del programa principal.
A continuacin se explicara cmo est compuesto el programa principal y las tareas
que este contiene.
El programa principal est constituido por un men principal que contiene distintas
opciones para el usuario, dentro dicho men y opciones se encuentran distintas
funciones que hacen referencia a procesos simples o no tan simples que ayudan al
programa principal a que se ejecute de forma ptima.
Cabe resaltar que el programa principal solo manda mensajes a pantalla sobre
instrucciones o tareas que se vallan a resultar ya que en varias partes se llaman a
distintas funciones que realizan tareas y que nos devuelven los resultados, aunque
eso no quiere decir de que el programa principal no tenga tareas importantes,
realmente no se pensaba usar funciones en un principio, pero luego de pensar se
lleg a la conclusin de que se deban usar funciones para hacer los procesos un
tanto ms comprensible.
Actualmente se sigue trabajando en la aplicacin y puesto a eso, el programa
principal an no ha sido concluido, pero se mostrara como est constituido el
programa principal y como trabaja.
Int main.
Dentro de la funcin int main se encuentra el programa principal compuesto por los
mens, variables, funciones de las bibliotecas estndar y funciones de usuario, entre
otras. Cabe mencionar que hay variables que no se estn usando actualmente.
A continuacin se mostrara unas imgenes del cdigo en la funcin int main, y ms
a delante se explicaran las funciones y sus llamadas al programa principal; tambin
se hablara de los archivos usados ms adelante..




5
Encabezado principal de la aplicacin.




Comentarios acerca de la aplicacin y
datos del programador.
Bibliotecas estndar de C.
Definicin de constante para
arreglos.

6
Funcin int main.
Declaracin de
variables.
Declaracin de archivo para
contrasea de usuario.
Ciclo que maneja el men principal.
Opciones del men principal.
Caso a para el manejo de
usuario.

7

Lectura y ocultamiento de
password del usuario.
Password de usuario.
Comparacin de password.
Ciclo que maneja el men administrador.
Men de opciones para el
administrador.
Caso a del men
administrador.
Cinta de opciones del caso
a, del men administrador.

8
Caso a donde se ejecuta la
funcin de altadesayuno.
Caso a donde se ejecuta la
funcin de altacomida.
Caso default si se da una
opcin inexistente.
Fin del ciclo que controla el
caso a del men
administrador.
Fin del ciclo que controla el
men administrador.

9
Else que se ejecuta en caso
de dar password incorrecto.
Caso b del men principal.
Cinta de opciones para modificar el
men de desayunos y comidas.
Caso a que llama a la funcin
altadesayuno.
Caso b que llama a la funcin
altacomida.

10


Caso default que se ejecuta si se da
una opcin inexistente.
Caso c del men principal que contiene
el men de desayuno y comida.
Caso d del men principal donde se deja
los comentarios del cliente.
Caso default del men principal si da una
opcin inexistente.
Fin de ciclo que controla el men
principal

11
Descripcin de sub-programas.
Como se mencion anteriormente la aplicacin est compuesta por distintas
funciones o sub-rutinas que ayudan al programa principal ejecutar ciertas tareas, y a
continuacin se describirn un poco de las funciones creadas y utilizadas hasta el
momento.
Funcin ttulo:
La funcin que se mostrar a continuacin manda un mensaje que hace referencia al
nombre de la aplicacin, la funcin tiene como nombre ttulo y no recibe ni retorna
ningn valor.

Declaracin de la funcin.


Definicin de la funcin.



12
Llamada a funcin.



Funcin mensaje.
La funcin mensaje igualmente manda a pantalla un encabezado referenciando a la
aplicacin, tambin no recibe ni retorna ningn valor.
Declaracin de la funcin.


Definicin de la funcin.

Seccin donde se manda a
llamar la funcin.

13
Llamada a funcin.



Funcin tiempo.
La funcin tiempo nos manda a pantalla la hora y fecha en la que se ejecuta el
programa. La funcin no recibe ni regresa ningn valor; pero est compuesta por
funciones de la biblioteca estndar time de C.
Declaracin de la funcin.

Definicin de la funcin.


Seccin donde se manda a
llamar la funcin.

14
Llamada a funcin.



Funcin comentario.
La funcin comentario no recibe ni retorna ningn valor, pero guarda en un archivo
llamado come los comentarios o sugerencias que el cliente puede dejar, la funcin
igualmente maneja la fecha y hora.
Est compuesta por funciones del biblioteca time, los comentarios se guardan
dentro de un arreglo tipo char
Declaracin de la funcin.


Seccin donde se manda
a llamar la funcin.

15
Definicin de la funcin.




16
Llamada a funcin.



Funcin alta-desayuno.
La funcin alta-desayuno no recibe ni regresa valor alguno, est compuesta por un
archivo llamado desay, un arreglo o vector de tamao tam predefinido con el valor
de 300, y dentro de la funcin se manda a llamar mensaje. Actualmente se est
batallando con la funcin para guardar los datos en el archivo.
Declaracin de alta-desayuno.


Seccin donde se manda
a llamar la funcin.

17
Definicin de funcin.



18

Llamada a funcin.



Funcin alta-comida.
La funcin alta-comida es exactamente similar a la funcin alta-desayuno ya que
se encarga de guardar los nuevos platillos, adems de que est compuesta por un
archivo comida, y un arreglo de tamao tam.
Al igual que en la funcin anterior se est batallado para guardar los datos en el
archivo.
Declaracin de la funcin.


Seccin donde se manda
a llamar la funcin.

19
Definicin de la funcin.



20
Llamada a funcin.



Descripcin de estructuras.
Actualmente se est usando estructuras en la aplicacin para su uso
correspondiente, adems cabe mencionar que las estructuras se usaran en
funciones para operaciones distintas.
Estructura productos.
La estructura productos maneja tres tipos de datos como clave de tipo int, un arreglo
de tamao tam de tipo char, y costo de tipo float, la estructura fue creada con la
intencin de dar de alta productos de desayuno y comida, cabe resaltar que la
estructura se guarda en un arreglo de tamao tam. Actualmente se est batallando
con su uso en la funcin altadesayuno y altacomida para guardar los datos en el
archivo.

Seccin donde se manda
a llamar la funcin.

21
Declaracin de la estructura.

Cambio de nombre de la estructura.

Declaracin de un arreglo de tamao tam de tipo productos en una funcin.

Uso del arreglo desayuno de tipo productos.


Declaracin del arreglo.

22
Estructura ventas.
Actualmente esta estructura no se encuentra en uso, se compone por variables clave
de tipo int, costo de tipo float, cantpro de tipo int, total de tipo float y cambio de
tipo float, el uso de esta estructura se har dentro de una funcin que realizara la
operacin de venta de productos.
Declaracin de la estructura.

Cambio de nombre de la estructura.

Descripcin de archivos.
Actualmente se encuentran en uso tres archivos, uno de los archivos guarda las altas
de los desayunos, otro guarda las altas de las comidas y el tercer archivo guarda los
comentarios del cliente, cabe mencionar que no sern los nicos archivos con los
que se trabajaran ya que se usaran ms en otras secciones de la aplicacin.
Archivo comida.
El archivo comida guarda las altas que el administrador u otro usuario de la
aplicacin haga. El tipo de apertura es a+ que se encarga de actualizar el archivo.
Nota: Actualmente hay fallas para guardar los datos en el archivo.


23
Declaracin del archivo.

Apertura de archivo.

Uso de archivo en el cdigo.



Cierre del archivo.

24
Muestra del archivo (tiene errores).

Archivo desayuno.
El archivo desayuno tiene el mismo objetivo que el archivo comida que es guardar
los cambios que se hagan en el men. Su tipo de apertura es a+.
Nota: Actualmente hay fallas para guardar los datos en el archivo.
Declaracin del archivo.

Apertura de archivo.



25
Uso de archivo en el cdigo.



Muestra del archivo (con errores).

Cierre del archivo.

26
Archivo comentarios.
En el archivo comentarios, se guarda las opiniones del cliente y/o sugerencias que
dejan. El tipo de apertura es a+. El archivo maneja la fecha y hora en la que se deja
el comentario.
Declaracin del archivo.

Apertura de archivo.

Uso de archivo en el cdigo.



Cierre de archivo.

27
Muestra del archivo.

Pruebas de la aplicacin.
A continuacin se mostraran las pruebas de la aplicacin ya en ejecucin, adems se
dar una descripcin de ellas.
Men principal.
El men principal est compuesto por la funcin titulo que nos manda a pantalla el
acrnimo del nombre de la aplicacin.
En el men se puede observar cinco opciones entre las que se encuentran:
a) Iniciar sesin.
b) Modificar men.
c) Men (desayunos y comidas).
d) Escribir comentario.
e) Salir.
Actualmente solo cuatro estn en funcionamiento, la opcin que no est en
funcionamiento es la de men.

28


Iniciar sesin.
Esta opcin es exclusivamente para el administrador de la cafetera y contiene ms
opciones de uso.
1) Se pide el password correspondiente al usuario.


29
2) En esta parte la aplicacin nos muestra las opciones con las que actualmente
cuenta el men del administrador. Las opciones son alta productos, modificar
men y salir de las cuales solo dos estn funcionando, la nica que no
funciona es la de modificar men.


3) En esta parte la aplicacin nos muestra otro men interno donde se elige la
opcin de desayuno, comida o salir.


30
4) Aqu se manda a llamar una funcin llamada altadesayuno que solicita el
nmero de desayunos a dar de alta.
En esta seccin de la aplicacin se localizan fallas para la actualizacin del archivo
donde se guardan los cambios.


5) Aqu se manda a llamar nuevamente una funcin que se llama altacomida,
que solicita el nmero de comidas a dar de alta.
Igualmente en esta seccin de la aplicacin se localizan fallas para la actualizacin
del archivo donde se guardan los cambios.


31
6) Actualmente la opcin modificar men no se encuentra disponible, adems
hace referencia a una opcin ya existente que es la de alta productos, y esa
opcin se eliminara o cambiara por una distinta.

7) Si la contrasea se no es la correcta la aplicacin se lo har saber al usuario.



32
Modificar men.
Dentro de esta opcin se encuentran tres opciones que son desayuno, comida y
salir. Dichas opciones son las mismas que se localizan en el men del administrador
y como se haba mencionado anteriormente hay unas fallas para guardar los datos
ingresados.

1) Aqu se manda a llamar una funcin llamada altadesayuno que solicita el
nmero de desayunos a dar de alta.
En esta seccin de la aplicacin se localizan fallas para la actualizacin del archivo
donde se guardan los cambios.


33
2) Aqu se manda a llamar nuevamente una funcin que se llama altacomida,
que solicita el nmero de comidas a dar de alta.
Igualmente en esta seccin de la aplicacin se localizan fallas para la actualizacin
del archivo donde se guardan los cambios.

Escribir comentario.
Esta opcin est diseada para que el cliente deje sus opiniones y/o comentarios
acerca de lo que ms le parezca.


34
1) Cuando se elige la opcin escribir comentario aparece en pantalla el
mensaje que nos indica dejar el comentario.

2) Una vez que se deja el comentario nos manda a pantalla un mensaje que nos
indica que se ha guardado con xito.



35
Salir.
Esta opcin es la ms sencilla que hay dentro de la aplicacin y al elegirla nos
manda a pantalla un mensaje que nos indica por quien ha sido desarrollado la
aplicacin.

Descripcin de secciones por implementar.
An faltan secciones de cdigo por implementar, y a continuacin se platicara un
poco acerca de ello.
Calculo de la operacin pago.
Esta operacin se localizara dentro de una funcin que se encargara de realizar el
cobro de los productos consumidos, la operacin pago hace referencia al monto
recibido por el cliente, el total de lo consumido as como el cambio a devolver.
Bsqueda de productos.
La bsqueda de productos tambin se localizara dentro de una funcin, y dicha
funcin se encargara de buscar la existencia del producto, la bsqueda se har
haciendo referencia al nmero de clave que posee y nos indicara si existe dicho
producto o lo contrario.

36
Visualizar comentarios.
La visualizacin de comentarios se localizar dentro del men del usuario quien
podr ver los comentarios que el cliente deja.
Carga de cuenta.
La carga de cuenta se localizar en una funcin que simular el proceso de carga
de la cuenta del administrador.
Men del da.
Se codificar la opcin men del da del men principal, en dicha opcin se
visualizar los productos disponibles y se pondr la opcin de elegir platillo.
Archivos.
Dentro de algunas opciones se ejecutaran archivos para guardar datos, un ejemplo
es en el password del usuario que al momento de leer la entrada desde el teclado lo
compare con el password del archivo, igualmente falta el ocultamiento del password
para visualizarlo de una manera totalmente distinta en el archivo.
Correccin y optimizacin de cdigo.
Hay distintas secciones de bloques de cdigo que an no se han corregido hasta el
momento que no son errores pero que se puede optimizar, a continuacin se
indicarn las secciones a corregir y optimizar.
Uno de los bloques a optimizar es la comparacin de la contrasea desde un
archivo.
Otra seccin a optimizar es el ocultamiento del password para verse diferente de
cmo es en realidad.
Un punto donde actualmente hay errores y se corregir es en la funcin
altadesayuno y altacomida que no guardan los datos que se dan de alta.
Referenciando al password nuevamente se har un cambio que controle
oportunidades que tiene para introducir el password correcto en caso contrario.
37
Diagrama bloques.
|
Programa principal
Titulo
Altadesayuno
Mensaje
Altacomida
Tiempo
Escribir comentario Iniciar sesin
Salir
Ver comentario
Modificar men
Men
Desayuno Comida

Das könnte Ihnen auch gefallen