Dev - C++ - Problema, cambios acumulativos de datos en funciones C++

 
Vista:

Problema, cambios acumulativos de datos en funciones C++

Publicado por Marco Gonzalez (1 intervención) el 21/03/2021 03:30:44
Saludos, tengo un problema, me mandaron a practicar el ingreso de cadenas con las funciones strcat() y memset() por medio del uso de funciones , la situacion es que cuando se realiza la operacion de dicha funcion se queda guardado el cambio y se ejecuta en la otra funcion, deseo que alguien me ayude con esto por favor.
adjunto codigo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
#include <iostream>
#include <string.h>
#include <string>
#include <conio.h>
#include <cmath>
#include <sstream>
#include <cerrno>
using namespace std;
char palabra1[50], palabra2[50];
void pedirDatos(char[], char[]);
void datos(char[], char[]);
void sobreescribir(char[]);
void anadirc(char [], char []);
int op, sw = 0;
int main()
{
	pedirDatos(palabra1, palabra2);
	datos(palabra1, palabra2);
	do
	{
		system ("cls");
		cout << " OPCIONES CON FUNCIONES STRING" << endl;
		cout << " \t 1.(memset)sobreescribir con '*' sobre la primera cadena" << endl;
		cout << " \t 2.(strcat)añadir una cadena al final de otra" << endl;
		cout << " \t 3. Salir" << endl;
		cout << "Ingrese su opcion ==>> ";
		cin >> op;
		switch(op)
		{
			case 1:
				datos(palabra1,palabra2);
				sobreescribir(palabra1);
				break;
			case 2:
				datos(palabra1,palabra2);
				anadirc(palabra1,palabra2);
				break;
			case 3:
				sw=1;
				break;
			default :
				cout << "Opcion no existe...." << endl;
		}
	}while (sw == 0);
}
void sobreescribir(char palabra1[])
{
 
	int n;
	cout << "ingrese desde que caracter desea el cambio: ";
	cin >>n;
	void *asterisco = memset(palabra1,'*', n);
	cout << palabra1 << endl;
	getch();
}
void anadirc(char palabra1[], char palabra2[])
{
	strcat(palabra2, palabra1);
	cout << "la cadena 1 se pone al final de la cadena 2 dando ---> " << palabra2 << endl;
	system("pause");
 
	getch();
	return ;
}
void pedirDatos( char palabra1[], char palabra2[])
{
	fflush(stdin);
	cout << "Ingrese la primera cadena de caracteres: ";
	cin.getline(palabra1, 50, '\n');
	cout << "Ingrese la segunda cadena de caracteres: ";
	cin.getline(palabra2, 50, '\n');
 
}
void datos(char palabra1[], char palabra2[])
{
	palabra1;
	palabra2;
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder