Sei sulla pagina 1di 15

Informe Individual Unidad X – Tarea 3

Leonardo Romero J
C.c 1129533378
Grupo:243002_49

Presentado a:
Diego Fernando Vasco

Universidad Nacional Abierta y a Distancia


Escuela de Ciencias Básicas Tecnología e Ingeniería
Ingeniería Electrónica
Noviembre - 2019
Introducción

En esta actividad el lector podrá aprender o refrescar conocimientos en cuanto a la


creación de algoritmos se requiere en un lenguaje de programación en C, y
sentencias while, do while y for sentencias goto, break y continue, no obstante se
observa un ejemplo cotidiano el cual se plasma en la actualidad de solicitar un
crédito el tipo , el interés y el valor a cancelar por medio de un programa de lenguaje
algorítmico , el lector podrá enriquecer conocimientos debido a que en esta
actividad le mostrara paso a paso la creación del programa anteriormente
mencionado y la manipulación del software para su determinada creación,
actividades las cuales estamos seguros que será de gran intereses y de gran
seducción al lector.
Objetivos

 Aplicar una metodología para la solución de problemas usando conceptos de


algoritmia y programación
 Usar un lenguaje de programación para plantear los algoritmos mencionados
para la implementación de problemas,
 Aplicar técnicas de comprobación de ejercicios por medio de software para la
creación de ellos.
Unidad x – Tarea Individual
Equipo de pruebas:
Sistema Operativo:
Entorno de Desarrollo:

Ejercicio 1:

Problema Planteado: El restaurante Don Juaco necesita implementar mejoras en el programa


que se presentó en la Unidad anterior, a partir de allí se deben tener presente los nuevos
requerimientos:
Con el objetivo de llevar un mejor control de la cantidad total de platos vendidos y los ingresos
netos diarios generados en cada una de sus categorías (Desayunos, almuerzos y comidas rápidas)
el programa debe inicialmente solicitar la cantidad de platos vendidos en el día, para
posteriormente tomar los datos de cada un o de estos, preguntando el tipo de plato que se pidió,
su precio y a que categoría pertenece (Desayuno, almuerzo o comida).
Los precios de los productos ingresados en cada categoría deben de estar en los siguientes rangos:
o Desayunos 5.00 y 10.000.
 Clásico (Tipo de plato)
 Continental (Tipo de plato)
 Criollo (Tipo de plato)
o Almuerzos 8.000 y 25.000
 Bandeja paisa (Tipo de plato)
 Ajiaco (Tipo de plato)
 Pescado (Tipo de plato)
o Comidas Rápidas: 10.000 y 30.000
 Perro (Tipo de plato)
 Hamburguesa (Tipo de plato)
 Pizza (Tipo de plato)

Requerimientos: Al finalizar, el programa debe de Restricciones: La clave del ejercicio


mostrar un consolidado de todos los platos vendidos esta en primero ubicar al usuario dentro
mostrando su nombre, tipo, precio y categoria, además de una categoría y luego si validar los
la cantidad total de los productos vendidos por cada rangos (de lo contrario los rangos se
categoría y el total de ventas diarias. cruzarían).
Los datos de los platos (tipo, categoría,
nombre y precio) deben de guardarse en
arreglos.
Es necesario validar que los datos que
está ingresando el usuario por consola se
ajusten a los rangos y categorías
solicitados en el ejercicio.

Variables de Variables Datos o variables


Procesos Para Desarrollar
Entrada Auxiliares de Salida

Ejecución del Programa


(Paso a Paso, agregar tantas filas como lo requiera la ejecución de su programa)

Paso 1

Descripción: : Al iniciar el
programa este le
preguntara al usuario si
desea hacer un nuevo
registro, de ser afirmativo
se debe ingresar un 1
como lo especifica el
programa o 2 si no se
desea hacer ningún tipo
de registro.

Paso 2
Descripción: Al ser
positiva la respuesta en el
paso 1 , el programa le
pedirá al usuario que
especifique la categoría de
la venta que desea
registrar , el usuario
podrá seleccionar 1 de las
tres categorias marcando
el número
correspondiente a cada
una de estas.

Paso 3

Descripción :Al escoger la


categoría a registrar , sea
desayuno , almuerzo o
comida rápida , el
programa le pedirá que
especifique uno de los tres
platos en particular que
existe en cada una de las
tres categorías, por
ejemplo, especificar si es
bandeja paisa , ajiaco o
pescado para la categoría
de almuerzo.
Al seleccionar el plato ,
también se debe
especificar el precio de
este, si el precio no se
encuentra dentro del
rango el programa
arrojará un mensaje de
error.
Paso 4

Descripción: Una vez especificado


la categoría, el tipo de plato y el
precio del mismo , el programa le
preguntara al usuario si desea
hacer otro registro; de ser positiva
la respuesta el programa
continuará y se volverán a repetir
los pasos 2 y 3 , de ser negativa el
programa terminaría arrojando
la información ingresada hasta
ese momento. Para este caso en
específico la respuesta es positiva
y se ingresa un nuevo registro.

Paso 5

Descripción: Está es la parte


