sábado, 28 de mayo de 2011

Compiladores c++

Un par de compiladores para C++, Turbo C++ 4.5 de manera pedagógica porque no sirve para mas nada. Y Dev c++ el que uso actualmente, como beneficio de ser  ser software libre no hay que pagar por la licencia .

C++ mi segundo programa

Este fue el segundo programa que hice cuando curse POO.


//Programa Vuelto Perfecto
#include <iostream>
#include <conio.h>

using namespace std;//No necesario en Tc++4.5
  int main()
  {  float v,vd,y;
 int ve,vde, b100=100, b50=50, b20=20, b10=10, b5=5, b2=2, b1=1;
 int m50=50, m25=25, m10=10, m5=5, m1=1,x;

cout<<"Ingrese la cantidad total a pagar en Bs : ";
cin>>y;
cout<<"Ingrese cantidad que usted pago: ";
cin>>v;
v-=y; //Sacando diferencia para determinar el cambio
cout<<"Debe dar de cambio Bs: "<<v<<endl;
ve = v; //Convirtiendo parte entera del float a int, pueden colocar (int) antes de la variable v
vd = v-ve;
vde = (vd*100); //Convirtiendo parte decimal del float a int
//Billetes
x=ve%b100;  // Sacando el resto que queda al comprobar la division entre el billete de 100
b100= ve/b100;// Dividiendo para comprobar cuantos billetes de 100 correponden
b50=x/b50;
x=x%50;
b20=x/b20;
x=x%20;
b10=x/b10;
x=x%10;
b5=x/b5;
x=x%5;
b2=x/b2;
x=x%2;
b1=x/b1;
//Monedas mismo proceso
x=vde%m50;
m50=vde/m50;
m25=x/m25;
x=x%25;
m10=x/m10;
x=x%10;
m5=x/m5;
x=x%5;
m1=x/m1;
//Impresión  
if(b100>0)cout<<b100<<" billete(s) de 100 Bs"<<endl;
if(b50>0)cout<<b50<<" billete(s) de 50 Bs"<<endl;
if(b20>0)cout<<b20<<" billete(s) de 20 Bs"<<endl;
if(b10>0)cout<<b10<<" billete(s) de 10 Bs"<<endl;
if(b5>0)cout<<b5<<" billete(s) de 5 Bs"<<endl;
if(b2>0)cout<<b2<<" billete(s) de 2 Bs"<<endl;
if(b1>0)cout<<b1<<" moneda(s) de 1 Bs"<<endl;
if(m50>0)cout<<m50<<" moneda(s) de 50 centimos"<<endl;
if(m25>0)cout<<m25<<" moneda(s) de 25 centimos"<<endl;
if(m10>0)cout<<m10<<" moneda(s) de 10 centimos"<<endl;
if(m5>0)cout<<m5<<" moneda(s) de 5 centimos"<<endl;
if(m1>0)cout<<m1<<" moneda(s) de 1 centimo"<<endl;

 getch();
  return 0;
 }


Si hay dudas comenten...

Comenzando a programar en c++

//Programa que calcula el mayor de 3 números. 

#include <iostream> //Colocar .h cuando usen compilador Turbo c++ 4.5
#include <conio.h>
 using namespace std;// No necesario en  Turbo c++ 4.5


 int main() //  pueden usar void main() en  Turbo c++ 4.5  
  { int x,y,z;
cout<<"ingrese primer numero:\n";
cin>>x;
cout<<"ingrese segundo numero:\n";
cin>>y;
cout<<"ingrese tercer numero:\n";
cin>>z;
(x>y && x>z)? cout<<"el mayor es:\n"<<x //Los Operadores ternarios ? : indican si (?) y sino (:)
:(y>x && y>z)? cout<<"el mayor es:\n"<<y
:(z>x && z>y)? cout<<"el mayor es:\n"<<z
: cout<<"los numeros son iguales";

  getch ( ); // Captura un carácter por pantalla sin mostrarlo, en este caso se usa para finalizar el programa
  return 0; // no necesario en turbo c++ 4.5 si se usa void main()
  }

