Portafolios de Programación

En este espacio se podrán ver las tareas en el curso de programación de la sección 114/s5. Además de algunas investigaciones.

Se pretende agregar prácticas de laboratorio y algunos algorítmos simples que se incluyen en el temario de fundamentos de programación.

Abajo se muestra la tarea, investigación o ejercicio que se hizo por última vez en el curso.

Celina O. O.

Código 23: Apuntadores a estructura

Un señor tiene una tienda de abarrotes y dentro de ella cuenta con una máquina que vende chocolares, la información que se requiere manejar es la siguiente:
--> tipo de chocolate, costo por pieza, cantidad vendida y costo total de la venta.
El señor x desea que al final del día el programa le indique qué tipo de chocolate fue el más vendido y el costo de la venta.

#include
#define n 2
#include "mismenus.h"


struct carac
{
char nombre[30];
int id; /*ID del producto*/
int cantv;
int cantc; /*Guarda el numero de chocolates existentes*/
int costo;
}choco[n];

int main()
{

setbuf(stdin,NULL);
int opc, i, opc2;
int a, vent;
struct carac *ap;

do
{
menu();
scanf("%d", &opc);
switch(opc)
{

case 0: {
do
{
menuadmin();
scanf("%d", &opc2);
switch (opc2)
case 1:
{
printf("Escribe los datos de %d chocolates", n);
for (i=0; i < n; i++){
printf("\nNombre: \n");
scanf("%*c%[^\n]", &choco[i].nombre);
printf("Cuantos hay: \n");
scanf("%d", &choco[i].cantc);
printf("¿De a como?\n");
scanf("%d", &choco[i].costo);
}
}
}
while(opc2!=3);
break;
}
case 1: {
for (i=0; i < n; i++){
if(choco[i].cantc==0)
printf("\nNo hay chocolates, vuelve más tarde\n");
else{
choco[i].id=i;
printf("\nID del producto: %d", choco[i].id);
printf("\n%s\n", choco[i].nombre);
printf("%d\n", choco[i].cantc);
printf("%d\n\n", choco[i].costo);
}/*Fin else*/
}/*Fin for*/
printf("\n\nId del producto que quieres comprar: ");
scanf("%d", &a);
vent=comprar(ap, &a, 2);
printf("Quedan %d chocolates", choco[i].cantc);
printf("%d",vent);
break;
}

}/*Fin del SWITCH*/

}while(opc!=2);

} /*Fin del main*/





/*Libreria mismenus.h*/
void menu(void)
{
printf("\n Choco Machine \n\n");
printf("\n1.Mostrar y comprar chocolates");
printf("\n2.Salir");
printf("\n\n\nEscribe 0 si eres el administrador\n");
return;
}

void menuadmin(void)
{
printf("\n1.Llenar maquina");
printf("\n2.Reporte de ventas");
printf("\n3.Salir");
return;
}

int comprar(struct carac *ap, int *a, int n)
{
int i, venta;
for (i=0; iif (ap->id[i]==*a)
ap->cant[i]=(ap->cant[i])-1;
else
printf("No existe el ID");
}
venta=venta+1;
return(venta);
}

No hay comentarios: