Sí, está con formato de C pero me vale. No había abierto el vídeo porque no me suelo fiar mucho de YT, pero el chaval lo explica bastante bien.
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes Menú
Libro libro; //es mi struct
string nom_fichero = PracticaFinal_opcion1.libros.dat;
ifstream f;
f.open(nom_fichero);
if (f)
{
while (f >> ??) // el "??" indica que no sé que poner para que lea hasta el fin del fichero. NO PUEDO USAR .eof //
{
//aquí irían la propia lectura
}
}
#include <iostream>
#include <string>
using namespace std;
void Cabecera (void);
void SepararPalabras (void);
int main (void)
{
Cabecera();
SepararPalabras();
return 0;
}
void Cabecera (void)
{
cout << "Este programa pide una frase y devuelve enumeradas sus palabras" << endl << endl;
return;
}
void SepararPalabras (void)
{
string frase;
int i, x = 1, n;
cout << "Dame una frase: ";
getline (cin, frase);
for (i = 0; i < frase.length (); i++)
{
if (isalpha (frase[i]))
{
cout << x << "-> ";
while (isalpha (frase[i]))
{
frase[i];
cout << frase[i];
i++;
}
cout << endl;
x++;
}
}
return;
}
Cita de: AlbertoBSD en 8 Diciembre 2018, 17:53 PMRealmente no quería un código (aunque lo pueda parecer por decir lo de <string>), solo una clave para poder sacarlo, pero gracias de todas formas. Ah, por cierto, no sé lo que son los tokens :/
Mejor di que quieres que te hagan la tarea.
El codigo presenta varios problemas, el numero de espacios no puede ser mas de 10, ya que definimos *vector[10], se podria hacer de forma dinamica para aceptar "infinitos" pero eso ya involugra mas codigo.
#include<stdio.h>
#include<string.h>
int main() {
char cadena[100];
char *token;
char *vector[10];
int i = 0;
printf("Ingrse una frase: ");
fgets(cadena,100,stdin);
token = strtok(cadena," ");
do {
vector[i] = token;
printf("%i -> %s\n",i+1,vector[i]);
i++;
token = strtok(NULL," ");
}while(token != NULL);
}
CitarDame frase: Esto es una prueba
1 -> Esto
2 -> es
3 -> una
4 -> prueba
int SumaAbundantes (int x, int y)
{
int suma = 0, i, div, resultado = 0;
cout << "Dame un entero positivo: ";
cin >> x;
cout << "Dame otro entero positivo: ";
cin >> y;
for (i = x + 1; i < y; i++)
{
for (div = 1; div < i; div++)
{
if ((i % div) == 0)
{
suma = suma + div;
if (suma > i)
{
resultado = resultado + i;
}
cout << resultado << endl;
}
}
}
cout << "La suma de los numeros enteros abundantes positivos entre " << x << " y " << y << " es " << resultado;
return resultado;
}
#include <iostream>
using namespace std;
int main ()
{
int num = 1;
int suma = 0;
int div = 1;
cout << "Este programa nos dice si un numero entero introducido por teclado es perfecto, abundante o deficiente." << endl << endl;
while (num != 0)
{
cout << "Dame un numero (introduce 0 para salir): ";
cin >> num;
for (div = 1; div < num; div++)
{
if ((num % div) == 0)
{
suma = suma + div;
cout << suma;
}
}
if (num == 0)
{
cout << "";
}
else if (suma == num)
{
cout << "El numero " << num << " es perfecto." << endl << endl;
}
else if (suma > num)
{
cout << "El numero " << num << " es abundante." << endl << endl;
}
else
{
cout << "El numero " << num << " es deficiente." << endl << endl;
}
}
return 0;
}