Para los que no entiendas las operaciones lógicas debe leer las nociones básicas posteadas con anterioridad.
Este Programa Fue compilado en Dev c++;

C++ Información Básica Importante pfinal

Para Finalizar con la Información Básica he subido un Pdf que encontré en la red que contiene todo lo mencionado anteriormente y mas información. Aca esta el link Sintaxis c++. Att LordRamos

C++ Información Básica Importante p7

B.4. CONVERSIÓN DE TIPOS


La conversiones explícitas se fuerzan mediante moldes (casts). La conversión forzosa de tipos de C tiene el formato clásico:
(tipo) expresion
C++ ha modificado la notación anterior por una notación funcional como alternativa sintáctica:
nombre del tipo (expresion)
Las notaciones siguientes son equivalentes:
float(x);
//notacion de casteo en C++
(float)x;
//notacion de casteo en C


B.5. DECLARACIÓN DE VARIABLES


En ANSI C, todas las declaraciones de variables y funciones se deben hacer al principio del programa o función. Si se necesitan
declaraciones adicionales, el programador debe volver al bloque de declaraciones al objeto de hacer los ajustes o inserciones
necesarios. Todas las declaraciones deben hacerse antes de que se ejecute cualquier sentencia. Así, la declaración típica en C++,
NombreTipo Nombrevariablel, Nombrevariable2; proporciona declaraciones tales como:
int saldo, meses;
double clipper, salario;
Al igual que en C, se pueden asignar valores a las variables en C++:
int mes =4, dia, anio=1995;
doble salario = 45.675;
En C++, las declaraciones de variables se pueden situar en cualquier parte de un programa. Esta característica hace que el
programador declare sus variables en la proximidad del lugar donde se utilizan las sentencias de su programa. El siguiente programa
es legal en C++ pero no es válido en C:
#include <stdio.h>
int main ()
{
int i ;
for ( i= 0; i<100; ++i)
printf ( “%d\n” , i);
double j;
for ( j= 1.7547; j<25.4675; j+= .001)
printf ( “%lf\n” , j);
}
El programa anterior se podría reescribir, haciendo la declaración y la definición dentro del mismo bucle:
int main ()
{
for ( int i= 0; i<100; ++i)
cout<< i << endl;
for ( int j= 1.7547; j<25.4675; j+= .001)
cout << j <<;
}

C++ Información Básica Importante p6

B.3. CONSTANTES


C++ contiene constantes para cada tipo de dato simple (integer, char,...). Las constantes pueden tener dos sufijos, u, l y f. Que indican tipos unsigned, long y float, respectivamente. Así mismo, se pueden añadir los prefijos o y ox, que representan constantes octales y hexadecimales.
456
0456 0x476 // constante enteras : decima1, octal , hexadecimal
1231 123ul
// constante enteras :long, unsigned, long
 ́B ́  ́b ́  ́4 ́
// constante de tipo char
3.1415f
// constante reales de diferente posición
“cadena de caracteres” // Constante de cadena
Las cadenas de caracteres se encierran entre comillas, y las constantes de un solo carácter se encierran entre comillas simples.


” ” // cadena vacía ‘\0’


B.3.1. Declaración de constantes
En C++, los identificadores de variables/constantes se pueden declarar constantes, significando que su valor no se puede modificar.
Esta declaración se realiza con la palabra reservada const.
contar double PI= 3.11416;
const char BLANCO =  ́  ́;
const double PI_EG = -I;
const double DOBLE_I = 2 * PI ;
El modificador de tipos const se utiliza en C++, también para proporcionar protección de sólo lectura para variables y parámetros
de funciones. Las funciones miembro de una clase que no modifican los miembros dato a que acceden pueden ser declarados const.
Este modificador evita también que parámetros por referencia sean modificados:
void copy (const char *
fuente, char * destino):

