SlideShare una empresa de Scribd logo
2016
Manual C/C++
Universidad
Centroamericana
Carlos Eduardo Díaz
Ing. Elsner B .González O.
Contenido
Introducción ............................................................................................................................. 3
Librerías del lenguaje c.............................................................................................................. 4
¿Qué son exactamente laslibrerías?....................................................................................... 5
Sintaxis para declarar Libreríasen C++.................................................................................... 5
Librerías Estándar de C++ (Standar Template Library o STL).......................................... 6
Palabras reservadas..................................................................................................................10
Operadores en c.......................................................................................................................11
Tipos de datos..........................................................................................................................12
Casting.....................................................................................................................................13
Ejemplo Struct Tarea1 familia...................................................................................................14
...............................................................................................................................................14
Como crear una variable...........................................................................................................15
Mostrar Salida de datosen C++.................................................................................................16
Mostrar salida de datosen c.....................................................................................................17
Entrada de datos en C...............................................................................................................18
Entrada de datos en C++...........................................................................................................19
Función Size of.........................................................................................................................20
Función if Else..........................................................................................................................21
Switch......................................................................................................................................22
FOR......................................................................................................................................23
While.......................................................................................................................................24
Guia sentencias de control........................................................................................................26
Ejercicio 1: ...........................................................................................................................26
Ejercicio 2: ...........................................................................................................................27
Ejercicio 3 ............................................................................................................................30
Arreglos unidimensionales........................................................................................................31
Arreglos bidimensionales..........................................................................................................32
Struct ......................................................................................................................................33
Guia estructuras.......................................................................................................................34
Struct estudiante ejem ¨PrintF¨.............................................................................................34
Struct docente ejm ¨Printf¨...................................................................................................35
Struct empleadoejem Printf..................................................................................................36
Crear ficheros...........................................................................................................................37
Ingresar datos en un fichero......................................................................................................38
Leer datos de un fichero...........................................................................................................39
Buscar datos en un fichero........................................................................................................40
Modificar datos en un fichero ...................................................................................................41
Funciones ................................................................................................................................45
Tipos de variables.....................................................................................................................46
Variables globales.................................................................................................................46
Variables locales...................................................................................................................47
Guia de ejercicios final..............................................................................................................48
Ejercicio 1 ............................................................................................................................48
Ejercicio 2 ............................................................................................................................49
Ejercicio 3 ............................................................................................................................52
Anexos.....................................................................................................................................54
Introducción
C++ es un lenguaje de programación diseñado a mediados de los
años 1980 por Bjarne Stroustrup. La intención de su creación fue el
extender al lenguaje de programación C mecanismos que permiten
la manipulación de objetos. En ese sentido, desde el punto de vista
de los lenguajes orientados a objetos, el C++ es un lenguaje híbrido.
Posteriormente se añadieron facilidades de programación genérica,
que se sumaron a los paradigmas de programación estructurada y
programación orientada a objetos. Por esto se suele decir que el C++
es un lenguaje de programación multiparadigma.
Actualmente existe un estándar, denominado ISO C++, al que se han
adherido la mayoría de
los fabricantes de
compiladores más
modernos. Existen
también algunos
intérpretes, tales como
ROOT.
Una particularidad del
C++ es la posibilidad de redefinir los operadores, y de poder crear
nuevos tipos que se comporten como tipos fundamentales.
El nombre C++ fue propuesto por Rick Mascitti en el año 1983,
cuando el lenguaje fue utilizado por primera vez fuera de un
laboratorio científico. Antes se había usado el nombre "C con
clases". En C++, la expresión "C++" significa "incremento de C" y
se refiere a que C++ es una extensión de C.
Librerías del lenguaje c
Junto con los compiladoresde C y C++, se incluyen ciertos archivos
llamados bibliotecas mas comúnmente librerías. Las bibliotecas
contienen el código objeto de muchos programas que permitenhacer
cosas comunes,como leer el teclado, escribiren la pantalla, manejar
números, realizar funciones matemáticas, etc.
Las bibliotecas están clasificadas por el tipo de trabajos que hacen,
hay bibliotecas de entrada y salida, matemáticas, de manejo de
memoria, de manejo de textos y como imaginarás existen muchísimas
librerías disponiblesy todas con una función especifica.
Nota: Existe una discusiónsobre el nombre de estos archivos.
Muchos personas consideranque el nombre adecuado es archivos de
biblioteca,y estan en lo correcto.Sin embargo,la mayoría llamamos a
estos archivos librerías,y también me incluyo entre estos.El error
proviene del nombre en inglés, que es library. Este término se traduce
como biblioteca,y no como librería. De este modo a lo largo de esta
secciónlas llamaré de cualquiera de las dos formas,para estár mas
claros.
Hay un conjunto de bibliotecas (o librerías) muy especiales,que se
incluyen con todos los compiladoresde C y de C++. Son las librerías
(o bibliotecas)ANSI o estándar. También hay librerías que no son
parte del estándar pero en esta secciónsólo usaremos algunas
bibliotecas (o librerías) ANSI.
Nota 2: Sé que esto pinta aburrido, pero es muy útil y realmente las
libreróas nos facilitan enormemente el trabajo de programar. Recuerda
que antes de hablar librerías y demás es necesario dominar algunos
conceptosde fundamentación en general y otros temas importantes
(ciclos,condicionales y demás) Ahora veamos algunas librerías y
como es su sintaxis.
¿Qué son exactamente las librerías?
En C++, se conoce como librerías (o bibliotecas)a cierto tipo de
archivos que podemosimportar o incluir en nuestro programa. Estos
archivos contienen las especificacionesde diferentes funcionalidades
ya construidas y utilizables que podremos agregara nuestro
programa, como por ejemplo leer del teclado o mostrar algo por
pantalla entre muchas otras más.
Al poderincluir estas librerías con definiciones de diferentes
funcionalidades podremosahorrarnos gran cantidad de cosas,
imaginemos por ejemplo que cada vez que necesitemosleer por
teclado, debamos entonces crearuna función que lo haga (algo
realmente complejo),al podercontar con las librerías en C++,
podremoshacer uso de una gran variedad de funciones que nos
facilitaran la vida y aumentarán la modularidad de nuestros códigos.
Las librerías no son únicamente archivos externos creados por otros,
también es posible crear nuestras propias librerías y utilizarlas en
nuestros programas.Las librerías pueden tener varias extensiones
diferentes,las más comunes son: .lib, .bpl, .a, .dll, .h y algunas más ya
no tan comunes.
En conclusión:Las librearías son archivos (no siempre externos)que
nos permiten llevar a cabo diferentes tareas sin necesidad de
preocuparnos por cómo se hacen sino simplemente entendercómo
usarlas. Las librearías en C++ permiten hacer nuestros programas
más modulares y reutilizables, facilitando además crear programas
con funcionalidades bastante complejas en unas pocas líneas de
código.
Sintaxis para declarar Librerías en C++
La declaración de librerías,tanto en C como en C++, se debe hacer al
principio de todo nuestro código,antes de la declaraciónde cualquier
función o línea de código,debemosindicarle al compiladorque
librerías usar, para el saber que términos estaran correctos en la
escritura de nuestro código y cuáles no. La sintaxis es la siguiente:
#include <nombre de la librería> o alternativamente #include "nombre
de la librería".Cualquiera de las 2 formas es válida en C++ (no estoy
seguro si en C sea válido), ten en cuenta que siempre el nombre de la
librería debe ir entre " y " o entre < y >. En tu código puedesdeclarar
todas las librerías que quieras aunque en realidad no tienen sentido
declarar una librería que no vas a usar en tu programa, sin embargo
no existe límite para esto.
Librerías Estándar de C++ (Standar Template Library o STL)
A continuación pondré algunas de las librerías de uso más
común de C++ y que forman parte de las librerías estandar de
este lenguaje.
 fstream:
