viernes, 10 de junio de 2011

proyecto final

INSTITUTO TECNOLOGICO DE TIJUANA
Cadena Vargas Victor Alan
Programación Estructurada
Ing. Ángela Colunga
Proyecto final
10 junio 2011

Recetario
Muchas veces las personas tenemos libros de con recetas de cocina en nuestras alacenas o librerías, pero se mojan, se pierden, los rompemos sin querer en fin muchas cosas suelen pasarle a los libros de cocina, por eso la solución de este problema es con un programa que acepte tus recetas de cocina de una manera fácil y rápida. Solo es cuestión de saber los ingredientes y la forma de preparar o solamente copiar las recetas del libro y quedaran a salvo en tu computadora. 

Es fácil de usar, primero se despliega el siguiente menú:
Donde le ofrece las opciones de cargar receta, editar receta, buscar receta y salir.


Antes de elegir la opción de cargar receta, tecleando el numero 1, deberá crear una carpeta en el disco C: de su pc siguiendo estas indicaciones; inicio>>mi pc>>disco local (C:)>>clic derecho>>nuevo>>folder>>crear folder con el nombre de “recetario”.
 Ya habiendo echo esto ahora si puede teclear el numero 1 y  se desplegaran otras opciones como las siguientes:

Al darle al enter en su teclado automáticamente se guardara en la carpeta de recetario que habíamos creado previamente y ahí podrás editarla o solamente observarla.


Como editar tus recetas.
Solamente tendrás que teclear el numero 2 y te pedirá el numero de la receta que deseas editar de la sig. Manera:

 Y ahí introducirás el número  en este caso será la numero 1:

Esto quedara guardado en el recetario.
Y si solo quieres visualizar solo tienes que teclear el número 3 en el menú principal y elegir la receta a ver y listo.
Para salir solo es necesario teclear el numero 4 y listo tus recetas quedaran guardadas en tu computadora.


jueves, 9 de junio de 2011

practica 10

Problema 1
Escriba un programa que lea el nombre de estudiantes y sus cuatro calificaciones, además que calcule el promedio e indique si el alumno aprobó.

pseudocodigo


programa
#include <fstream.h>
#include <conio.h>

void main()
{
int i, j;
char name[25], opc;
int calificaciones[4];
float conta, promedio;
fstream lol;
lol.open("C:\Practicas\archivo.txt",ios::trunc);
lol.close();
lol.open("C:\Practicas\archivo.txt",ios::out);
do
{
conta=0;
cout<<"Nombre del alumno: ";
cin>>name;
lol<<name<<" ";
for(j=0;j<4;j++)
{
cout<<"Calificacion unidad"<<(j+1)<<": ";
cin>>calificaciones[j];
lol<<calificaciones[j]<<"\t";
conta=conta+calificaciones[j];
}
promedio=conta/4.0;
cout<<"El promedio de "<<name<<" es: "<<promedio<<endl;
lol<<promedio<<endl;
cout<<endl;
cout<<"Desea agregar otro estudiante? (s/n):";
cin>>opc;
cout<<endl;
}
while(opc=='s'||opc=='S');
getch();
}




Problema 2
Almacene los siguientes datos en un archivo:
5           96       87        78      93        21       4         92        82        83        87        6         72        69      85        75        81       73
escriba un programa para calcular y desplegar el promedio de cada grupo de números ene el archivo en el índice app de los datos.
Se han arreglado en el archivo para que cada grupo de números sea precedido por el número de elementos de datos del grupo.
Entonces el primer número en el archivo 5 indica que los siguientes cinco números se agrupan juntos y el numero cuatro igual y el  6 también.


programa
#include <fstream.h>
#include <conio.h>
void main ()
{
fstream data;
int n, m, x, y;
float promedio, suma;
data.open ("C:\practicas\datos.txt", ios::out);
data<<"5 96 87 78 93 21 4 92 82 85 87 6 72 69 85 75 81 73";
data.close();
data.open ("C:\practicas\datos.txt", ios::in);
for (n=0;n<3;n++)
{
suma=0;
data>>x;
for (m=0;m<x;m++)
{
data>>y;
suma=suma+y;
}
promedio=suma/x;
cout<<"El promedio es: "<<promedio<<endl;
}
data.close();
getch();
}