Tambien se pueden declarar de esta forma muy usada

 Se declaran con la directiva #define, esto significa que esa constante tendrá el mismo valor a lo largo de todo el programa. El identificador de una constante así definida será una cadena de caracteres que deberá cumplir los mismos requisitos que el de una variable (sin espacios en blanco, no empezar por un dígito numérico, etc).
Ejemplo:
#include <stdio.h>
  #define PI  3.1415926
  
  int main()
  {
    printf("Pi vale %f", PI);
    return 0;
  }
Lo cual mostrará por pantalla:
Pi vale 3.1415926
Es decir, PI es una constante a la que le hemos asignado el valor 3.1415926 mediante la directiva #define.
La directiva #define también se puede utilizar para definir expresiones más elaboradas con operadores (suma, resta, multiplicación etc) y otras constantes que hayan sido definidas previamente, por ejemplo:
#define X  2.4
  #define Y  9.2
  #define Z  X + Y




C++ Información Básica Importante p5

B.2.1. Verificación de tipos

La verificación o comprobación de tipos en C++ es más rígida (estricta) que en C. Algunas consideraciones a tener en cuenta son:
Usar funciones declaradas. Esta acción es ilegal en C++, y está permitida en C:
int main()
{
//...
printf(x)
//C int printf(x)
//C++ es ilegal, ya que printf no esta declarada
return 0;
}
• Fallo al devolver un valor de una función. Una función en C++ declarada con un tipo determinado de retomo, ha de devolver
un valor de ese tipo. En C, está permitido no seguir la regla.
• Asignación de punteros void. La asignación de un tipo void* a un puntero de otro tipo se debe hacer con una conversación
explícita en C++. En C, se realiza implícitamente.
• Inicialización de constantes de cadena. En C++ se debe proporcionar un espacio para el carácter de terminación nulo cuando
se inicializan constantes de cadena. En C, se permite la ausencia de ese carácter
int main()
{
//......
char car[7] = “Cazorla“;
// legal en C
//error en C++
//......
return 0;
}
Una solución al problema que funciona tanto en C como en C++ es: char car [] ="Cazorla";

C++ Información Básica Importante p4

B.2. TIPOS DE DATOS

Los tipos de datos simples en C++ se dividen en dos grandes grupos: integrales (datos enteros) y de coma flotante (datos reales).

char
short
usigned short
float
signed char
int
unsigned
double
unsigned char
long
unsigned long
long double

Los tipos derivados en C++ pueden ser:

enumeraciones (enum),

estructuras (struct),

uniones (union),

arrays,

clases (class y struct),

uniones y enumeraciones anónimas,

punteros,

viernes, 27 de mayo de 2011

C++ Información Básica Importante p3

 B.1.4.Palabras reservadas

Las palabras reservadas o claves no se deben utilizar como identificadores, debido a su significado estricto en C++; tampoco se deben redefinir. La Tabla B. 1 enumera las palabras reservadas de C++ según el ARM(Siglas del libro de BJARNE STROUSTRUP en el que se definen las reglas de sintaxis del lenguaje C++ estándar).

Tabla B.1. Palabras reservadas de C++
asm*
auto
break
case
catch*
char
class*
const
continue
default
delete*
do
double
else
enurn
extern
float
for
friend*
goto
if
inline*
int
long
new*
operator*
private*
protected*
public*
register
return
short
signed
sizeof
static
struct
switch
template*
this*
throw*
try
typedef
union
unsigned
virtual*
void
volatile
while
*Estas palabras no existen en ANSI C.


Los diferentes compiladores comerciales de C++ pueden incluir, además, nuevas palabras reservadas. Estos son los casos de Borland,
Microsoft y Sysmantec.
asm
auto
break
case
catch
_cdecl
_cdecl
char
class
const
continue
_cs
default
delete
do
_double


