Sei sulla pagina 1di 15

INGENIERÍA CIVIL

PROYECTO INFORMATICO
INFORMÁTICA Y PROGRAMACIÓN

— ALDECOA VALDIVIA,
MARIA XIMENA
— APARICIO HUAMAN,
STEFANY LIOSHY
— CHUQUIPALLA
HUAMANI, ALEXANDER
JHON
— DELGADO MEDINA,
RENATA PATRICIA
— OPPE MAMANI, RENE
FERNANDO

SEMESTRE 1

AÑO 2019
INDICE

1. OBJETIVOS DEL PROYECTO…………………………………………...…1

a. Objetivo General……………………………………………………….....1
b. Objetivos Específicos……………………………………………………..1

2. MARCO TEÓRICO…………………………………………………………...3

a. Conceptos de las estructuras aplicadas………………………………..3

3. DESARROLLO DEL PROYECTO………………………………………....9

a. Lista de variables (con una brevísima descripción)……………………9


b. Código Fuente (comente procesos principales)……………………...10

4. CONCLUSIONES……………………………………………………………12

5. RECOMENDACIONES……………………………………………………..13
Objetivos del proyecto

Objetivo general

Elaborar un programa el cual debe iniciarse mostrando un menú repetitivo con las
siguientes opciones:

1. NUEVOS CLIENTES

2. NUEVOS MATERIALES

3. LISTAR MATERIALES

4. BUSCAR MATERIALES

5. VENDER MATERIALES

a) FACTURA

b) BOLETA

6. SALIR

Ingrese una opción_______

Objetivos específicos

1) La opción NUEVOS CLIENTES nos permitirá el ingreso de nuevos clientes,


ingresar los datos y deberá hacer validaciones.

-Deberá hacer precargado de 9 clientes

2) La opción NUEVOS MATERIALES permitirá el ingreso de nuevos materiales,


ingresar datos y deberá hacer validaciones.

-Se debe tener ya ingresado datos de 10 materiales de construcción.

1
3) La opción LISTA DE MATERIALES al seleccionarla, el sistema deberá limpiar la
pantalla y deberá lista de materiales que existen en el sistema

4) La opción BUSCAR MATERIALES debe permitir buscar un material por el código


de material que debe ser ingresado por teclado.

-De encontrarse, mostrara todos sus datos del material. De no encontrarse mostrara
un mensaje “proveedor no encontrado” (una sola vez) y volverá a pedir código de
material.

5) La opción VENDER MATERIALES permitirá realizar la venta de un conjunto de


materiales a un determinado cliente.

5.1) Primero pedirá ingresar el código de un cliente, si solo existe el cliente


procederá la compra de lo contrario dirá: usuario no registrado, operación invalida y
volverá al menú inicial.

5.1.2) Si el usuario existe pedirá ingresar cuantos productos desea vender.

5.1.3) Después preguntara si desea factura o boleta.

a) si es factura deberá hacer los siguientes cálculos incluyendo el IGV.

b) en el caso de boleta deberá hacer lo mismo pero no considerar el IGV

FINALMENTE el sistema deberá lanzar un mensaje de confirmación si la venta


procede o no. Si acepta, se registrara la venta en la tabla.

2
Marco teórico

Estructuras de datos

Las estructuras de datos se emplean con el objetivo principal de organizar los datos
contenidos dentro de la memoria del ordenador. Así, nuestra primera experiencia
con estructuras comienza desde el momento mismo en que usamos en nuestros
programas variables de tipos primitivos (char, short, int, float, etc).

La idea de ver la memoria como un serie de bytes es buena, sin embargo no es


suficiente ya que en la misma podemos guardar números, cadenas de caracteres,
funciones, objetos, etc. de tal manera que surge la necesidad de establecer los
mecanismos adecuados para dar cuenta de la forma, tamaño y objetivo de los datos
almacenados.

En C++ existe una serie de estructuras básicas o tipos primitivos, los cuales pueden
ser usados por el programador para declarar variables, y también son el fundamento
sobre el cual se crean estructuras complejas.

Expresiones

