domingo, 8 de noviembre de 2009

Notas Y Media (Punteros Y Función)

#include (iostream)
using namespace std;
// En main se introducen 3 notas, en la función calcula media y nota final

void calcula(float nota1, float nota2, float nota3, float *puntero, double *notafinal)

{
cout << "\n\n El valor apuntado a media aqui vale " <<(*puntero)<< (endl);

// asignación valor adecuado
*puntero = (nota1 + nota2 + nota3 )/3;
*notafinal = nota1*0.60 + nota2*0.30 + nota3*0.10;
}

void main()
{
float nota1=0,nota2=0,nota3=0,notamedia =0;
double final =0;
float *media = ¬amedia; //inicialización puntero
double *notafinal = &final;

*media=555;
*notafinal=0;
// empleo de '*' como valor de variable apuntada.

cout<< " Introduce nota1 ";
cin>> (nota1);

cout<< "\n Introduce nota2 ";
cin>> (nota2);

cout<< "\n Introduce nota3 ";
cin>> (nota3);

calcula(nota1,nota2,nota3,media,notafinal);

// media = dirección memoria
// otra forma: calcula(nota1,nota2,nota3,&notamedia,&notafinal);

cout<< "\n\n La media es " << (*media) <<(endl);
cout<< "\n La nota final es "<< (*notafinal)<< (endl);

cout<< (endl)<<(endl);
}

Nota: Iostream , cin y cout.

Punteros 3

#include (iostream)
using namespace std;

void main()
{
char cadena1[]="Pongamos que me llamo Ismael";
char cadena2[]="mirad toda esa gente";

char *pcadena ="Sin nada mejor que hacer en tierra";
// podemos apuntar *pcadena a otras frases durante el programa

cout <<"\n El valor de pcadena es : "<< (pcadena);
cout << "\n\n El valor al que apunta pcadena es : "<<(*pcadena);

cout << (endl) << (endl);

//Movemos puntero
pcadena = cadena2;

cout <<"\n\n Ahora pcadena es la direccion de memoria : " <<
(pcadena)<<(endl) ;
cout <<"\n *pcadena apunta a valor : " << (*pcadena)<<(endl) ;
cout <<(endl);
}

Nota: Iostream, cin y cout.

Punteros 2

#include (iostream)
using namespace std;
void main()
{
int nVector[10]={6,7,8,9,10,11,12,13,14,15};
int *pLista = nVector; // otra forma de verlo *pLista=& nVector[0]
// declara un puntero a dirección memoria inicial de nVector

cout << "\n Direccion memoria de la variable nVector = "<< (&nVector)<<"\n El valor de pLista es "<< (pLista);

cout << "\n\n El valor al que apunta pLista es "<< (*pLista);
cout << (endl) << (endl);

*pLista++;

cout <<"\n\n Ahora pLista es la direccion =" << (pLista)<<(endl) ;
cout <<"\n Ahora *pLista apunta al valor =" << (*pLista)<<(endl) ;

cout <<(endl);
}

Nota: Iostream, cin y cout.

Punteros 1

#include (iostream)
using namespace std;
void main()
{
int nVar1=100;
int *punt = & nVar1; // declara un puntero a dirección memoria deVar1// Mostrar que puntero apunta a nVar1

cout << "\n Direccion de memoria de la variable nVar1 = "<< (&nVar1)<<"\n El valor de punt es "<< (punt);
cout << "\n\n El valor de nVar1 es "<< (nVar1)<< "\n El valor de *punt es "<< (*punt);
cout << (endl) << (endl);// Obtener valor de nVar1 mediante el puntero

int nPrueba = *punt;// Cambiar el valor nVar1 mediante el puntero
*punt = 777;
punt+=1;//Mostrar valores
int nVar2=888;
punt=&nVar2;

cout << "\n nPrueba = " << (nPrueba) << (endl);
cout <<"\n La variable nVar1 , ahora vale =" << (nVar1)<<(endl) ;
cout <<(endl)<<(endl);
cout <<"\n punt es la direccion de memoria =" << (punt)<<(endl) ;
cout <<"\n *punt tiene como valor =" << (*punt)<<(endl) ;
}

Nota: Arreglar iostream y eliminar todos los () de los cin y cout.

Tabla De Multiplicar Con Función

Realizar programa, con al menos una función, donde el usuario elige la tabla de multiplicar que quiere ver y el ordenador la saca por pantalla.

#include (iostream)
using namespace std;
void mult(int num);

void main()
{
int num;

cout<<"Introduce el numero "<<(endl);
cin>>(num);
mult(num);

}
void mult(int num)
{
int i;
for (i=0;i<=10;i++)

cout<<(num)<<" * "<<(i)<<" = "<<((num * i))<<(endl);
}

Nota: Sustituir () de iostream por <> y eliminar () de num, i, num * i, endl.

Calculo Nota Media De X Asignaturas De N Alumnos (Con Función)

Realizar programa que calcula la nota media de las X asignaturas de cada uno de los N alumnos de una clase.

#include (iostream)
using namespace std;

void main()

{
int contalumno =0;
int num_asig;
int num_alum;
int contanota;
int suma;
int media;
int nota;

cout<< "Introduce numero asignaturas "<<(endl);
cin>>(num_asig);
cout<< "Introduce numero alumnos "<<(endl);
cin>>(num_alum);

while (contalumno <(num_alum))
{
contalumno =contalumno +1;
contanota =0;
suma =0;
media =0;

while (contanota <(num_asig))
{
contanota = contanota +1;
cout<< "Introducir nota: "<<(endl);
cin>>(nota);

suma = suma+nota;
}
media = suma/num_asig;

cout<<"Alumno "<<(contalumno)<<" Media "<<(media)<<(endl);
}
}

Nota: Sustituir () de iostream por <> y eliminar () de contalumno, media, endl, nota, num_asign y num_alum.

Introducción De Notas Con Calificación (Con Función)

Realizar programa estructurado con, al menos, una función, donde el programa pide al usuario una nota numérica entre 0 y 10, y saca por pantalla: Insuficiente, Suficiente, Bien, Notable y Sobresaliente.

#include (iostream)
#include (string)
using namespace std;
void funcion(double nota);

void main()
{
double nota=0;

cout<< "Introducir nota: " <<(endl) << (endl);
cin>>(nota);

funcion(nota);

cout<<(endl)<< "Final del programa"<<(endl);
}
void funcion(double nota)
{
string c_nota = "no asignada";
if (nota >0 && nota <=10)
{
if (nota>=5)
{
if (nota>=6)
{
if (nota>=7)
{
if (nota>=9) c_nota = "EXCELENTE";
else c_nota = "NOTABLE";
}
else c_nota = "BIEN";
}
else c_nota = "APROVADO";
}
else c_nota = "SUSPENSO";
}
if (c_nota != "no asignada")
cout<< "La nota es de "<< (c_nota) << (endl);
else
cout<< "Nota no valida" << (endl);
}

Nota: Sustituir () de iostream y string por <> y eliminar () de c_nota, endl y nota.