Problema 3
Escriba un archivo las siguientes cantidades de automóviles, el número de millas recorridas y las cantidades de galones de gasolina empelado para cada auto.
No. de Carro       Millas Recorridas     Galones Utilizados
54                          250                             19
62                          525                           38
71                          123                             6
85                          1322                          86
97                          235                             14
 b)Escriba un programa que lea los datos y despliegue la cantidad de automóviles, las millas recorridas y las millas por galón  para cada automóvil. La  salida debe contener además los totales de millas recorridas y el total de galones empleados, así como el promedio de millas por galón para todos los autos, dicho s totales deben desplegarse a la salida.


programa
#include <fstream.h>
#include <conio.h>
void archivo()
{
fstream lol;
lol.open("C://practicas//carros.txt",ios::out);
lol<<"54 250 19"<<endl;
lol<<"62 525 38"<<endl;
lol<<"71 123 6"<<endl;
lol<<"85 1322 86"<<endl;
lol<<"97 235 14"<<endl;
lol.close();
}
void main()
{
archivo();
}

B)
programa
#include <fstream.h>
#include <conio.h>

void cuentas(float a[5][3],float c[5],float & tm, float & tg,float & mpg)
{
int b;
tm=0;
tg=0;
for(b=0;b<5;b++)
{
tm=a[b][1]+tm;
tg=a[b][2]+tg;
c[b]=a[b][1]/a[b][2];
}
mpg=tm/tg;
}

void ingresar_datos(float a[5][3])
{
int b,d;
fstream lol;
lol.open("C://practicas//carros.txt",ios::in);
for(b=0;b<5;b++)
{
for(d=0;d<3;d++)
{
lol>>a[b][d];
}
}
lol.close();
}
void imprime(float a[5][3],float c[5],float tm,float tg,float mpg)
{
int b,d;
cout<<"# de Carro  |  Mill. Recorridas  |  Gal. Utilizados  |  Prom. de mill por gal"<<endl;
cout<<endl;
for(b=0;b<5;b++)
{
for(d=0;d<3;d++)
{
cout<<a[b][d]<<"        "<<"        ";
}
cout<<c[b]<<endl;
}
cout<<endl;
cout<<"Millas totales recorridas: "<<tm<<endl;
cout<<"Galones utilizados: "<<tg<<endl;
cout<<"Promedio total de mi/gal: "<<mpg<<endl;
}

void main()
{
float a[5][3],c[5],m,g,mpg;
ingresar_datos(a);
cuentas(a,c,m,g,mpg);
imprime(a,c,m,g,mpg);
getch();
}




Problema 4
 4- Un archivo llamado polar contiene las coordenadas polares necesarias en un programa de graficas, actualmente este archivo contiene los sig. Datos
Distancia  Angulo
      2         45
      6         30
     10        45
      4         60
      12       55
       8       15

Escriba un programa que acepte del usuario distancia y ángulo y los agregue al final del archivo.
y escriba un programa que lea este archivo (polar) y crea otro llamado xycord.txt