Como ya hemos dicho con los datos de un tipo podemos realizar determinadas
operaciones pero, ¿cómo las expresamos en un lenguaje de programación? Para
resolver este problema aparece lo que llamamos operadores. Podemos decir que
un operador es un símbolo o conjunto de símbolos que representa la aplicación de
una función sobre unos operados. Cuando hablamos de los operados no sólo nos
referimos a variables, sino que hablamos de cualquier elemento susceptible de ser
evaluado en alguna forma. Por ejemplo, si definimos una variable entera podremos
aplicarle operadores aritméticos (+, -, *, /), de asignación (=) o relacionales (>, <,…),
si definimos una variable compuesta podremos aplicarle un operador de campo que
determine a cuál de sus componentes queremos acceder, si definimos un tipo de
datos podemos aplicarle un operador que nos diga cuál es el tamaño de su
representación en memoria, etc.

3
Los operadores están directamente relacionados con los tipos de datos, puesto que
se definen en función del tipo de operados que aceptan y el tipo del valor que
devuelven. En algunos casos es fácil olvidar esto, ya que llamamos igual a
operadores que realizan operaciones distintas en función de los valores a los que
se apliquen, por ejemplo, la división de enteros no es igual que la de reales, ya que
la primera retorna un valor entero y se olvida del resto, mientras que la otra devuelve
un real, que tiene decimales.

Un programa completo está compuesto por una serie de sentencias, que pueden
ser de distintos tipos:

Declarativas: que son las que empleamos para definir los tipos de datos, declarar
las variables o las funciones, etc., es decir, son aquellas que se emplean para definir
de forma explícita los elementos que intervienen en nuestro programa,

Ejecutables: Que son aquellas que se transforman en código ejecutable, y

Compuestas: Que son aquellas formadas de la unión de sentencias de los tipos


anteriores.

Llamaremos expresión a cualquier sentencia del programa que puede ser evaluada
y devuelve un valor. Las expresiones más simples son los literales, que expresan
un valor fijo explícitamente, como por ejemplo un número o una cadena de
Caracteres. Las expresiones compuestas son aquellas formadas por una
secuencia de términos separados por operadores, donde los términos pueden ser
literales, variables o llamadas a funciones (ya que devuelven un resultado).

Estructura de los programas

El mínimo programa de C++ es: main() { }

Lo único que hemos hecho es definir una función (main) que no tiene argumentos y
no hace nada. Las llaves { } delimitan un bloque en C++, en este caso el cuerpo de
la función main. Todos los programas deben tener una función main() que es la que
se ejecuta al comenzar el programa.

4
Las sentencias simples se separan por punto y coma y las compuestas se agrupan
en bloques mediante llaves.

Las directivas serán instrucciones que le daremos al compilador para indicarle que
realice alguna operación antes de compilar nuestro programa, las directivas
comienzan con el símbolo # y no llevan punto y coma.

Los comentarios se introducirán en el programa separados por /* y */ o


comenzándolos con //. Los comentarios entre /* y */ pueden tener la longitud que
queramos, pero no se anidan.

Un programa simple que muestra todo lo que hemos visto puede ser el siguiente:

#include <iostream.h>

