Algoritmo

Solo disponible en BuenasTareas
  • Páginas : 3 (584 palabras )
  • Descarga(s) : 0
  • Publicado : 14 de enero de 2012
Leer documento completo
Vista previa del texto
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...
tracking img