Tabla B.2. Palabras reservadas de Turbo/Borland C++
_ds
interrup
short
else
_loadds
signed
enum
long
sizeof
_es
_near
_ss
export
near
static
extern
new
struct
far
operator
switch
far
pascal
template
float
pascal
this
for
private
typedef
friend
protected
union
goto
pubic
unsigned
huge
register
virtual
if
return
void
inline
_saveregs
volatile
int
_seg
while
Tabla B.3. Palabras reservadas de Microsoft Visual C/C++ 1.5/2.0
asm
auto
based
break
case
_cdecl
char
const
continue
_declspec
default
dllexport
dllimport
do
doble
else
int
enum
_interrupt
_except _leave
_export _loadds
extern
long
_far
maked
_fastcall _near
_finally _pascal
float
register
for
return
_fortran _saveregs
goto
_self
_huge
_segment
if
_segname
_inline short
signed
sizeof
static
_stcall
struct
switch
thread
_try
typedef
union
unsigned
void
volatile
while
El comité ANSI ha añadido nuevas palabras reservadas (Tabla B.4).


Tabla B.4. Nuevas palabras reservadas de ANSI C++
bool
cons_cast
dynamic_cast
Página 4 de 28
false
mutable
namespace
reinterpretcast
static_cast
true
typeid
using
wchart

C++ Información Básica Importante p2

B.1.3. Identificadores
Los identificadores (nombres de variables, constantes,...) deben comenzar con una letra del alfabeto (mayúscula o minúscula) o con un carácter subrayado, y pueden tener uno o más caracteres. Los caracteres segundo y posteriores pueden ser: letras, dígitos o un subrayado, no permitiéndose caracteres no alfanuméricos ni espacios.
tescprueba // legal
Xl23
// legal
multi_palabra // legal
var25
// legal
l5var
// no legal
C++ es sensible a las mayúsculas.
Paga_mes
es un identificador distinto a paga_mes
Una buena práctica de programación aconseja utilizar identificadores significativos que ayudan a documentar un programa.
nombre apellidos salario precio_neto





C++ Información Básica Importante p1

C++ es considerado un C más grande y potente. La sintaxis de C++ es una extensión de C, al que se han añadido numerosas propiedades, fundamentalmente orientada a objetos. ANSI C ya adoptó numerosas características de C++, por lo que la migración de C a C++ no suele ser difícil.
En este apéndice se muestran las reglas de sintaxis del estándar clásico de C++ recogidas en al Annotated Manual (ARM) de
Stroustrup y Ellis, así como las últimas propuestas incorporadas al nuevo borrador de C++ ANSI, que se incluyen en las versiones 3
(actual) y 4 (futura de AT&T C++).

B.1. ELEMENTOS DEL LENGUAJE
Un programa en C++ es una secuencia de caracteres que se agrupan en componentes léxicos (tokens) que comprenden el vocabulario básico del lenguaje. Estos componentes de léxico son: palabras reservadas, identificadores, constantes, constantes de cadena,
operadores y signos de puntuación.

B.1.1. Caracteres
Los caracteres que se pueden utilizar para construir elementos del lenguaje (componentes léxicos o tokens) son:
abcdefghi jklmnopqrstuvwxyz
ABCDEFCHIJKLMNOPQRSTUVWXYZ
0123456789
caracteres espacio (blancos y tabulaciones)

B.1.2. Comentarios
C++ soporta dos tipos de comentarios. Las líneas de comentarios al estilo C y C ANSI, tal como:
/* Comentario estilo C */
/* Comentario mas extenso, pero también es estilo C y ANSI C */
El otro tipo de comentarios se pueden utilizar por los programadores de C++: La versión /*...* / se utiliza para comentarios que excedan una línea de longitud y la versión //... se utiliza, sólo, para comentarios de una línea. Los comentarios no se anidan.