int main() { cout << "Hola\n"; // imprime en la pantalla la frase "hola" }

La línea que empieza por # es una directiva. Contiene las definiciones para
entrada/salida de datos en C++. En la declaración de main() hemos incluido la
palabra int, que indica que la función devuelve un entero.

La sentencia separada ente llaves indica que se escriba la frase "Hola". El carácter
\ seguido de otro carácter indica un solo carácter especial, en este caso el salto de
línea (\n).

El C++ utiliza el concepto de stream, que se refiere al flujo de la información


(tenemos un flujo de entrada que proviene de cin y uno de salida que se dirige a
cout) que se maneja mediante operadores de E/S.

Tipos de datos y operadores

Los tipos elementales definidos en C++ son: char, short, int, long, que representan
enteros de distintos tamaños. float, double y long double, que representan números
reales (en coma flotante).

Para declarar variables de un tipo determinado escribimos el nombre del tipo


seguido del de la variable. Por ejemplo:

int i; double d; char c;


5
Sobre los tipos elementales se pueden emplear los siguientes operadores
aritméticos:

+ (más, como signo o como operación suma)

-(menos, como signo o como operación resta)

*(multiplicación)

/ (división)

% (Modulo)

Y los siguientes operadores relacionales:

== (igual)

< (menor que)

> (mayor que)

<= (menor o igual que)

>= (mayor o igual que)

El operador de asignación se representa por =.

Estructuras de control

Como estructuras de control el C++ incluye las siguientes construcciones:

Condicionales:

If: instrucción de selección simple

Switch: instrucción de selección múltiple

Bucles:

do-while: instrucción de iteración con condición final

while: instrucción de iteración con condición inicial

for: instrucción de iteración especial (similar a las de repetición con contador)

6
De salto:

Break: instrucción de ruptura de secuencia (sale del bloque de un bucle o instrucción


condicional)

continue: instrucción de salto a la siguiente iteración (se emplea en bucles para


saltar a la posición donde se comprueban las condiciones)

return: instrucción de retorno de un valor (se emplea en las funciones)

TIPOS DE DATOS, OPERADORES Y EXPRESIONES

Tipos de datos: Para declarar una variable ponemos el nombre del tipo seguido del
de la variable. Podemos declarar varias variables de un mismo tipo poniendo el
nombre del tipo y las variables a declarar separadas por comas:

int i, j,k;

Además podemos inicializar una variable a un valor en el momento de su


declaración:

int i=100;

Tipos elementales: El C++ tiene un conjunto de tipos elementales correspondientes


a las unidades de almacenamiento típicas de un computador y a las distintas
maneras de utilizarlos:

Enteros: char,short, int, int long.

Reales (números en coma flotante): float double long doublé

El tipo entero char es el que se utiliza normalmente para almacenar y manipular


caracteres en la mayoría de los computadores y es el tipo que se utiliza como base
para medir el tamaño de los demás tipos del C++.

7
Un tipo especial del C++ es el denominado void (vacío). Este tipo tiene
características muy peculiares, ya que es sintácticamente igual a los tipos
elementales pero sólo se emplea junto a los derivados, es decir, no hay objetos del
tipo void Se emplea para especificar que una función no devuelve nada o como
base para punteros a objetos de tipo desconocido (esto lo veremos al estudiar los
punteros).

Void : indica la función Borra Pantalla no tiene parámetros y no retorna nada.

Tipos derivados:

De los tipos fundamentales podemos derivar otros mediante el uso de los siguientes
operadores de declaración:

Vectores

Para un tipo T, T[n] indica un tipo vector con n elementos. Los índices del vector
empiezan en 0, luego llegan hasta n-1. Podemos definir vectores
multidimensionales como vectores de vectores:

8
Desarrollo del Proyecto

A) Lista de variables utilizadas

#include <iostream>: Es un componente de la biblioteca estándar (STL) del lenguaje


de programación C++ que es utilizado para operaciones de entrada/salida.

#include <string>: Tiene varias funciones comunes para tratar con cadenas
almacenadas en matrices de caracteres.

#include <stdio.h>: Es el archivo de cabecera que contiene las definiciones de las


macros, las constantes, las declaraciones de funciones de la biblioteca estándar del
lenguaje de programación C para hacer operaciones

#include <stdlib.h>: Es el archivo de cabecera de la biblioteca, contiene los


prototipos de funciones de C para gestión de memoria dinámica, control de procesos
y otras.

#include <sstream>: Encabezado que proporciona clases de secuencia de cadena.

“cin” Es el flujo de entrada estándar que normalmente es el teclado.

“cout” Es el flujo de salida estándar que por lo general es la pantalla.

“int” Cantidad entera, Uso en contadores, control de bucles etc.

“char” Carácter, independiente o parte de una cadena.

“float” Almacena valores reales en punto flotante, Hasta 6 decimales. También


admite enteros.

“string” Cadena de caracteres, es una secuencia ordenada de elementos.

“switch” Son una estructura de control condicional, que permite definir múltiples
casos que puede llegar a cumplir una variable cualquiera, y qué acción tomar en
cualquiera de estas situaciones.

