Algoritmo

Páginas: 3 (584 palabras) Publicado: 14 de enero de 2012
Certamen Nº 1 Algoritmos y Estructuras de Datos
8 de noviembre de 2011

1. Un sistema de compras on-line permite al usuario comprar varios productos en una misma orden de compra. Cada vez que seagrega un producto al carro se conoce el nombre del producto, la cantidad comprada y el valor unitario.

a. Declare una estructura de datos tipo lista lineal enlazada que permita almacenar loproductos agregados al carro de compras de una orden de compra. (8 puntos).

struct nodo{
char nombre[15];
int cantidad;
int valor;
struct nodo *link;
};typedef struct{
int tamano;
struct nodo *head;
}lista;

lista *carro;

b. Defina una función en C, llamada agrega_compra, que reciba por parámetro la listalineal y los datos del producto y permita a agregar a la lista el nuevo producto agregado al carro de compras. (10 puntos).

void agrega_compra(char nombre[15], int cantidad, int valor, lista*carro)
{ struct nodo *nodoaux;
nodoaux = (struct nodo *)malloc(sizeof(struct nodo));
strcpy(nodoaux->nombre, nombre);
nodoaux->cantidad = cantidad;
nodoaux->valor =valor;
nodoaux->link = carro->head;
carro->head = nodoaux;
carro->tamano=carro->tamano + 1;
}

c. Defina una función en C, llamada calcula_total_compra, que reciba por parámetro lalista lineal y calcule el valor total de la orden de compra del usuario, imprimiendo este valor por pantalla. (10 puntos)

void calcula_total_compra(lista *carro)
{ struct nodo *aux;int valor_total=0;
aux=carro->head;
while(aux != NULL)
{ valor_total = valor_total + aux->cantidad*aux->valor;
aux = aux->link;
}printf ("\El valor total de la Compra es: %i", valor_total);
}

d. Diga de qué orden de ejecución es la función anterior. Justifique. (5 puntos).

La función anterior es de orden...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Algoritmo
  • Algoritmo
  • Algoritmos
  • Algoritmos
  • Algoritmos
  • Algoritmos
  • Algoritmos
  • Algoritmos

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS