Está en la página 1de 5

Ingeniería en Sistemas

Computacionales
COMPILADORES

Unidad 3. Usos y prácticas de compilación


Cuadernillo de Prácticas en lenguaje C para compilar en Visual C++

Ejercicios Código fuente


Ejercicio 1: El siguiente código fuente calcula la suma, la #include <iostream>
resta, la multiplicación y división de 2 números #include <complex>
proporcionados por el usuario: #include <conio.h>

using namespace std;

void main() {
complex<double> x(0.0,0.0),y(0.0,0.0),z,*c;
int op;
double re,im;
do{
do{
cout<<"\n1. Introduccion del primer numero complejo\n";
cout<<"2. Introduccion del segundo numero complejo\n";
cout<<"3. Suma de los dos numeros complejos\n";
cout<<"4. Resta de los dos numeros complejos\n";
cout<<"5. Multiplicacion de los dos numeros complejos\n";
cout<<"6. Division de los dos numeros complejos\n";
cout<<"7. Salir\n";
cout<<"Introduce opcion: ";
cin>>op;
} while (op<1 || op>7);
switch (op)
{case 1:cout<<"Introduce la parte real del primer numero: ";cin>>re;
cout<<"Introduce la parte imaginaria: ";cin>>im;
c= new complex <double> (re,im);
x=*c;
delete c;
break;
case 2:cout<<"Introduce la parte real del segundo numero: ";cin>>re;
cout<<"Introduce la parte imaginaria: ";cin>>im;
c= new complex <double> (re,im);
y=*c;
delete c;
break;
case 3: z=x+y;
cout<<"\nLa suma de x= "<<x<< " y de y= "<<y<<" es igual a z=
"<<z<<endl;
break;
case 4: z=x-y;
cout<<"\nLa resta de x= "<<x<< " y de y= "<<y<<" es igual a z=
"<<z<<endl;
break;
case 5: z=x*y;
cout<<"\nLa multiplicacion de x= "<<x<< " y de y= "<<y<<" es igual
a z= "<<z<<endl;
break;
case 6: z=x/y;
cout<<"\nLa division de x= "<<x<< " y de y= "<<y<<" es igual a z=
"<<z<<endl;
break;
}
}while (op!=7);
}

Ejercicio 2: El siguiente código fuente permite comparar 2 #include <iostream>


frases ingresadas por el usuario y despliega las palabras que #include <string>
aparecen en ambas. #include <conio.h>
#include <algorithm>

using namespace std;

void main() {
string s1,s2,x,re;
int pos,posant,n,n_apariciones[50],p=0,i;

cout<<"\nIntroduce una frase palabra a palabra, 0 para finalizar\n";


do{
cin>>x;
if (x!="0")
{if (!s1.empty()) s1.append(" ");
s1.append(x);
}
} while (x!="0");
cout<<"\nIntroduce otra frase palabra a palabra, 0 para finalizar\n";
do{
cin>>x;
if (x!="0")
{if (!s2.empty()) s2.append(" ");
s2.append(x);
pos=0;n=0;
do{
pos=s1.find(x,pos);
if (pos!=-1)
{pos++;n++;}
}while (pos!=-1);
n_apariciones[p]=n;p++;
}
} while (x!="0");
cout<<"En la frase \""<<s1<<"\" las siguientes palabras aparecen \n";
pos=0;posant=0;
for (i=0;i<p;i++)
{ pos=s2.find(" ",pos);
if (pos!=-1)
{cout<<s2.substr(posant,pos-posant)<<" aparece
"<<n_apariciones[i]<<" vez/veces\n";
posant=pos+1;pos++;
}
else cout<<s2.substr(posant)<<" aparece "<<n_apariciones[i]<<"
vez/veces\n";
}

getch();
}

Ejercicio 3: Este código fuente imprime en pantalla el área y #include<iostream>


el perímetro del círculo en base a la medida del radio using namespace std;
proporcionada por el usuario.
int main()
{
int radio;
float area, perimetro;

// SALIDA: mensaje un pantalla


cout << "Introduce el radio del circulo: ";
//ENTRADA: recibir dato desde teclado
cin >> radio;

// calculos
area = 3.1416 * radio * radio;
perimetro = 3.1416 * radio * 2;

//SALIDA: resultado en pantalla


cout << "El area es " << area << " y el perimetro " << perimetro;
cin.get();cin.get();

return 0;
}

También podría gustarte