Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Manejobasicocpp
Manejobasicocpp
1 Introduccin
Durante el curso, se emplear el lenguaje de programacin C++. Este lenguaje de programacin cuenta con muchas posibilidades, ya que adems de de inir sus propias e!tensiones, incluye una "ariante de C ms e!igente con el cumplimiento del sistema de tipos que el C original. Espec icamente, no se utili#an las capacidades de C++ para programacin orientada a objetos, sino slo la parte que da soporte al paradigma de programacin estructurada. C++ permite ocultar una buena parte de las caractersticas ms complejas de C, mientras otras se pueden utili#ar tal cul se haca en C. $ continuacin se enumeran las caractersticas ms bsicas de este hbrido entre C y C++.
3 Entrada y Salida
%a entrada y salida se reali#a mediante las unciones scanf() y printf(), respecti"amente. &lo es necesario tener en cuenta que para las cadenas, se debe utili#ar gets(). $ continuacin, se discuten los principales tipos de datos.
3.2 Enteros
%os n(meros enteros se ormatean con el indicador )*d+. Este indicador de tipo puede lle"ar en su interior un n(mero, que indica el ancho que se desea para 'l. &e utili#a esta posibilidad en el printf(), ya que en ese caso se imprimen el n(mero de espacios que sea necesario, en caso de que el n(mero mismo no tenga su icientes dgitos, para completar el ancho. $s, las instrucciones printf( !d"n#, $%% ); printf( !d"n#, &' );, hacen que los n(meros ,-- y ./ apare#can en lneas distintas pero correctamente tabulados. El primero, con dos espacios precedi'ndolo, y el segundo con tres.
#include <cstdio> int main() { int edad; printf( "(ame tu edad) " ); scanf( " d", *edad ); } printf( "+u edad es) &d"n", edad );
3.3 Reales
En C++, se pueden emplear dos tipos de n(meros lotantes0 float, de precisin simple, y double, de doble precisin. Como mnimo, el primero o rece e!actitud hasta el se!to decimal, y el segundo hasta el d'cimo. %os n(meros reales se ormatean con el indicador )* +, )*l + 1este (ltimo para n(meros lotantes de tipo double2. Este indicador de tipo puede lle"ar en su interior un n(mero, o dos n(meros separados por un punto, que indican el ancho que se desea para 'l, y el n(mero de decimales que se debe mostrar, respecti"amente. &e utili#a esta posibilidad en el printf(), ya que en ese caso se imprimen el n(mero de espacios que sea necesario, en caso de que el n(mero mismo no tenga su icientes dgitos, para completar el ancho. $s, las instrucciones printf( ,-'f"n#, $%%-.!/ ); printf( ,-'f"n#, &'-,01 );, hacen que los n(meros ,--.34 y ./.56 apare#can en lneas distintas pero correctamente tabulados. El primero, con un espacio precedi'ndolo, y el segundo con dos.
#include <cstdio> const float 2alor3uro3n4esetas 5 $//-&0/; int main() { float cantidad; printf( "(ame una cantidad en euros) " ); scanf( " f", *cantidad ); printf( "3n pesetas es) } ,-%f"n", cantidad 6 2alor3uro3n4esetas );
3.4 Cadenas
%as cadenas se piden mediante la uncin gets(), y se muestran mediante la uncin printf(). &i se desea, se puede utili#ar tambi'n la uncin scanf(), pero es necesario tener en cuenta que ante la aparicin de un espacio, esta uncin dejar de leer la entrada retorna el control al programa. $dems, en caso de utili#ar scan 12, 78 se debe poner un ampersand delante del nombre de la cadena de caracteres.
#include <cstdio> int main() { c7ar nom8re9$'0:; printf( "(ame tu nom8re) " ); ;ets( nom8re ); } printf( "Hola, s"n", nom8re );
=oid strtolo>er(c7ar s9:); int main() { c7ar s$9$'0:; c7ar s'9$'0:; strcp<( s$, "Hola" ); strcp<( s', "Mundo" ); strtoupper( s$ ); strtolo>er( s' ); printf( " s, } =oid strtoupper(c7ar s9:) { int i; for(i 5 %; i < strlen( s ); ??i) { s9 i : 5 toupper( s9 i : ); } } =oid strtolo>er(c7ar s9:) { int i; for(i 5 %; i < strlen( s ); ??i) { s9 i : 5 tolo>er( s9 i : ); } } s"n", s$, s' );
#include <cstdio> #include <cstdli8> int main() { int numero; c7ar s9$'0:; printf( "(ame un nAmero) " ); scanf( " d", *numero ); sprintf( s, " d", numero ); printf( "3l nAmero era s"n", s );
int main() { float numero; printf( "(ame un nAmero) " ); scanf( " f", *numero ); } printf( "3l cuadrado es %-%f"n", sBr( numero ) );
t<pedef struct { c7ar nom8re9MaC:; c7ar apellidos9MaC:; int edad; } 4ersona; =oid mostrar4ersona(const 4ersona *C); =oid inicialiDar4ersona(4ersona *p, const c7ar nom8re9:, const c7ar apellidos9:, int edad); int main() { 4ersona p$; inicialiDar4ersona( p$, "4erico", "4alotes", $0 ); mostrar4ersona( p$ );
=oid inicialiDar4ersona(4ersona *p, const c7ar nom8re9:, const c7ar apellidos9:E { strcp<( p-nom8re, nom8re ); strcp<( p-apellidos, apellidos ); p-edad 5 edad; } =oid mostrar4ersona(const 4ersona *p) { printf( " s, s) d"n", p-apellidos, p-nom8re, p-edad ); }