programa
#include <fstream.h>
#include <conio.h>
#include <math.h>
void primera()
{
fstream salida;
salida.open("C://practicas//polar.dat",ios::binary | ios::out);
salida<<2.0<<" "<<45.0<<" ";
salida<<6.0<<" "<<30.0<<" ";
salida<<10.0<<" "<<45.0<<" ";
salida<<4.0<<" "<<60.0<<" ";
salida<<12.0<<" "<<55.0<<" ";
salida<<8.0<<" "<<15.0<<" ";
salida.close();
}
void segunda()
{
float d,a;
char otro;
fstream salida;
salida.open("C://practicas//polar.dat",ios::binary|ios::app);
do
{
cout<<"Distancia (en pulgadas): ";
cin>>d;
cout<<"Angulo (en grados): ";
cin>>a;
salida<<d<<"\t"<<a<<"\t";
cout<<"Desea agregar otro dato? s/n: ";
cin>>otro;
cout<<endl;
}
while(otro=='s'||otro=='S');
}
void tercera()
{
float i,j;
float x,y;
float grados;
fstream in;
fstream out;
in.open("C://practicas//polar.dat",ios::binary|ios::in);
out.open("C://practicas//cordXY.dat",ios::binary|ios::out);
cout<<" X        Y"<<endl;
cout<<"                                  "<<endl;
in>>i;
do
{
in>>j;
grados=(j/180)*3.1416;
x=i*cos(grados);
y=i*sin(grados);
cout<<x<<"        "<<y<<endl;
out<<x<<"    "<<y<<"    ";
in>>i;
}
while(!in.eof());
out.close();
in.close();
}
void main()
{
primera();
segunda();
tercera();
getch();
}




Problema 5
5- Considere la siguiente lista de países y sus capitales.
Escriba un programa interactivo que acepte el nombre de un país como entrada y escriba su capital y viceversa. Diseñar el programa de modo que se ejecute repetidamente hasta introducir fin.

Canada,Inglaterra,Francia,India,Israel,Italia,Japon,Mexico,China,Estados Unidos,Rusia


Ottawa,Londres,Paris,Nueva Delhi,Jerusalen,Roma,Tokio,Cd de Mexico,Beijing,Washington DC, Moscu


programa
#include <iostream.h>
#include <conio.h>
#include <string.h>
void main()
{
char pais[20];
int a;
char paises[12][20]={"Canada","Inglaterra","Francia","India","Israel","Italia","Japon","Mexico","China","Estados Unidos","Rusia"};
char capitales[12][20]={"Ottawa","Londres","Paris","Nueva Delhi","Jerusalem","Roma","Tokio","Ciudad de Mexico","Biejing","Washington DC","Moscu"};
do
{
cout<<"ingrece un pais: ";
cin.getline(pais,20,'\n');
for(a=0;a<12;a++)
{
if(strcmpi(pais,paises[a])==0)
{
cout<<"La capital de "<<pais<<" es: "<<capitales[a]<<endl;
cout<<endl;
}
}
for(a=0;a<12;a++)
{
if(strcmpi(pais,capitales[a])==0)
{
cout<<paises[a]<<endl;
}
}
}
while(strcmp(pais, "fin"));
getch();
}




Problema 6
Una empresa tiene varios vendedores. Por cada vendedor se tiene el nombre y la venta que realizo elaborar un programa que permita leer dichos datos y proporcione un reporte de comisiones de ventas en el cual aparezcan todos los vendedores .

programa
#include <fstream.h>
#include <conio.h>
#include <string.h>

void main()
{
int j=0,suma=0;
float prom, nivel, com;
char nombre[20][22], opc;
int ventas[20];
do
{
cout<<"Nombre del vendedor #"<<(j+1)<<": "<<endl;
cin.ignore();
cin.getline(nombre[j],22,'\n');
cout<<"Cantidad de dinero que vendio "<<nombre[j]<<": "<<endl;
cin>>ventas[j];
suma=suma+ventas[j];
cout<<"Desea agregar otro vendedor?(s/n): ";
cin>>opc;
cout<<endl;
j++;
}
while(opc=='s'|| opc=='S');
prom=suma/j;
nivel=(3.0/4.0)*prom;
cout<<endl;
cout<<"      C O M I S I O N E S : "<<endl;
cout<<"                                         "<<endl;
for(int i=0;i<j;i++)
{
if(ventas[i]>nivel)
{
com=ventas[i]*0.05;
cout<<endl;
cout<<"Nombre del vendedor: "<<nombre[i]<<"/ Su comision del 5% es de: "<<com<<endl;
}
}
getch();
}