Código C++:
Ver original#include<iostream>
#include<stdio.h>
using namespace std;
string asterisco ( string palabra );
int main ( int argc, char * argv[] ) {
string p = "casa";
string p_conasterisco;
p_conasterisco = asterisco ( p );
cout << p_conasterisco;
return 0;
}
string asterisco ( string palabra ) {
palabra = '*' + palabra + '*';
return palabra;
}
Hay muchos errores.
Código C++:
Ver original//GNU nano 2.2.6 Archivo: temanuevo1.cpp
#include<iostream>
#include<stdio.h>
using namespace std;
void asterisco(); //Error El prototipo de la funcion no espera nada pero cuando llamas la funcion intentas pasar algo llamado palabra pero no es nada (NO EXISTE), no es variable ni string ni nada
int main ( int argc, char * argv[] ) { // Si main no espera parametros puedes precindir de (int argc, char * argv[])
string p = "casa";
asterisco ( palabra ); //El ERROR es que palabra no es una variable por eso da error. Palabra no esta declarada como una variable.
cout << "*" << p << "*" << endl;
asterisco ( palabra ); //mismo ERROR aparte de que la funcion no espera nada intentas colar algo llamado palabra que no esta declarado
return 0;
}
void asterisco() {//Error La Funcion no espera nada pero cuando la llamas intentas pasar algo llamado palabra( PALABRA NO EXISTE), no es variable ni string ni nada da error
{ // No necesitas esos parentesis ( sobran )
int l, i;
l = palabra.size() + 2; //No funciona por que palabra no ha sido declarada en esta funcion ni es una variable global o sea no existe palabra en esta funcion tampoco lo que l no recibe el tamaño de palabra.
//Intentas recebir un string pero la funcion asterisco no espera nada o sea que palabra no existe y no llega a ejecutar el bucle.
for ( i = 01; i <= l; i++ ) {
cout << "*" << endl;
}
cout << endl;
}// No necesitas esos parentesis ( sobran )
}
Intente comentar todos pero son demasiados.
Si el programa no hace lo que quieres dime como tiene que quedar la palabra o sea escribe aquí de esta forma
***casa*** y te preparo la función para que entiendas.
para que funcion reciba el string debes declara dentro de las
asterisco( string palabra_a_recebir ), entonces la funcion espera un string
ahora le puedo pasar de 2 formas un string o entre parentesis "" una palabra o bien una variable tipo string, veamos 2 ejemplos.
asterisco( "platano" );
O bien asi:
string pal = "platano";
asterisco( pal );
En este caso no necesitas poner doble asterisco ya que se trata de una variable que ya guarda un string y no un string en si.
otra observacion es igual que si vas a retornar un string el tipo de la funcion debe ser string:
Código C++:
Ver originalstring asterisco( string palabra ){ //Esto se le asi: funcion asterisco que retorna un string y espera un string llamado palabra.
//Aqui hara la funcion su magia...
return palabra; //Aquí retorna el string recuerda guardarlo el resultado en otro string para imprimir.
}
Dado que un string no es mas que una cadena de caracteres, a esa cadena le puedes hacer operaciones como "sumar" letras o incluso otro string
Código C++:
Ver original#include<iostream>
using namespace std;
string asterisco ( string palabra );
int main () {
string pescado = "con pescado";
string frase = "platano " + pescado;
string str;
str = asterisco( frase );
cout << str;
return 0;
}
string asterisco ( string palabra ) {
palabra = '*' + palabra + '*';
return palabra;
}
Suerte: