Documentos de Académico
Documentos de Profesional
Documentos de Cultura
NOMBRE DE LA MATERIA
Algoritmos y Lenguajes de Programación
NOMBRE DE LA ACTIVIDAD
Act. EJERCICIOS FUNCIONES - Tema.6_ Funciones
Reporte de Prácticas
Practica No # 2023 13/05/2023
Fecha de
Título de la Práctica: EJERCICIOS ARCHIVOS Periodo Escolar
Elaboración
Diseño de Documento WORD por: Enrique Valtierra Zamorano
Entonces como la sintaxis “C” en programación y en especial al ser una serie de reglas y procesos que lideran la
estructura de un programa entendidas por compilador para crear dichos programas en “C” válido, es como para
éste presente trabajo al ser actividad sobre FUNCIONES también servirá para la resolución de planteamientos, que
como ingenieros industriales nos podrá ayudar para mejorar habilidad para desarrollar algoritmos eficaces,
enriquecer vocabulario de construcciones útiles de programación, y para sistemas de producción, entre otros.
Definición de Problema
Con la definición de identificadores y todo lo necesarios en estructuras de lenguajes "C" y con
FUNCIONES, resolver problemáticas con solución en -devC++
Objetivo General
El alumno de ingeniería industrial desarrollará problemáticas con FUNCIONES con solución en -
devC++ para poner en práctica los conocimientos durante unidad VI de esta materia de Algoritmos
y Lenguajes de programación.
Objetivos Específicos
+ Definir identificadores para correcta lectura y visualización de los tipos de datos, + Conocer y
programar en -DevC++
PASO 1 - Dar clic en “Abrir nuevo” -> “Proyecto” -> Seleccionar “Console Application” -> Dar clic en ACEPTAR.
PASO 2 – Escribir un nombre para llamar al proyecto -> Seleccionar “DevC++ Project (*dev)” -> Dar clic en
GUARDAR.
//PROBLEMA.1_Triangulo
#include <iostream>
#include <cmath>
using namespace std;
int main() {
char opcion;
do {
cout << "Seleccione una opcion:" << endl;
cout << "A. Dados dos angulos, saber si son complementarios." << endl;
cout << "B. Dados dos lados, indicar el area del triangulo." << endl;
cout << "C. Dados dos catetos, conocer el valor de la hipotenusa." << endl;
cout << "D. Salir del programa." << endl;
cin >> opcion;
switch(opcion) {
case 'A': {
double angulo1, angulo2;
cout << "Ingrese el primer angulo (en grados): ";
cin >> angulo1;
cout << "Ingrese el segundo angulo (en grados): ";
cin >> angulo2;
if(angulo1 + angulo2 == 90) {
cout << "Los angulos son complementarios." << endl;
} else {
cout << "Los angulos no son complementarios." << endl;
}
break;
}
case 'B': {
double lado1, lado2, area;
cout << "Ingrese el primer lado: ";
cin >> lado1;
cout << "Ingrese el segundo lado: ";
cin >> lado2;
area = (lado1 * lado2) / 2;
cout << "El area del triangulo es: " << area << endl;
break;
}
case 'C': {
double cateto1, cateto2, hipotenusa;
cout << "Ingrese el primer cateto: ";
cin >> cateto1;
cout << "Ingrese el segundo cateto: ";
cin >> cateto2;
hipotenusa = sqrt(pow(cateto1, 2) + pow(cateto2, 2));
cout << "La hipotenusa es: " << hipotenusa << endl;
break;
}
case 'D': {
cout << "Saliendo del programa..." << endl;
break;
}
default: {
cout << "Opcion invalida. Por favor ingrese una opcion valida." << endl;
break;
}
}
} while(opcion != 'D');
return 0;
Departamento de Sistemas y Computación
}
Docente: Marelis Carrillo Lara
TECNOLÓGICO NACIONAL DE MÉXICO
INSTITUTO TECNOLÓGICO DE TOLUCA
SU FUNCIONAMIENTO:
PASO 1 - Dar clic en “Abrir nuevo” -> “Proyecto” -> Seleccionar “Console Application” -> Dar clic en ACEPTAR.
PASO 2 – Escribir un nombre para llamar al proyecto -> Seleccionar “DevC++ Project (*dev)” -> Dar clic en
GUARDAR.
//PROBLEMA.2_Ordenar Vectores
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
int size, value;
vector<int> vec, vec_pares, vec_nones;
char opcion;
// Solicitar tamaño del vector
cout << "Ingrese tamano de vector: ";
cin >> size;
// Capturar los valores del vector
for (int i = 0; i < size; i++)
{
cout << "Ingrese un valor: ";
cin >> value;
vec.push_back(value);
}
// Solicitar al usuario si desea ingresar más valores o cerrar el programa
while (true)
{
cout << "Desea ingresar otro valor? (s/n): ";
cin >> opcion;
if (opcion == 's' || opcion == 'S')
{
cout << "Ingrese un valor: ";
cin >> value;
vec.push_back(value);
}
else if (opcion == 'n' || opcion == 'N')
{
break;
}
else
{
cout << "Opcion no valida. Intente de nuevo :(." << endl;
}
}
SU FUNCIONAMIENTO:
3). Desarrolle una solución en donde genere una Agenda Telefónica empleando
archivos y funciones con las siguientes funciones: A. Altas de Amigos (Los datos a
solicitar son nombre, dirección, teléfono, nickname, el registro lleva un identificador
que es incremental, el usuario no lo ingresa); B. Búsqueda de Amigos (se busca por
nombre o por identificador); C. Actualización de Amigos (se modifica cualquier dato
excepto el identificador); D. Eliminación de Amigos (se busca por nombre o por
identificador, se pide confirmar si elimina o no); y E. Mostrar todos los Amigos.
PASO 1 - Dar clic en “Abrir nuevo” -> “Proyecto” -> Seleccionar “Console Application” -> Dar clic en ACEPTAR.
PASO 2 – Escribir un nombre para llamar al proyecto -> Seleccionar “DevC++ Project (*dev)” -> Dar clic en
GUARDAR.
PARTE
1
PARTE
2
PARTE
3
PARTE
4
PARTE
5
PARTE
6
PARTE
7
//PROBLEMA.3_Amigos-agenda
#include <stdio.h>
#include <stdlib.h>
#define TAM 100
typedef struct {
int id;
char nombre[20],
direccion[20],
telefono[20],
nickname[20];
}Amigo;
Amigo leerDatos();
void ingresar(Amigo [], int *, Amigo );
int buscar(Amigo [], int, int );
void actualizar(Amigo [], int, int );
void eliminar(Amigo [], int *, int );
void mostrar(Amigo [], int );
void leerArchivo(Amigo [], int *);
void guardarEnArchivo(Amigo [], int );
int main() {
int opcion;
Amigo amigos[TAM], amigo;
int totalAmigos = -1, id, posicion;
leerArchivo(amigos, &totalAmigos);
while(1) {
1
"2. Buscar AMIGO\n"
"3. Actualizar AMIGO\n"
"4. Eliminar AMIGO\n"
"5. Mostrar TODOS LOS AMIGOS\n"
"6. Salir\n");
printf("Elija opcion a ejecutar: ");
scanf("%d", &opcion);
switch(opcion) {
case 1:
amigo = leerDatos();
break;
case 2:
if(posicion != -1) {
} else {
break;
case 3:
break;
case 4:
break;
case 5:
2
mostrar(amigos, totalAmigos);
break;
case 6:
guardarEnArchivo(amigos, totalAmigos);
exit(0);
break;
default:
printf("Opcion invalida");
printf("\n");
returnde
Departamento 0; Sistemas y Computación
}
Docente: Marelis Carrillo Lara
TECNOLÓGICO NACIONAL DE MÉXICO
INSTITUTO TECNOLÓGICO DE TOLUCA
Amigo leerDatos(){
static int id = 0;
Amigo amigo;
amigo.id = ++id;
printf("Nombre: ");
scanf("%s", amigo.nombre);
printf("Direccion: ");
scanf("%s", amigo.direccion);
printf("Telefono: ");
scanf("%s", amigo.telefono);
printf("Nickname: ");
scanf("%s", amigo.nickname);
return amigo;
}
void ingresar(Amigo amigos[], int *totalAmigos, Amigo amigo) {
if(*totalAmigos == TAM - 1) {
3
printf("SE TERMINO OPCION PARA ingresar mas amigos.");
} else {
(*totalAmigos)++;
amigos[*totalAmigos] = amigo;
}
int buscar(Amigo amigos[], int totalAmigos, int idBuscar) {
if(totalAmigos == -1) {
return -1;
} else {
int menor = 0;
int mayor = totalAmigos;
int posicion = (menor + mayor) / 2;
menor = posicion + 1;
} else {
mayor = posicion - 1;
return -1;
} else {
return posicion;
}
void actualizar(Amigo amigos[], int totalAmigos, int idModificar) {
4
if(totalAmigos == -1) {
} else {
if(posicion != -1) {
int opcion;
do {
switch(opcion) {
case 1:
Departamento de Sistemas y Computación
Docente: Marelis Carrillo Lara printf("a) Modifique Nombre: ");
scanf("%s", amigos[posicion].nombre);
break;
TECNOLÓGICO NACIONAL DE MÉXICO
INSTITUTO TECNOLÓGICO DE TOLUCA
case 2:
break;
case 3:
break;
case 4:
break;
case 5:
printf("REGRESANDO AL MENU");
break;
5
default:
printf("Opcion invalida");
} while(opcion != 5);
} else {
}
}
void eliminar(Amigo amigos[], int *totalAmigos, int idEliminar) {
if(*totalAmigos == -1) {
} else {
(*totalAmigos)--;
} else {
}
void mostrar(Amigo amigos[], int totalAmigos) {
int i;
if(totalAmigos == - 1) {
6
printf("NO SE HAN ingresados amigos aun.");
} else {
}
void guardarEnArchivo(Amigo amigos[], int totalAmigos) {
int i;
FILE* archivo;
fclose(archivo);
}
void leerArchivo(Amigo amigos[], int *totalAmigos) {
FILE* archivo;
Amigo amigo;
7
archivo = fopen("amigos.txt", "r");
if(! ftell(archivo)) {
while(! feof(archivo)) {
printf("\n\n\n");
} else {
printf("Archivo vacio");
fclose(archivo);
}
SU FUNCIONAMIENTO:
-Referencias-
1.- Wikilibros. Programación en C++/Lo más básico-Lenguage en C - Wikilibros. (s. f.). Wikilibros. Recuperado
13 de mayo de 2023, de
https://es.wikibooks.org/wiki/Programaci%C3%B3n_en_C++/Lo_m%C3%A1s_b%C3%A1sico
2.- TylerMSFT. (2023, 3 abril). Funciones (C++). Microsoft Learn. Recuperado 13 de mayo de 2023, de
https://learn.microsoft.com/es-es/cpp/cpp/functions-cpp?view=msvc-170
3.- Funciones en C++ — Fundamentos de Programación en C++. (s. f.). Recuperado 13 de mayo de 2023, de
https://www2.eii.uva.es/fund_inf/cpp/temas/8_funciones/funciones.html
FUNCIONES EN C++
Referencia: A. (s. f.). Funciones en C++ Ejemplos. Blogspot. Recuperado 13 de mayo de 2023, de
http://ejercicioscpp.blogspot.com/2013/10/funciones-en-c-ejemplos.html