Menú

Mostrar Mensajes

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ú

Temas - anita0421

#1
Programación C/C++ / MAYUSCULA
20 Noviembre 2012, 02:06 AM
hola!

tengo una duda
cómo podria cambiar este código de C++ para que no importe cuantos espacios ponga, el segundo nombre de la persona me salga con mayuscula tambien??

esto es lo que tengo

Código (cpp) [Seleccionar]

#include <iostream>
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
using namespace std;
int main()
{
char nombre [25];
puts ("tu nombre es?:");
gets(nombre);
nombre[0]= toupper(nombre[0]);

puts ("\n\n Tu nombre es"), puts(nombre);

   puts("\n\n");

system("pause");
return 0;
}
#2
Programación C/C++ / SERIES DE TAYLOR C++
17 Noviembre 2012, 17:59 PM
Buenos dias!
Ésta es una tarea en C++ que no logro entender... si pudieran ayudarme estaria muy agradecidaa! :)





Empleando series de Taylor, obtienes resultados por aproximación para resolver la funcion básica ex para valores complejos de x

Apóyate en programación C/C++ para desarrollar la solución a este problema.

Condiciones que debe tener tu práctica:


harás uso solo y exclusivamente de funciones definidas por el programador (FDP), no usar funciones predefinidas.

La FDP será la única que podrá calcular y generar el resultado de  la cual llevará por nombre «exponente()».

No harás uso de definiciones simbólicas ni constantes, ni variables globales

Solicitar desde el programa principal el valor de x

Imprimir o desplegar desde el programa principal el resultado calculado y generado por «exponente()»

Hacer todo el proyecto lo mas modular y funcional posible, creando las FDP necesarias para simplificar tareas y dejar mas limpia el área de llamados a dichas funciones.


Nota: Cuando vas obteniendo resultados parciales, el último resultado hasta el momento obtenido se compara contra el anterior. Si la diferencia entre este último valor obtenido contra el anterior es nula (son iguales), es momento de concluir la serie de operaciones acumulativas para tal serie. En cualquier otro caso se continuará con los cálculos, operaciones acumulativas y de nueva cuenta la comparación.


Podemos usar los siguientes archivos:


PARA FACTORIAL:

(Main)



/* calculo del factorial  */
#include <stdio.h>
#include </home/usuario/Documentos/jhesquivel/factorial.h>

int main()
{
   int dato, factor;
   printf("Dame el valor a calcular: ");
   scanf("%d", &dato);
   factor=factorial(dato);
   printf(" El factorial de %d es %d. %s \n",dato, factor, factor==9999 ? "El resultado excedió el limite de tu compu" : "");
   return 0;
}




(Funcion Definida por el Programador)

int factorial(int dato)
{
   int resultado=1, resultado_tmp, contador;
   contador=dato-2;
   printf("1 ");

   while (contador>=0)
   {
       printf("* %d ",(dato-contador));
       resultado*=(dato - contador); // producto parcial
       resultado_tmp=resultado; // respalda resultado
       contador--; // posicionarse para el siguiente producto parcial

       resultado_tmp=resultado*(dato - contador)/resultado_tmp; // multiplica y divide por si mismo. No debe alterar
       if (resultado_tmp!=(dato - contador))
       {  resultado=9999;
          break;
       }
   }
   return resultado;
}



PARA POW: (Funcion Defindia por el Programador)



int raiz_2(int x)
{
  float b;

  b =float(x);
  while (!(b==(x/b)))
  {
     b =(x/b+b)/2.0;
  }
  return b;
}




MUCHISIMAS GRACIAS! :)
#3
Programación C/C++ / RFC en C++
13 Noviembre 2012, 04:04 AM
Chavos me encargaron una tarea muy difícil y es para MAÑANA! aquí se las dejo para ver si alguien me puede ayudar... en verdad no le entiendo.

e pretende solicitar el nombre completo del alumno y la fecha de nacimiento en formato numérico.

Sigue la siguiente algoritmo para el manejo decadenas (en caso de que lo requeras):

for(int posicion=0 /* primer caracter */ , posicion < strlen(nombre) ; posicion++)
   if (nombre[posicion]=' ')
       cout << "en la posicion "<< posicion << " se encuentra un espacio " << endl;

Este bloque de código te servirá para detectar donde se encuentran espacios dentro de la cadena del nombre y poder definir los límites y separar primer nombre del segundo y primer apellido del segundo. Esto en el caso de que ingreses todo el nombre sobre una misma variable.

Se te proporciona el siguiente enlace para extraer una fraccion de una cadena utilizando una FDP la cual la puedes aprovechar para complementar tu codificación para resolver siertas tareas de este proyecto.

El programa deberá filtrar para el nombre las entradas siguientes: 'de', 'los', 'la'. Ejemplo: Juan de los Rios, Alfredo de la O, Pedro de Avila, etc. Esto quiere decir que no se omitirán de la entrada o ingreso de datos pero si se filtrarán posteriormente (20%).

La política es que simule un RFC con el primer caracter de cada bloque de nombre, ejemplo: Javier Hugo Esquivel Guerrero, cuya respuesta de los primeros 4 dígitos será JHEG. En el caso si tiene un solo nombre, como no existe un segundo nombre, sobreescribirá como segundo caracter una "X", ejemplo: Luis Martines Acosta,  por lo que la salida será LXMA. Al igual para si solo contara con un apellido, ejemplo: Luz Maria Garcia, respondería a una salida LMGX (20%).

Si se presentase las uniones 'de', 'los', 'la', ejemplo: Pedro de Avila Martines, el resultado será PXAM.

Se deberá contar con una variable llamada "rfc" la cual almacenará las iniciales antes descritas concatenado con la fecha de nacimiento en el formato aammddv mas un dígito verificador (v) que responderá a si el año corresponde al siglo XXI o siglo XX para lo cual si es 0 corresponderá a XX y si es 1 corresponderá a XXI, ya que para fines prácticos y que este sistema pudiera operar varias décadas y existiera en la cadena de dígitos un año 50 sería claro detectar si éste dato corresponde a 1950 o 2050 (20%).

Ahora viene lo interesante. Crearás un FDP alojada en una librería que se llamará "genera_rfc()" la cual si se le invoca de la siguiente manera (20%):

genera_rfc("?");

mostrará una ayuda de que propósito tiene dicha rutina, cuantos parámetros utiliza, de que tipo son y el orden de cada uno dentro del argumento de la función y un ejemplo. Finalmente pedirá "oprima cualquier tecla para continuar..." y limpiar la pantalla. Para lo cual tu lo diseñarás a tu conveniencia, con el número de parámetros que requieras, pero uno de ellos será la variable "rfc" que como se describe anteriormente almacenará las iniciales antes descritas concatenado con la fecha de nacimiento en el formato aammddv mas un dígito verificador en función a los parámetros del mismo argumento de la función.

Subir solo el archivo librería que llevará forzosamente por nombre "cadenas_shcp.h" donde se encuentra la función en mención llamada genera_rfc()





Ahí donde dice del enlace, el archivo es este:


#include <stdlib.h>  // para system()
#include <stdio.h>  // para printf()

int substr(int start, int stop, const char *text)
{
   // posición final debe ser mayor o igual a posicion inicial
   printf("%.*s\n", start<=stop? stop + 1 - start : 0, &text[start]); // & por ser declarado "text" como cadena y solo tomara un caracter
   return 0;
}

int main()
{
   substr(8,12,"A mi me gusta programar"); // (desde,hasta,cadena)
   system("pause");

   return 0;
}