Flujos hacia/desde ficheros.Permite la manipulación de archivos
desde el programar, tanto leer como escribir en ellos.
 iosfwd:
Contiene declaraciones adelantadas de todas las plantillas de
flujos y sus typedefsestándar. Por ejemplo ostream.
 iostream:
Parte del a STL que contiene los algoritmos estándar, es quizá la
más usada e importante (aunque no indispensable).
 La biblioteca list:
Parte de la STL relativa a contenedorestipo list; listas
doblemente enlazadas
 math:
Contiene los prototipos de las funciones y otras definicionespara
el uso y manipulación de funciones matemáticas.
 memory:
Utilidades relativas a la gestión de memoria, incluyendo
asignadores y punteros inteligentes (auto_ptr).
"auto_ptr" es una clase que conformala librería memory y
permite un fácil manejo de punteros y su destrucción
automaticamente.
 Biblioteca new:
Manejo de memoria dinámica
 numeric:
Parte de la librería numérica de la STL relativa a operaciones
numéricas.
 ostream:
Algoritmos estándar para los flujos de salida.
 queue:
Parte de la STL relativa a contenedorestipo queue (colas de
objetos).
 Librería stdio:
Contiene los prototipos de las funciones, macros,y tipos para
manipular datos de entrada y salida.
 Librería stdlib:
Contiene los prototipos de las funciones, macros,y tipos para
utilidades de uso general.
 string:
Parte de la STL relativa a contenedorestipo string; una
generalización de las cadenas alfanuméricas para albergar
cadenas de objetos.Muy útil para el fácil uso de las cadenas de
caracteres, pues elimina muchas d elas dificultades que generan
los char
 typeinfo:
Mecanismo de identificaciónde tipos en tiempo de ejecución
 vector:
Parte de la STL relativa a los contenedorestipo vector; una
generalización de las matrices unidimensionales C/C++
 forward_list
Esta librería es útil para implementar con gran facilidad listas
enlazadas simples.
 list
Permite implementarlistas doblemente enlzadas (listas
enlazadas dobles)facilmente.
 iterator
Proporcionaun conjunto de clases para iterar elementos.
 regex
Proporcionafácil acceso al uso de expresiones regulares parala
comparaciónde patrones.
 thread