final del programa donde el
usuario decide no hacer más
registros de los platos vendido y
se muestra toda la información
que necesita para llevar un
control de la cantidad de platos
y el valor de la venta . Cómo se
puede observar el programa
muestra el número de platos
vendidos por categorias y el tipo
de platos el valor de la venta
por categorías y por tipo de
platos y un monto global de las
ventas que se hicieron en el día .

Codigo C

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

struct platos
{
char precio[7];
char categoria[12];
char tipo[12];

}*platos[500];

void main()
{
double cant=0;
int op=0,opc1=0,opc3=0,opc2=0;
double al=0,da=0,ba=0;
double bn=0,ar=0,ma=0;

system("cls");
printf("\n=================================================
==============================");
printf(" RESTAURANTE DON JUACO ");
printf("\n=================================================
==============================");
printf("\n");
printf(" CAJA REGISTRADORA ");
printf("\n=================================================
==============================");
printf("\n");
printf("\n");
printf("Digite cantidad de platos vendidos en el dia: ");
scanf("%lf",&cant);
int i=0;
for(i=0;i<cant;i++)
{
platos[i] = malloc(cant * sizeof(struct platos));

}
i=0;
for(i=0;i<cant;i=1+i)
{

do
{
system("cls");
printf(" CATEGORIA DEL PLATO REGISTRAR:\n");
printf("\n");
printf("1.DESAYUNO \n");
printf("2. ALMUERZO \n");
printf("3.COMIDA RAPIDA \n");
scanf("%d", &op);
printf("\n");
switch(op)
{
case 1:
al=al+1;
strcpy(platos[i]->categoria,"DESAYUNO");
printf("\n");
printf("\nDigite el precio del desayuno (entre
500 y 10000)%d: ",(i+1));
scanf("%s",&platos[i]->precio);

printf("\n");
printf(" SELECCIONE UN TIPO DE DESAYUNO:\n");
printf("\n");
printf("1.CLASICO \n");
printf("2.CONTINENTAL \n");
printf("3.CRIOLLO \n");
scanf("%d", &opc2);
printf("\n");
switch(opc2)
{
case 1:
bn=bn+1;
strcpy(platos[i]->tipo,"CLASICO");
break;
case 2:
ar=ar+1;
strcpy(platos[i]->tipo,"CONTINENTAL");
break;
case 3:
ma=ma+1;
strcpy(platos[i]->tipo,"CRIOLLO");
break;
default:printf("Opcion no valida");break;
}

break;

case 2:
da=da+1;
strcpy(platos[i]->categoria,"ALMUERZO");
printf("\n");
printf("\nDigite el precio del almuerzo (entre 8000 y 1000%)d: ",(i+1));
scanf("%s",&platos[i]->precio);
printf("\n");
printf(" SELECCIONE UN TIPO DE ALMUERZ0:\n");
printf("\n");
printf("1.BANDEJA PAISA \n");
printf("2.AJIACO \n");
printf("3.PESCADO \n");
scanf("%d", &opc3);
printf("\n");
switch(opc3)
{
case 1:
bn=bn+1;
strcpy(platos[i]->tipo,"BANDEJA PAISA");
break;
case 2:
ar=ar+1;
strcpy(platos[i]->tipo,"AJIACO");
break;
case 3:
ma=ma+1;
strcpy(platos[i]->tipo,"PESCADO");
break;
default:printf("Opcion no valida");break;
}

break;
case 3:
ba=ba+1;
strcpy(platos[i]->categoria,"COMIDA RAPIDA
");

printf("\nDigite el precio de la comida rapida


(entre 10000 y 30000) %d: ",(i+1));
scanf("%s",&platos[i]->precio);
printf("\n");
printf(" SELECCIONE UN TIPO DE COMIDA RAPIDA:\n");
printf("\n");
printf("1.PERRO \n");
printf("2.HAMBURGUESA \n");
printf("3.PIZZA \n");
scanf("%d", &opc1);
printf("\n");
switch(opc1)
{
case 1:
bn=bn+1;
strcpy(platos[i]->tipo,"PERRO");
break;
case 2:
ar=ar+1;
strcpy(platos[i]->tipo,"HAMBURGUESA");
break;
case 3:
ma=ma+1;
strcpy(platos[i]->tipo,"PIZZA3");
break;
default:printf("Opcion no valida");break;
}

break;
default:printf("\nOpcion no valida");
getch();break;
}
}while(op>3);

system("cls");

printf("\n=========================");
printf("\nLista de personas encuetadas: ");
for(i=0;i<cant;i++)
{
printf("\n=========================");
printf("\n");
printf("\nCategoria del plato: %s %",platos[i]->categoria);
printf("\nprecio del plato: %s %",platos[i]->precio);
printf("\ntipo de plato: %s %",platos[i]->tipo);
printf("\n");
printf("\n=========================");

}
getch();

}
Conclusiones

Se puede concluir que esta actividad fue muy enriquecedora ya que seduce al lector el
tipo de metodología y tema para el desarrollo del mismo, la creación e implementación
de algoritmos para resolver problemas de la cotidianidad suele ser un gran aporte de
conocimiento para el desarrollo de un buen profesional en la materia , se pudo aprender
la manipulación de software para la creación de programas y algoritmos de bajo nivel ,
dotándonos de conocimientos básicos y preparación para nuevos retos que nos esperan a
futuro

Potrebbero piacerti anche