Tipos simples | P2 GIR Saltearse al contenido

Tipos simples

Introducción

En Programación I (C) trabajabas con tipos básicos (int, float, char) y entrada/salida con printf/scanf. En Programación II (C++) seguimos usando tipos básicos, pero normalmente:

  • usamos iostream (std::cout, std::cin) en vez de printf/scanf
  • preferimos tipos de la STL cuando proceda (p.ej. std::string en vez de char[])
  • cuando nos interesa que el tamaño (bits) sea exactamente el mismo en cualquier plataforma, usamos tipos de tamaño fijo de <cstdint> como std::int32_t, std::int16_t, std::uint32_t, etc.

1) Declarar e inicializar variables básicas y mostrarlas

P1 — C

#include <stdio.h>
int main() {
int edad = 20;
float altura = 1.75f;
char inicial = 'C';
printf("Edad: %d\n", edad);
printf("Altura: %.2f\n", altura);
printf("Inicial: %c\n", inicial);
return 0;
}

P2 — C++

#include <iostream>
#include <iomanip> // std::fixed, std::setprecision
int main() {
int edad = 20;
float altura = 1.75f;
char inicial = 'C';
std::cout << "Edad: " << edad << "\n";
std::cout << "Altura: " << std::fixed << std::setprecision(2) << altura << "\n";
std::cout << "Inicial: " << inicial << "\n";
return 0;
}

2) Pedir un entero y mostrar doble, triple y cuadrado

P1 — C

#include <stdio.h>
int main() {
int n, doble, triple, cuadrado;
printf("Introduce un número entero: ");
scanf("%d", &n);
doble = n * 2;
triple = n * 3;
cuadrado = n * n;
printf("Doble: %d\n", doble);
printf("Triple: %d\n", triple);
printf("Cuadrado: %d\n", cuadrado);
return 0;
}

P2 — C++

#include <iostream>
int main() {
int n;
std::cout << "Introduce un número entero: ";
std::cin >> n;
int doble = n * 2;
int triple = n * 3;
int cuadrado = n * n;
std::cout << "Doble: " << doble << "\n";
std::cout << "Triple: " << triple << "\n";
std::cout << "Cuadrado: " << cuadrado << "\n";
return 0;
}

3) Perímetro de un triángulo con puntos (distancia euclídea)

P1 — C

#include <stdio.h>
#include <math.h>
int main() {
int x1, y1;
int x2, y2;
int x3, y3;
double lado1, lado2, lado3;
double perimetro;
printf("Introduce el punto 1: ");
scanf("%d,%d", &x1, &y1);
printf("Introduce el punto 2: ");
scanf("%d,%d", &x2, &y2);
printf("Introduce el punto 3: ");
scanf("%d,%d", &x3, &y3);
lado1 = sqrt((x2 - x1)*(x2 - x1) + (y2 - y1) * (y2 - y1));
lado2 = sqrt((x3 - x2)*(x3 - x2) + (y3 - y2) * (y3 - y2));
lado3 = sqrt((x3 - x1)*(x3 - x1) + (y3 - y1) * (y3 - y1));
perimetro = lado1 + lado2 + lado3;
printf("El perímetro del triángulo cuyos lados son (%d,%d)--(%d,%d)--(%d,%d) es %.3f\n",
x1,y1, x2,y2, x3,y3, perimetro);
return 0;
}

P2 — C++

#include <iostream>
#include <cmath>
#include <iomanip>
double distancia(int x1, int y1, int x2, int y2) {
const int dx = x2 - x1;
const int dy = y2 - y1;
return std::sqrt(dx * dx + dy * dy);
}
int main() {
int x1, y1, x2, y2, x3, y3;
// Leemos "x,y" capturando la coma:
char coma;
std::cout << "Introduce el punto 1 (x,y): ";
std::cin >> x1 >> coma >> y1;
std::cout << "Introduce el punto 2 (x,y): ";
std::cin >> x2 >> coma >> y2;
std::cout << "Introduce el punto 3 (x,y): ";
std::cin >> x3 >> coma >> y3;
const double lado1 = distancia(x1, y1, x2, y2);
const double lado2 = distancia(x2, y2, x3, y3);
const double lado3 = distancia(x1, y1, x3, y3);
const double perimetro = lado1 + lado2 + lado3;
std::cout << std::fixed << std::setprecision(3);
std::cout << "El perímetro del triángulo cuyos lados son ("
<< x1 << "," << y1 << ")--("
<< x2 << "," << y2 << ")--("
<< x3 << "," << y3 << ") es "
<< perimetro << "\n";
return 0;
}