Ayuda plz con funciones en C++

Nov 13, 2011
1
0
0
Hola Amigos de la comunidad de Agentinawarez, a ver si me hacen el favor de echarme una manita con este codigo c++ que tengo desarrollado para pasarlo a funciones el mismo codigo pero con funciones.

Agradezco de antemano su cordial ayuda amigos y que Dios los bendigas.


// Encriptacion de textos.

#include <stdio.h>
#include <conio.h>
#include "iostream"
#include <string.h>
#include <ctype.h>

using namespace std;

int main(void)
{
FILE *arch; //Declaracion de varible de tipo FILE con puntero a *arch
char encriptado[100],desencriptado[100], r, pas[11]; //Declaracion de los Arrays
int longitud,i;


arch=fopen("ArchText.txt","w"); /*Operacion que abre el archivo de tipo texto y escribe
la cadena de caracteres dentro de el */
//clrscr();

cout<<"Escribe el texto que deseas encriptar : ";
cin.getline(encriptado,100);/*Esta funcion le permite comenzar a escribir desde la
primera posicion dentro del array encriptado[100] */

longitud = strlen(encriptado); //Muestra la longitud del array

for ( i = 0;i<longitud;i++) //Incremento de las posiciones de caracteres dentro del array
{
encriptado = char(toascii(encriptado)+122);
}
fprintf(arch,"%s",encriptado);// Imprime la cadena de caracteres en el archivo de texto
cout<<"\n\nEl texto encriptado es "<<encriptado;

cout<<"\n\nDeseas desencriptar el texto s/n ";
cin>>r;
if (toupper(r)=='S') //Condicional para que la variable (r) sea igual a S mayuscula
{
cout<<"\n\nDame la clave de acceso para desencriptar : ";
cin>>pas;
if (strcmp(pas,"c")==0) //Compara la variable pas a la cadena de caracteres de la clave
{
cout<<"\n\nEl texto desencriptado es ---> ";
for(i=0;i<longitud;i++) //Bucle para incrementar las posiciones de los caracteres a desencriptar
{
desencriptado=char(encriptado)-122;//Iguala el array desencriptado con
cout<<desencriptado; // el array encriptado restandole 122
getch();
}
}
else
{
cout<<"\n\n\n Lo sentimos mucho, no esta autorizado para ver el archivo....";
getch();
}
}
else cout<<"\n\nGracias por utiliza nuestro programa...";
getchar();
fclose(arch);//Cierra el Arhivo de Texto

return(0);
}
 

Tobias Mauricio

Moderador General
Miembro Staff
Staff
Abr 21, 2010
11,957
101
0
Espero que esto te ayude en algo


problemas con su tarea porque no sabe cómo pasar una matriz como parámetro a una función en c++. Es algo sencillo, pero difícil de deducir. Veamos. Si tu arreglo es de una dimensión&#8230;
int matriz[4];
&#8230; la forma de declarar la función es la siguiente:
void fx(int m[4]) { ...código... }
Y la forma de llamar la función sería:
fx(matriz);
Si el arreglo es de dos dimensiones&#8230;
int matriz[4][3];
&#8230; pues es lo mismo:
void fx(int m[4][3]) { ...código... }
Y la forma de llamar la función sería:
fx(matriz);
Si la función retorna una matriz&#8230;
int matriz[4];
&#8230; se declara normal:
void fx(int m[4]) { return matriz[4]; }
Y la forma de llamar la función sería:
matriz[4] = fx(matriz);
Este programa pide tres números, los almacena en una matriz, le suma 1 a cada elemento y los muestra, usando para cada acción una función. Así que tenemos funciones que reciben matrices y que retornan matrices. Chéquenlo.
#include<iostream> using namespace std; void pedir(int matriz[3], int len) { for(int i=0; i<=len; i++) { cout << "Numero " << i+1 << ":? "; cin >> matriz[i]; } } int sumar(int matriz[3], int len) { for(int i=0; i<=len; i++) matriz[i]++; return matriz[3]; } void mostrar(int matriz[3], int len) { for(int i=0; i<=len; i++) cout << matriz[i] << " "; } int main() { int matriz[3]={0}, len = sizeof(matriz)/sizeof(int); pedir(matriz, len-1); matriz[3] = sumar(matriz, len-1); mostrar(matriz, len-1); return 0; }