9
“bool” Puede tener dos estados expresados por las constantes predefinidas: true y
false.

“\n” Significa que termina una línea y comienza otra más abajo a partir de ahí.

“cin.ignore()” Es una función predefinida que ignora / borra uno o más caracteres
del búfer de entrada.

“for” Es una estructura de repetición empleada en la programación de algoritmos


para repetir un código una o más veces dependiendo de un contador

“while” Son una estructura cíclica, que nos permite ejecutar una o varias líneas de
código de manera repetitiva sin necesidad de tener un valor inicial.

“do”(while) Esta estructura se encarga de repetir de forma cíclica un conjunto de


instrucciones que se encuentren dentro del bucle.

“if” Esta sentencia permite la ejecución de un bloque de código, si y solo si, se ha


cumplido la condición dentro del "if", si no se cumplió la condición, se pasa a las
instrucciones que estén fuera del "if".

“else” Es mas bien, una respuesta a la condición que se formulo dentro de la


sentencia "if". Si la condición de "if" no se cumplió, entonces se ejecuta el bloque de
código que contenga la sentencia "else".

“stringstream” Es un stream que trabaja sobre un buffer interno. No escribe en


ficheros ni lee de teclados. Lo que envías a ese stream acaba en la memoria.

“system("pause")” Sirve para detener/ pausar el programa.

“system("cls")” Para limpiar la pantalla sólo en sistemas de Windows.

B) Código Fuente:

En el desarrollo del código, los nuevos materiales y nuevos clientes que son la parte
1ra y 2da del proyecto es la base para la solicitud de datos en las posteriores partes.
En esta fase crea las matrices también se crea un ciclo repetitivo, que está

10
relacionada con la verificación de datos, el bool nos permitirá saber si ya existe el
mismo dato, evitando la repetición de estas mismas, claro esto sucederá cuando
precarguemos nuevos datos a la librería.

En la 3ra y 4ta parte se pasa a mostrar todos los datos incluidos los nuevos
ingresados, la visualización se dará en la pantalla creando un matriz de manera
ordenada y en forma ascendente. Se recurre al uso de for anidados para su
funcionamiento.

La 5ta y 6ta parte se centran en la venta y salida, en orden mencionado se utilizara


el if como base principal que también está en condición de verificación, a su vez se
incluye do while, while y for, que básicamente son estructuras de repetición de
acuerdo a las instrucciones como la cantidad de veces que se va a repetir, en la
fase se dará el cálculo del precio y la cantidad de materiales pedidos, caso contrario
se aplicara else, pero los datos ya estarán almacenados. Se pedirá la confirmación
de las totales del precio impuesto culminando el programa.

11
Conclusiones

Lo más importante de este proyecto fue la demostración correcta del


funcionamiento en base a los principios establecidos del trabajo.

El programa se centra en el modo de cómo se actúa las funciones que permiten


cumplir las tareas requeridas, como la lista de nuevos clientes, los datos ingresados
de los materiales incluso de los que se van a ingresar.

En ese aspecto el diseño y la organización que se plantea el código, tomo como


información recursos nuevos, nos referimos al uso óptimo de nuevos condigo y
líneas que abreviaron el trabajo permitiendo un mejor entendimiento.

Este programa a enfrentados errores, que como bien se sabe tuvo que ser
visualizado por el equipo de trabajo en un entorno futurista de funcionamiento, dado
que podría darse el caso de posibles fallas, previamente se examina y analiza la
fuente para descartas estas averías.

Gracias a ello se destaca enormemente la productividad en un tiempo menor,


aumentando la calidad del servicio al usuario, así logrando métodos más eficientes
que aumenten la productividad en este campus.

12
Recomendaciones

Se recomienda una breve introduccion a la practica del programa para su previo


uso.

Se debe coordinal adecuadamnete los parametros asistidos, adecuando un orden


y secuencia en el programa.

Optimizar y aprovechar el recurso tecnologico como fuente inmediata de trabajo, la


comunicacion efectiva del personal como el conocimiento previo del usuario para
con el programa determina la viavilidad, que promueva el uso masificado dentro
de varias empresas relacionadas.

13

Potrebbero piacerti anche