Útil para trabajar programación multihilos y crear múltiples hilos
en nuestra aplicación.
Palabras reservadas
Operadores en c
Tipos de datos
Casting
Ejemplo Struct Tarea1familia
Ejm:
Como crear una variable
1. Se le da el tipode valora la variable yasea(decimal,enteroetc.)
2. se escribe el identificadorde lavariable ejm ManualCarlos
3. se le asignaun valorenteroejm=420
4. se escribe puntoycoma para terminarlalíneade código
Ejm:
Mostrar Salidade datos en C++
1. Se escribe coutpara comenzarunasalida
2. Se agrega <<
3. Entre comillase escribe el mensaje amostrarenpantallaejm:“Hola”
4. Se agrega nuevamente <<
5. Escribimos endl yunpuntoy coma para terminarel códigode salida
Ejm
Mostrar salida de datos en c
1. Se agrega la libreríastdio.hejm: #include<stdio.h>.
2. Se escribe Printf yse abre paréntesisejm: Printf ().
3. Dentrode los paréntesisse escribecomillayse escribe el mensajeque quieremostrara
continuaciónejm: Printf (“Hola”)
4. Por últimose escribe puntoycomaal final para terminarlalíneade códigoy se ejecuta.
Entrada de datos en C
1. Se prepara unavariable donde se almacenarael datoa guardar ejm: floatnumero;
2. Se hace la preguntadel datoa ingresarenc o c++ (Printf,Cout)
3. Se escribe scanf y se abre paréntesis.
4. Entre comillasse escribe el tipode datode entradaconun porcentaje yel tipode dato
ejm:scanf (“ %f ”). eneste caso esf porque lavariable estipo floatTiposde datos con
scanf pag 16. se escribe unacoma y lavariable donde se almacenarael dato ejm:scanf (“
%f ”, numero)
5. Se terminala líneacon unpuntoy coma y listoejm: scanf (“ %f ”, numero);
Entrada de datos en C++
1. Escribimosunmensaje conlafunciónde cout y le solicitamosal usuariolainformación
solicitada
2. Escribimos enunanuevalíneade código cin y escribimos >>
3. Escribimoslavariable donde vamosalmacenarlosdatosyla cerramoscon un puntoy
coma
Ejm:
Función Size of
1. al final de unmensaje de salidaescribimos sizeof
2. escribimosentre paréntesisel tamañodeseadoejm(char)
3. escribimos <<endl;paraterminarlalíneade código
Ejm
Función if Else
1. Escribimoslapreguntao lacondiciónyla respuestase laasignamosa unavariable
2. Para comenzarel if else escribimos if entre paréntesislacondiciónyabajoentre
llaveslasalida
3. Escribimosenunanuevalínea else yabrimosllavesyescribimoslasalidade datos
si la condiciónesfalsaEjm:
Switch
1. Se declarauna variable que guarde laopcióna elegirejm:intopc;
2. Se preguntaal usuariolaopcióncon un cout o printf
3. Se escribe switchyentre paréntesislavariable ejm:switch(opc)
4. Se escribe llavesyse escribe case yal ladode case la opciónporejemplosi fueraunola
opc del case entraría al case 1: y se escribe asi hasta tenertodosloscase de lasopciones
planteadas
5. Se llenanloscasescon loque va a hacer cada opcióno llamara funciones
6. Y se agregaun defaultporsi el usuarioseleccionaunaopciónincorrecta
FOR
Es una estructura de control en programación en la que se puede indicar de
antemano el número mínimo de iteraciones que la instrucción realizará
Sintaxis
for(inicialización del bucle; condición; incremento);
While
Tiene cierta semejanza con el bucle for, así es en el uso de una inicialización,
una condición y un incremento. Otra de sus similitudes es el momento en el
que analizan la condición que en ambos es antes de ejecutar el bucle.
Sintaxis
While ( condición )
{
Sentencias;
Incremento;
}
Manual C/C++ Carlos Diaz
Guia sentencias de control
Ejercicio 1:
Ejercicio 2:
Manual C/C++ Carlos Diaz
Manual C/C++ Carlos Diaz
Ejercicio 3
Arreglos unidimensionales
1. Al momentode declararuna variable se le daun valorde tamaño entre Corchetesque eso
representarael tamañodadoenmemoria
2. Declaramoslavariable porejmen int (entero)
3. Le damosun identificadoralavariable ejm: X
4. Y abrimosloscorchetesy le damosel tamaño ejm[5]
Arreglos bidimensionales
1. Se declarauna variable de cualquiertipoporejemplo intyse le da un identificadorpor
ejemplohello
2. Se le da el tamaño de elementosporejmplo [5]
3. Este identificadorserá= a {1,2,3,4,5} que conformaríantodosloselementosllamados
índice
4. Y a losíndicesse lesda cualquiervalorpor ejemplo={32,27,64,18,95};
Ejm:
Struct
1. Se escribe structóseael nombre de la funciónesrecomendablehacerestafunciónantes
del main
2. Se da entery se abre llave{}
3. Ahoraescribimosvariablesdentrode structde todotipoy cualquieridentificador
4. Afuerade laultimallave le damosunidentificadoratodaesa estructura } Estructura;
5. Ahorasolola llamamosaimprimircomoel nombre de la estructura. yel identificador
Ejm:
Guia estructuras
Struct estudiante ejem ¨PrintF¨
Struct docente ejm ¨Printf¨
Struct empleado ejem Printf
Crear ficheros
1. Se escribe FILE * fichero(oseael nombre del fichero)
2. Se asignauna variable donde se vaa guardar el ficheroejm:fichero=
3. Se escribe el nombre del ficheroyse asignael nombre yel tipoejm:(“violento”,“a”)
4. Con unif else se valorasi el ficherose creo
5. Cerramosel ficheroconun fclose yel nombre del ficheroejmfclose(fichero);
Ingresar datos en un fichero
1. Se abre el ficheroenmodolecturay escritura:fichero=fopen("violento","a+");
2. Se solicitael datoa guardar ejm:printf("nIngrese el codEmpleado:");
3. Se usa un fflushconstdinejm:fflush(stdin);
4. Se usa un scanf o un cout para ingresarlosdatos
5. En mi caso se usa un scanf con el nombre de la estructuradonde vasa guardar losdatos
ejm:scanf (" %f ", &registro.sueldo);
6. Se usa un fwrite paraescribirlosdatoscon su respectivoparéntesisnombre de la
estructuraoriginal ejm: &registro
7. Luegouna coma y se ejecutaun sizeof de laestructuradeclaradase cierranlos paréntesis
y se escribe unacoma y un unopara que vayacon paso de uno yel nombre del fichero,
ejm:fwrite(&registro,sizeof(structsRegistro),1,fichero);
8. Se cierra el ficheroconun fclose ejm: fclose (fichero);
Leer datos de un fichero
1. Se abre el ficheroenmodolecturaejm: fichero= fopen("violento","r");
2. Opcional:se usaun if else paraverificarsi el ficheroexisteejm:if(fichero==NULL) {
printf("narchivoviolentonoexiste!!!"); return;
3. se usa un fready se abrenparéntesisse mandaa llamarlaestructura original ycomaejm:
&registro,
4. se agrega un sizeof de laestructura declaradase cierranlosparéntesisdel sizeof yse pone
un unoy el nombre del ficheroejm :fread(&registro,sizeof(structsRegistro),1,fichero);
5. se agrega un printf oun cout con el identificadorde lasalidade datoscon tabuladoresy
saltosde líneaejm:printf("ntNumerotNombre ttEdadtt Sueldon");
6. se escribe un while conun ¡feof yel nombre del ficheroejm: while(!feof(fichero))
7. se escribe un printf con cada tipode dato y tabuladoresylaestructuracon la variable
donde se guardaronlosdatos ejm: printf("nt%dtt%s tt%d t%.2f n",
registro.codigo,registro.nombre,registro.edad,registro.sueldo);
8. se usa un freadcon el nombre de laestructura,un sizeof de laestructuradeclaradacon un
paso de unoy el nombre del ficheroejm: fread(&registro,sizeof(structsRegistro),1,
fichero);
9. se cierra el ficheroconun fclose ejm: fclose(fichero);
10. se usa un system(“Pause”) paraque espere pantalla
Buscar datos en un fichero
1. Se abre el ficheroenmodolecturay se validasi existe ejm:
fichero= fopen("violento","r");
if(fichero==NULL)
{
Printf ("narchivoviolentonoexiste!!!");
return;
}
2. Se abre la estructuraoriginal yse le declaraun temporal porejemplo: structsRegistro
reg1;
3. Se declarauna variable de códigotemporal ejm: intcodTemp=0;
4. Se le preguntaal usuarioel códigodel datoque quiere buscary unscanf con el código
temporal ejm:printf("Digite el códigodelempleadoque deseabuscar:"); scanf("%d",
&codTemp);
5. Se usa un rewinddel ficheroconunwhile tipo¡feof del nombre delficheroejm:
rewind(fichero); while (!feof(fichero))
6. Se usa un freaddel códigotemporal conlaestructuraoriginal conun paso de unoen el
registroyse usa unif para comparar el códigotemporal conel original del ficheroyasí
mostrar losdatosy se cierracon un fclose ejm:
fread(&reg1,sizeof (sRegistro),1,fichero);
if(reg1.codigo==codTemp)
{
printf("CodEmpleado:%d n",reg1.codigo);
Printf ("Empleado:%s n",reg1.nombre);
Printf ("Edad:%d n",reg1.edad);
Printf ("Sueldo:%.2f n",reg1.sueldo);
break;
Modificar datos en un fichero
1. Se declaraun bool de una variable porejmencontradoa falsoejm: bool encontrado=
false;
2. Se declaraun cod enint ejm: intcodEmp=0; y se crea unarchivo temporal yse declarala
estructurade datos con un temporal ejm:intcodEmp=0; FILE *archivoTemp; struct
sRegistroreg;
3. Se abre el ficherocondel archivotemporal enmodoa+ y se abre el archivode los datosen
modolecturaejm:archivoTemp= fopen("temporal.txt","a+"); fichero= fopen("violento",
"r");
4. Se hace una validaciónsi losarchivosse abrieroncorrectamenteconunif :
if(archivoTemp==NULL&&fichero==NULL) { printf("Erroral abrirlos archivos!!!"); }
5. Se usa un fflushyse preguntael codigoo identificadordel datoque deseamodificaryun
freadpara que puedaguardar ese codigoenla estructuradeclaradaa inicios
Ejm: fflush(stdin);
printf("Archivosabiertosconexito!!! n");
system("PAUSE");
system("cls");
printf("Ingrese el codigodel Empleadoque deseamodificar:");
scanf("%d",&codEmp);
rewind(fichero);
fread(&reg,sizeof(sRegistro),1,fichero);
6. se usa un while conunfeof del ficheroyse mandaa mostrarlosdatos encontrados con
una validaciónde unif
while (!feof(fichero))
{
if(codEmp==reg.codigo)
{
encontrado= true;
fflush(stdout);
printf("--------------------------------- n");
printf("CodEmpleado:%d n",reg.codigo);
printf("Empleado:%s n",reg.nombre);
printf("Edad:%dn",reg.edad);
printf("Sueldo:%.2f n",reg.sueldo);
printf("--------------------------------- n");
7. se manda a preguntarcon una salidade datosque se quiere modificaryunswitchpara
seleccionarel dato adecuadoa modificarejm:
intopc=0;
fflush(stdin);
printf("Ingresaunaopcionsegunel campoque deseamodificar. n");
printf("1:Para modificarel nombre. n");
printf("2:Para modificarlaedad. n");
printf("3:Para modificarel sueldo. n");
printf("opcion:");
scanf("%d",&opc);
switch(opc)
{
case 1:
{
fflush(stdout);
printf("Digite el nuevonombre: n");
fflush(stdin);
gets(reg.nombre);
break;
}
case 2:
{
fflush(stdout);
printf("Digite lanuevaedad: n");
fflush(stdin);
scanf("%d",&reg.edad);
break;
}
case 3:
{
fflush(stdout);
printf("Digite el nuevosueldo: n");
fflush(stdin);
scanf("%f",&reg.sueldo);
break;
}
default:
printf("Digiteunaopcionvalida!!!");
break;
8. se usa un fwrite de laestructuradeclaradaal inicioconunsize of de laestructuraoriginal
con un pasode unoenel ficherodel archivotemp: fwrite(&reg,sizeof(structsRegistro),1,
archivoTemp); printf("RegistroModificado!!! n");
9. y se usa una validaciónsi el registronoexisteejm:
else
{
fwrite(&reg,sizeof(structsRegistro),1,archivoTemp);
}
fread(&reg,sizeof(sRegistro),1,fichero);
}
if(encontrado==false)
{
printf("Registronoencontrado!!! n");
}
}
10. se cierran losarchivosejm:
fclose(archivoTemp);
fclose(fichero);
remove("violento");
rename("temporal.txt","violento");
Manual C/C++ Carlos Diaz
Funciones
1. se escribe el tipode funciónque vayaa ser porejm Voidy el nombre de lafunciónejm:
VoidMenu y se abren paréntesis
2. lasparéntesissonparalos argumentosovariablesque vaa exportar
3. se escribe loque va hacer lafunciónentre llaves
4. luegopuedesinvocarlafunciónes switchoenel intmaindepende paraque lovayasa
usar
Tipos de variables
Variables globales
Estas variablessonlasque se invocanafueradel mainnormalmentecreanlíneasdespuésdel std
namespace estasvariablessirvenparatodoel programay se puedenusarencualquierfunciónetc
Ejm:
Variables locales
Estas variablessolosondeclaradasenunmismomenúofunciónyaque estasvariablessolose
puedenutilizardonde se declararonporejemplo:intcantidaddentrodel main.
Estas variablesnopuedenserutilizadasenotrasfuncionesamenosque se declare igual
Guia de ejercicios final
Ejercicio 1
Dado como datoel sueldode untrabajador,considere unaumentodel 15% si susueldoesinferior
a 1000 y de un12% encaso contrario.Imprimael sueldoconel aumentoincorporado.
Ejercicio 2
Dado como datos la matrícula de un alumno, el semestre en el que está
inscrito, y promedio, determine si el mismo es apto para pertenecer alguna
de las profesiones que tiene la universidad. Si el alumno es aceptado
teniendo en cuenta las especificaciones que se listan abajo se debe imprimir
su matrícula, carrera y la palabra “Aceptado”
Ingeniería Semestre > 6 y Promedio >= 8.8
Medicina Semestre >=6 y Promedio > 8.5
Licenciatura Semestre > 5 y Promedio >=8.3
Técnico Semestre >=3 y Promedio >=7.8
Manual C/C++ Carlos Diaz
Manual C/C++ Carlos Diaz
Ejercicio 3
En una tienda efectúan un descuento a los clientes dependiendo del monto
de la compra. El descuento se efectúa con base en el siguiente criterio.
Si el monto es menor que 500 no hay descuento
Si el monto está comprendido entre 500 y 1000 inclusive, el desc es de 5%
Si el monto está comprendido entre 1000 y 7000 inclusive, el desc es del 11%
Si el monto está comprendido entre 7000 y 15000 inclusive, el desc es del
18%
Si el monto es mayor de 15000 el desc es del 25%
Manual C/C++ Carlos Diaz
Anexos

Más contenido relacionado

PPTX
Bibliotecas que existen_para_c++_ (2)
PDF
cuadernillo-de-word.pdf
DOC
Tarea 3 de informatica
PPTX
presentación erika yahaira
PPTX
27 ideas para motivar
PDF
Certificate of Appreciation
PPTX
Un viaje por el sistema solar
DOCX
Resume Jackson Collins
Bibliotecas que existen_para_c++_ (2)
cuadernillo-de-word.pdf
Tarea 3 de informatica
presentación erika yahaira
27 ideas para motivar
Certificate of Appreciation
Un viaje por el sistema solar
Resume Jackson Collins

Destacado (13)

DOCX
Prueba clarisa morales_InvestigacióndeOperaciones
PPTX
Anghella cuento 1 daria mente ya completo
DOCX
Bm peta 5 p
PPTX
DOCX
Manual Francis Jarquin R
PDF
Slide Software- home work
PDF
Blockposter 000024
ODT
Evaluation Essay
PPT
Sun Tzu - L'arte della guerra
PPT
Reza Hagel, CPO, Advisory and author at Cisco Systems - Value Creation & Ven...
PPTX
Unruly Mobile Video Survey
PPT
manejo de desechos solidos
PPTX
Fecundación Embarazo y Parto
Prueba clarisa morales_InvestigacióndeOperaciones
Anghella cuento 1 daria mente ya completo
Bm peta 5 p
Manual Francis Jarquin R
Slide Software- home work
Blockposter 000024
Evaluation Essay
Sun Tzu - L'arte della guerra
Reza Hagel, CPO, Advisory and author at Cisco Systems - Value Creation & Ven...
Unruly Mobile Video Survey
manejo de desechos solidos
Fecundación Embarazo y Parto
Publicidad

Similar a Manual C/C++ Carlos Diaz (20)

PPTX
LENGUAJE C++
PPTX
Practica 1
PPTX
Practica 1
PPTX
Bibliotecas de c_
PPTX
Bibliotecas de c_
DOCX
Bibliotecas de lenguaje c++
PPTX
Bibliotecas de-c
PPTX
librerias.pptx
PPTX
BIBLIOTECAS QUE EXITEN PARA C++
PPTX
Las bibliotecas que_existen_para_c_(2)
PPTX
Bibliotecas de c_
PPTX
Bibliotecas de C
PPTX
Bibliotecas que existen_para_c++
PPTX
BIBLIOTECAS QUE EXISTEN PARA C++
PPTX
Bibliotecas existentes para_c_
PPTX
Presentacion1(3)(2)
PPTX
bibliotecas c++
DOCX
PDF
bibliotecasolibreriasenc-170322144450-1.pdf
PPTX
BIBLIOTECAS PARA C++
LENGUAJE C++
Practica 1
Practica 1
Bibliotecas de c_
Bibliotecas de c_
Bibliotecas de lenguaje c++
Bibliotecas de-c
librerias.pptx
BIBLIOTECAS QUE EXITEN PARA C++
Las bibliotecas que_existen_para_c_(2)
Bibliotecas de c_
Bibliotecas de C
Bibliotecas que existen_para_c++
BIBLIOTECAS QUE EXISTEN PARA C++
Bibliotecas existentes para_c_
Presentacion1(3)(2)
bibliotecas c++
bibliotecasolibreriasenc-170322144450-1.pdf
BIBLIOTECAS PARA C++
Publicidad

Más de Estudiantes ISI_UCA (20)

DOCX
Manual C/C++
DOCX
Manual C/C++ Jason Martinez
DOCX
Manual C-C++ Pablo
DOCX
Manual programación
DOCX
Manual de usuario c
DOCX
Manual C/C++ Néstor Flores
DOCX
Manual AGFV
DOCX
Manual C / C++ Melvin
DOCX
Manual laboratorio de programación#1
DOCX
Manual de Programación c/c++ Ricky Bonilla
DOCX
Manual programación
DOCX
Manual de usuario (C/C++)
DOCX
Manualito C/C++ - Leonardo Aquino
DOCX
Manual de programación en C/C++
PDF
Lenguaje de programacion en c
DOCX
Manual de c c++
DOCX
manualitoRodolfo
DOCX
Manual C/C++
DOCX
Manual de c/c++
Manual C/C++
Manual C/C++ Jason Martinez
Manual C-C++ Pablo
Manual programación
Manual de usuario c
Manual C/C++ Néstor Flores
Manual AGFV
Manual C / C++ Melvin
Manual laboratorio de programación#1
Manual de Programación c/c++ Ricky Bonilla
Manual programación
Manual de usuario (C/C++)
Manualito C/C++ - Leonardo Aquino
Manual de programación en C/C++
Lenguaje de programacion en c
Manual de c c++
manualitoRodolfo
Manual C/C++
Manual de c/c++

Último (20)

PDF
0007_PPT_DefinicionesDeDataMining_201_v1-0.pdf
PPTX
ANCASH-CRITERIOS DE EVALUACIÓN-FORMA-10-10 (2).pptx
PPTX
modulo seguimiento 1 para iniciantes del
PDF
MANUAL TECNOLOGÍA SER MINISTERIO EDUCACIÓN
DOCX
TRABAJO GRUPAL (5) (1).docxjesjssjsjjskss
PDF
programa-de-estudios-2011-guc3ada-para-el-maestro-secundarias-tecnicas-tecnol...
PPTX
Propuesta BKP servidores con Acronis1.pptx
PDF
TRABAJO DE TECNOLOGIA.pdf...........................
PPTX
El uso de las TIC en la vida cotidiana..
PDF
MANUAL de recursos humanos para ODOO.pdf
PDF
informe_fichas1y2_corregido.docx (2) (1).pdf
PPTX
Sesion 1 de microsoft power point - Clase 1
PPTX
CLAASIFICACIÓN DE LOS ROBOTS POR UTILIDAD
PDF
Documental Beyond the Code (Dossier Presentación - 2.0)
PPTX
historia_web de la creacion de un navegador_presentacion.pptx
PPTX
ccna: redes de nat ipv4 stharlling cande
PDF
Distribucion de frecuencia exel (1).pdf
PDF
Tips de Seguridad para evitar clonar sus claves del portal bancario.pdf
PDF
CONTABILIDAD Y TRIBUTACION, EJERCICIO PRACTICO
PPTX
Diapositivas Borrador Rocha Jauregui David Paolo (3).pptx
0007_PPT_DefinicionesDeDataMining_201_v1-0.pdf
ANCASH-CRITERIOS DE EVALUACIÓN-FORMA-10-10 (2).pptx
modulo seguimiento 1 para iniciantes del
MANUAL TECNOLOGÍA SER MINISTERIO EDUCACIÓN
TRABAJO GRUPAL (5) (1).docxjesjssjsjjskss
programa-de-estudios-2011-guc3ada-para-el-maestro-secundarias-tecnicas-tecnol...
Propuesta BKP servidores con Acronis1.pptx
TRABAJO DE TECNOLOGIA.pdf...........................
El uso de las TIC en la vida cotidiana..
MANUAL de recursos humanos para ODOO.pdf
informe_fichas1y2_corregido.docx (2) (1).pdf
Sesion 1 de microsoft power point - Clase 1
CLAASIFICACIÓN DE LOS ROBOTS POR UTILIDAD
Documental Beyond the Code (Dossier Presentación - 2.0)
historia_web de la creacion de un navegador_presentacion.pptx
ccna: redes de nat ipv4 stharlling cande
Distribucion de frecuencia exel (1).pdf
Tips de Seguridad para evitar clonar sus claves del portal bancario.pdf
CONTABILIDAD Y TRIBUTACION, EJERCICIO PRACTICO
Diapositivas Borrador Rocha Jauregui David Paolo (3).pptx

Manual C/C++ Carlos Diaz

  • 2. Contenido Introducción ............................................................................................................................. 3 Librerías del lenguaje c.............................................................................................................. 4 ¿Qué son exactamente laslibrerías?....................................................................................... 5 Sintaxis para declarar Libreríasen C++.................................................................................... 5 Librerías Estándar de C++ (Standar Template Library o STL).......................................... 6 Palabras reservadas..................................................................................................................10 Operadores en c.......................................................................................................................11 Tipos de datos..........................................................................................................................12 Casting.....................................................................................................................................13 Ejemplo Struct Tarea1 familia...................................................................................................14 ...............................................................................................................................................14 Como crear una variable...........................................................................................................15 Mostrar Salida de datosen C++.................................................................................................16 Mostrar salida de datosen c.....................................................................................................17 Entrada de datos en C...............................................................................................................18 Entrada de datos en C++...........................................................................................................19 Función Size of.........................................................................................................................20 Función if Else..........................................................................................................................21 Switch......................................................................................................................................22 FOR......................................................................................................................................23 While.......................................................................................................................................24 Guia sentencias de control........................................................................................................26 Ejercicio 1: ...........................................................................................................................26 Ejercicio 2: ...........................................................................................................................27 Ejercicio 3 ............................................................................................................................30 Arreglos unidimensionales........................................................................................................31 Arreglos bidimensionales..........................................................................................................32 Struct ......................................................................................................................................33 Guia estructuras.......................................................................................................................34
  • 3. Struct estudiante ejem ¨PrintF¨.............................................................................................34 Struct docente ejm ¨Printf¨...................................................................................................35 Struct empleadoejem Printf..................................................................................................36 Crear ficheros...........................................................................................................................37 Ingresar datos en un fichero......................................................................................................38 Leer datos de un fichero...........................................................................................................39 Buscar datos en un fichero........................................................................................................40 Modificar datos en un fichero ...................................................................................................41 Funciones ................................................................................................................................45 Tipos de variables.....................................................................................................................46 Variables globales.................................................................................................................46 Variables locales...................................................................................................................47 Guia de ejercicios final..............................................................................................................48 Ejercicio 1 ............................................................................................................................48 Ejercicio 2 ............................................................................................................................49 Ejercicio 3 ............................................................................................................................52 Anexos.....................................................................................................................................54
  • 4. Introducción C++ es un lenguaje de programación diseñado a mediados de los años 1980 por Bjarne Stroustrup. La intención de su creación fue el extender al lenguaje de programación C mecanismos que permiten la manipulación de objetos. En ese sentido, desde el punto de vista de los lenguajes orientados a objetos, el C++ es un lenguaje híbrido. Posteriormente se añadieron facilidades de programación genérica, que se sumaron a los paradigmas de programación estructurada y programación orientada a objetos. Por esto se suele decir que el C++ es un lenguaje de programación multiparadigma. Actualmente existe un estándar, denominado ISO C++, al que se han adherido la mayoría de los fabricantes de compiladores más modernos. Existen también algunos intérpretes, tales como ROOT. Una particularidad del C++ es la posibilidad de redefinir los operadores, y de poder crear nuevos tipos que se comporten como tipos fundamentales. El nombre C++ fue propuesto por Rick Mascitti en el año 1983, cuando el lenguaje fue utilizado por primera vez fuera de un laboratorio científico. Antes se había usado el nombre "C con clases". En C++, la expresión "C++" significa "incremento de C" y se refiere a que C++ es una extensión de C.
  • 5. Librerías del lenguaje c Junto con los compiladoresde C y C++, se incluyen ciertos archivos llamados bibliotecas mas comúnmente librerías. Las bibliotecas contienen el código objeto de muchos programas que permitenhacer cosas comunes,como leer el teclado, escribiren la pantalla, manejar números, realizar funciones matemáticas, etc. Las bibliotecas están clasificadas por el tipo de trabajos que hacen, hay bibliotecas de entrada y salida, matemáticas, de manejo de memoria, de manejo de textos y como imaginarás existen muchísimas librerías disponiblesy todas con una función especifica. Nota: Existe una discusiónsobre el nombre de estos archivos. Muchos personas consideranque el nombre adecuado es archivos de biblioteca,y estan en lo correcto.Sin embargo,la mayoría llamamos a estos archivos librerías,y también me incluyo entre estos.El error proviene del nombre en inglés, que es library. Este término se traduce como biblioteca,y no como librería. De este modo a lo largo de esta secciónlas llamaré de cualquiera de las dos formas,para estár mas claros. Hay un conjunto de bibliotecas (o librerías) muy especiales,que se incluyen con todos los compiladoresde C y de C++. Son las librerías (o bibliotecas)ANSI o estándar. También hay librerías que no son parte del estándar pero en esta secciónsólo usaremos algunas bibliotecas (o librerías) ANSI. Nota 2: Sé que esto pinta aburrido, pero es muy útil y realmente las libreróas nos facilitan enormemente el trabajo de programar. Recuerda que antes de hablar librerías y demás es necesario dominar algunos conceptosde fundamentación en general y otros temas importantes (ciclos,condicionales y demás) Ahora veamos algunas librerías y como es su sintaxis.
  • 6. ¿Qué son exactamente las librerías? En C++, se conoce como librerías (o bibliotecas)a cierto tipo de archivos que podemosimportar o incluir en nuestro programa. Estos archivos contienen las especificacionesde diferentes funcionalidades ya construidas y utilizables que podremos agregara nuestro programa, como por ejemplo leer del teclado o mostrar algo por pantalla entre muchas otras más. Al poderincluir estas librerías con definiciones de diferentes funcionalidades podremosahorrarnos gran cantidad de cosas, imaginemos por ejemplo que cada vez que necesitemosleer por teclado, debamos entonces crearuna función que lo haga (algo realmente complejo),al podercontar con las librerías en C++, podremoshacer uso de una gran variedad de funciones que nos facilitaran la vida y aumentarán la modularidad de nuestros códigos. Las librerías no son únicamente archivos externos creados por otros, también es posible crear nuestras propias librerías y utilizarlas en nuestros programas.Las librerías pueden tener varias extensiones diferentes,las más comunes son: .lib, .bpl, .a, .dll, .h y algunas más ya no tan comunes. En conclusión:Las librearías son archivos (no siempre externos)que nos permiten llevar a cabo diferentes tareas sin necesidad de preocuparnos por cómo se hacen sino simplemente entendercómo usarlas. Las librearías en C++ permiten hacer nuestros programas más modulares y reutilizables, facilitando además crear programas con funcionalidades bastante complejas en unas pocas líneas de código. Sintaxis para declarar Librerías en C++ La declaración de librerías,tanto en C como en C++, se debe hacer al principio de todo nuestro código,antes de la declaraciónde cualquier función o línea de código,debemosindicarle al compiladorque librerías usar, para el saber que términos estaran correctos en la escritura de nuestro código y cuáles no. La sintaxis es la siguiente:
  • 7. #include <nombre de la librería> o alternativamente #include "nombre de la librería".Cualquiera de las 2 formas es válida en C++ (no estoy seguro si en C sea válido), ten en cuenta que siempre el nombre de la librería debe ir entre " y " o entre < y >. En tu código puedesdeclarar todas las librerías que quieras aunque en realidad no tienen sentido declarar una librería que no vas a usar en tu programa, sin embargo no existe límite para esto. Librerías Estándar de C++ (Standar Template Library o STL) A continuación pondré algunas de las librerías de uso más común de C++ y que forman parte de las librerías estandar de este lenguaje.  fstream: Flujos hacia/desde ficheros.Permite la manipulación de archivos desde el programar, tanto leer como escribir en ellos.  iosfwd: Contiene declaraciones adelantadas de todas las plantillas de flujos y sus typedefsestándar. Por ejemplo ostream.  iostream:
  • 8. Parte del a STL que contiene los algoritmos estándar, es quizá la más usada e importante (aunque no indispensable).  La biblioteca list: Parte de la STL relativa a contenedorestipo list; listas doblemente enlazadas  math: Contiene los prototipos de las funciones y otras definicionespara el uso y manipulación de funciones matemáticas.  memory: Utilidades relativas a la gestión de memoria, incluyendo asignadores y punteros inteligentes (auto_ptr). "auto_ptr" es una clase que conformala librería memory y permite un fácil manejo de punteros y su destrucción automaticamente.  Biblioteca new: Manejo de memoria dinámica  numeric: Parte de la librería numérica de la STL relativa a operaciones numéricas.  ostream: Algoritmos estándar para los flujos de salida.  queue: Parte de la STL relativa a contenedorestipo queue (colas de objetos).  Librería stdio:
  • 9. Contiene los prototipos de las funciones, macros,y tipos para manipular datos de entrada y salida.  Librería stdlib: Contiene los prototipos de las funciones, macros,y tipos para utilidades de uso general.  string: Parte de la STL relativa a contenedorestipo string; una generalización de las cadenas alfanuméricas para albergar cadenas de objetos.Muy útil para el fácil uso de las cadenas de caracteres, pues elimina muchas d elas dificultades que generan los char  typeinfo: Mecanismo de identificaciónde tipos en tiempo de ejecución  vector: Parte de la STL relativa a los contenedorestipo vector; una generalización de las matrices unidimensionales C/C++  forward_list Esta librería es útil para implementar con gran facilidad listas enlazadas simples.  list Permite implementarlistas doblemente enlzadas (listas enlazadas dobles)facilmente.  iterator Proporcionaun conjunto de clases para iterar elementos.  regex
  • 10. Proporcionafácil acceso al uso de expresiones regulares parala comparaciónde patrones.  thread Útil para trabajar programación multihilos y crear múltiples hilos en nuestra aplicación.
  • 16. Como crear una variable 1. Se le da el tipode valora la variable yasea(decimal,enteroetc.) 2. se escribe el identificadorde lavariable ejm ManualCarlos 3. se le asignaun valorenteroejm=420 4. se escribe puntoycoma para terminarlalíneade código Ejm:
  • 17. Mostrar Salidade datos en C++ 1. Se escribe coutpara comenzarunasalida 2. Se agrega << 3. Entre comillase escribe el mensaje amostrarenpantallaejm:“Hola” 4. Se agrega nuevamente << 5. Escribimos endl yunpuntoy coma para terminarel códigode salida Ejm
  • 18. Mostrar salida de datos en c 1. Se agrega la libreríastdio.hejm: #include<stdio.h>. 2. Se escribe Printf yse abre paréntesisejm: Printf (). 3. Dentrode los paréntesisse escribecomillayse escribe el mensajeque quieremostrara continuaciónejm: Printf (“Hola”) 4. Por últimose escribe puntoycomaal final para terminarlalíneade códigoy se ejecuta.
  • 19. Entrada de datos en C 1. Se prepara unavariable donde se almacenarael datoa guardar ejm: floatnumero; 2. Se hace la preguntadel datoa ingresarenc o c++ (Printf,Cout) 3. Se escribe scanf y se abre paréntesis. 4. Entre comillasse escribe el tipode datode entradaconun porcentaje yel tipode dato ejm:scanf (“ %f ”). eneste caso esf porque lavariable estipo floatTiposde datos con scanf pag 16. se escribe unacoma y lavariable donde se almacenarael dato ejm:scanf (“ %f ”, numero) 5. Se terminala líneacon unpuntoy coma y listoejm: scanf (“ %f ”, numero);
  • 20. Entrada de datos en C++ 1. Escribimosunmensaje conlafunciónde cout y le solicitamosal usuariolainformación solicitada 2. Escribimos enunanuevalíneade código cin y escribimos >> 3. Escribimoslavariable donde vamosalmacenarlosdatosyla cerramoscon un puntoy coma Ejm:
  • 21. Función Size of 1. al final de unmensaje de salidaescribimos sizeof 2. escribimosentre paréntesisel tamañodeseadoejm(char) 3. escribimos <<endl;paraterminarlalíneade código Ejm
  • 22. Función if Else 1. Escribimoslapreguntao lacondiciónyla respuestase laasignamosa unavariable 2. Para comenzarel if else escribimos if entre paréntesislacondiciónyabajoentre llaveslasalida 3. Escribimosenunanuevalínea else yabrimosllavesyescribimoslasalidade datos si la condiciónesfalsaEjm:
  • 23. Switch 1. Se declarauna variable que guarde laopcióna elegirejm:intopc; 2. Se preguntaal usuariolaopcióncon un cout o printf 3. Se escribe switchyentre paréntesislavariable ejm:switch(opc) 4. Se escribe llavesyse escribe case yal ladode case la opciónporejemplosi fueraunola opc del case entraría al case 1: y se escribe asi hasta tenertodosloscase de lasopciones planteadas 5. Se llenanloscasescon loque va a hacer cada opcióno llamara funciones 6. Y se agregaun defaultporsi el usuarioseleccionaunaopciónincorrecta
  • 24. FOR Es una estructura de control en programación en la que se puede indicar de antemano el número mínimo de iteraciones que la instrucción realizará Sintaxis for(inicialización del bucle; condición; incremento);
  • 25. While Tiene cierta semejanza con el bucle for, así es en el uso de una inicialización, una condición y un incremento. Otra de sus similitudes es el momento en el que analizan la condición que en ambos es antes de ejecutar el bucle. Sintaxis While ( condición ) { Sentencias; Incremento; }
  • 27. Guia sentencias de control Ejercicio 1:
  • 32. Arreglos unidimensionales 1. Al momentode declararuna variable se le daun valorde tamaño entre Corchetesque eso representarael tamañodadoenmemoria 2. Declaramoslavariable porejmen int (entero) 3. Le damosun identificadoralavariable ejm: X 4. Y abrimosloscorchetesy le damosel tamaño ejm[5]
  • 33. Arreglos bidimensionales 1. Se declarauna variable de cualquiertipoporejemplo intyse le da un identificadorpor ejemplohello 2. Se le da el tamaño de elementosporejmplo [5] 3. Este identificadorserá= a {1,2,3,4,5} que conformaríantodosloselementosllamados índice 4. Y a losíndicesse lesda cualquiervalorpor ejemplo={32,27,64,18,95}; Ejm:
  • 34. Struct 1. Se escribe structóseael nombre de la funciónesrecomendablehacerestafunciónantes del main 2. Se da entery se abre llave{} 3. Ahoraescribimosvariablesdentrode structde todotipoy cualquieridentificador 4. Afuerade laultimallave le damosunidentificadoratodaesa estructura } Estructura; 5. Ahorasolola llamamosaimprimircomoel nombre de la estructura. yel identificador Ejm:
  • 36. Struct docente ejm ¨Printf¨
  • 38. Crear ficheros 1. Se escribe FILE * fichero(oseael nombre del fichero) 2. Se asignauna variable donde se vaa guardar el ficheroejm:fichero= 3. Se escribe el nombre del ficheroyse asignael nombre yel tipoejm:(“violento”,“a”) 4. Con unif else se valorasi el ficherose creo 5. Cerramosel ficheroconun fclose yel nombre del ficheroejmfclose(fichero);
  • 39. Ingresar datos en un fichero 1. Se abre el ficheroenmodolecturay escritura:fichero=fopen("violento","a+"); 2. Se solicitael datoa guardar ejm:printf("nIngrese el codEmpleado:"); 3. Se usa un fflushconstdinejm:fflush(stdin); 4. Se usa un scanf o un cout para ingresarlosdatos 5. En mi caso se usa un scanf con el nombre de la estructuradonde vasa guardar losdatos ejm:scanf (" %f ", &registro.sueldo); 6. Se usa un fwrite paraescribirlosdatoscon su respectivoparéntesisnombre de la estructuraoriginal ejm: &registro 7. Luegouna coma y se ejecutaun sizeof de laestructuradeclaradase cierranlos paréntesis y se escribe unacoma y un unopara que vayacon paso de uno yel nombre del fichero, ejm:fwrite(&registro,sizeof(structsRegistro),1,fichero); 8. Se cierra el ficheroconun fclose ejm: fclose (fichero);
  • 40. Leer datos de un fichero 1. Se abre el ficheroenmodolecturaejm: fichero= fopen("violento","r"); 2. Opcional:se usaun if else paraverificarsi el ficheroexisteejm:if(fichero==NULL) { printf("narchivoviolentonoexiste!!!"); return; 3. se usa un fready se abrenparéntesisse mandaa llamarlaestructura original ycomaejm: &registro, 4. se agrega un sizeof de laestructura declaradase cierranlosparéntesisdel sizeof yse pone un unoy el nombre del ficheroejm :fread(&registro,sizeof(structsRegistro),1,fichero); 5. se agrega un printf oun cout con el identificadorde lasalidade datoscon tabuladoresy saltosde líneaejm:printf("ntNumerotNombre ttEdadtt Sueldon"); 6. se escribe un while conun ¡feof yel nombre del ficheroejm: while(!feof(fichero)) 7. se escribe un printf con cada tipode dato y tabuladoresylaestructuracon la variable donde se guardaronlosdatos ejm: printf("nt%dtt%s tt%d t%.2f n", registro.codigo,registro.nombre,registro.edad,registro.sueldo); 8. se usa un freadcon el nombre de laestructura,un sizeof de laestructuradeclaradacon un paso de unoy el nombre del ficheroejm: fread(&registro,sizeof(structsRegistro),1, fichero); 9. se cierra el ficheroconun fclose ejm: fclose(fichero); 10. se usa un system(“Pause”) paraque espere pantalla
  • 41. Buscar datos en un fichero 1. Se abre el ficheroenmodolecturay se validasi existe ejm: fichero= fopen("violento","r"); if(fichero==NULL) { Printf ("narchivoviolentonoexiste!!!"); return; } 2. Se abre la estructuraoriginal yse le declaraun temporal porejemplo: structsRegistro reg1; 3. Se declarauna variable de códigotemporal ejm: intcodTemp=0; 4. Se le preguntaal usuarioel códigodel datoque quiere buscary unscanf con el código temporal ejm:printf("Digite el códigodelempleadoque deseabuscar:"); scanf("%d", &codTemp); 5. Se usa un rewinddel ficheroconunwhile tipo¡feof del nombre delficheroejm: rewind(fichero); while (!feof(fichero)) 6. Se usa un freaddel códigotemporal conlaestructuraoriginal conun paso de unoen el registroyse usa unif para comparar el códigotemporal conel original del ficheroyasí mostrar losdatosy se cierracon un fclose ejm: fread(&reg1,sizeof (sRegistro),1,fichero); if(reg1.codigo==codTemp) { printf("CodEmpleado:%d n",reg1.codigo); Printf ("Empleado:%s n",reg1.nombre); Printf ("Edad:%d n",reg1.edad); Printf ("Sueldo:%.2f n",reg1.sueldo); break;
  • 42. Modificar datos en un fichero 1. Se declaraun bool de una variable porejmencontradoa falsoejm: bool encontrado= false; 2. Se declaraun cod enint ejm: intcodEmp=0; y se crea unarchivo temporal yse declarala estructurade datos con un temporal ejm:intcodEmp=0; FILE *archivoTemp; struct sRegistroreg; 3. Se abre el ficherocondel archivotemporal enmodoa+ y se abre el archivode los datosen modolecturaejm:archivoTemp= fopen("temporal.txt","a+"); fichero= fopen("violento", "r"); 4. Se hace una validaciónsi losarchivosse abrieroncorrectamenteconunif : if(archivoTemp==NULL&&fichero==NULL) { printf("Erroral abrirlos archivos!!!"); } 5. Se usa un fflushyse preguntael codigoo identificadordel datoque deseamodificaryun freadpara que puedaguardar ese codigoenla estructuradeclaradaa inicios Ejm: fflush(stdin); printf("Archivosabiertosconexito!!! n"); system("PAUSE"); system("cls"); printf("Ingrese el codigodel Empleadoque deseamodificar:"); scanf("%d",&codEmp); rewind(fichero); fread(&reg,sizeof(sRegistro),1,fichero); 6. se usa un while conunfeof del ficheroyse mandaa mostrarlosdatos encontrados con una validaciónde unif while (!feof(fichero)) { if(codEmp==reg.codigo) { encontrado= true; fflush(stdout); printf("--------------------------------- n"); printf("CodEmpleado:%d n",reg.codigo); printf("Empleado:%s n",reg.nombre); printf("Edad:%dn",reg.edad); printf("Sueldo:%.2f n",reg.sueldo); printf("--------------------------------- n"); 7. se manda a preguntarcon una salidade datosque se quiere modificaryunswitchpara seleccionarel dato adecuadoa modificarejm: intopc=0; fflush(stdin);
  • 43. printf("Ingresaunaopcionsegunel campoque deseamodificar. n"); printf("1:Para modificarel nombre. n"); printf("2:Para modificarlaedad. n"); printf("3:Para modificarel sueldo. n"); printf("opcion:"); scanf("%d",&opc); switch(opc) { case 1: { fflush(stdout); printf("Digite el nuevonombre: n"); fflush(stdin); gets(reg.nombre); break; } case 2: { fflush(stdout); printf("Digite lanuevaedad: n"); fflush(stdin); scanf("%d",&reg.edad); break; } case 3: { fflush(stdout); printf("Digite el nuevosueldo: n"); fflush(stdin); scanf("%f",&reg.sueldo); break; } default: printf("Digiteunaopcionvalida!!!"); break; 8. se usa un fwrite de laestructuradeclaradaal inicioconunsize of de laestructuraoriginal con un pasode unoenel ficherodel archivotemp: fwrite(&reg,sizeof(structsRegistro),1, archivoTemp); printf("RegistroModificado!!! n"); 9. y se usa una validaciónsi el registronoexisteejm:
  • 44. else { fwrite(&reg,sizeof(structsRegistro),1,archivoTemp); } fread(&reg,sizeof(sRegistro),1,fichero); } if(encontrado==false) { printf("Registronoencontrado!!! n"); } } 10. se cierran losarchivosejm: fclose(archivoTemp); fclose(fichero); remove("violento"); rename("temporal.txt","violento");
  • 46. Funciones 1. se escribe el tipode funciónque vayaa ser porejm Voidy el nombre de lafunciónejm: VoidMenu y se abren paréntesis 2. lasparéntesissonparalos argumentosovariablesque vaa exportar 3. se escribe loque va hacer lafunciónentre llaves 4. luegopuedesinvocarlafunciónes switchoenel intmaindepende paraque lovayasa usar
  • 47. Tipos de variables Variables globales Estas variablessonlasque se invocanafueradel mainnormalmentecreanlíneasdespuésdel std namespace estasvariablessirvenparatodoel programay se puedenusarencualquierfunciónetc Ejm:
  • 48. Variables locales Estas variablessolosondeclaradasenunmismomenúofunciónyaque estasvariablessolose puedenutilizardonde se declararonporejemplo:intcantidaddentrodel main. Estas variablesnopuedenserutilizadasenotrasfuncionesamenosque se declare igual
  • 49. Guia de ejercicios final Ejercicio 1 Dado como datoel sueldode untrabajador,considere unaumentodel 15% si susueldoesinferior a 1000 y de un12% encaso contrario.Imprimael sueldoconel aumentoincorporado.
  • 50. Ejercicio 2 Dado como datos la matrícula de un alumno, el semestre en el que está inscrito, y promedio, determine si el mismo es apto para pertenecer alguna de las profesiones que tiene la universidad. Si el alumno es aceptado teniendo en cuenta las especificaciones que se listan abajo se debe imprimir su matrícula, carrera y la palabra “Aceptado” Ingeniería Semestre > 6 y Promedio >= 8.8 Medicina Semestre >=6 y Promedio > 8.5 Licenciatura Semestre > 5 y Promedio >=8.3 Técnico Semestre >=3 y Promedio >=7.8
  • 53. Ejercicio 3 En una tienda efectúan un descuento a los clientes dependiendo del monto de la compra. El descuento se efectúa con base en el siguiente criterio. Si el monto es menor que 500 no hay descuento Si el monto está comprendido entre 500 y 1000 inclusive, el desc es de 5% Si el monto está comprendido entre 1000 y 7000 inclusive, el desc es del 11% Si el monto está comprendido entre 7000 y 15000 inclusive, el desc es del 18% Si el monto es mayor de 15000 el desc es del 25%