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 - marchiali

#1
Programación C/C++ / juego de rol en c++
24 Septiembre 2015, 23:49 PM
hola a todos.

resulta que tengo un ejercicio que resolver de la universad cuyo enunciado plantea la idea de un juego de rol. el enunciado es el siguiente:

en un videojuego existen tres tipos de personaje: caballero, mago y arquero. cada uno debe guardar sus cantidades de vida y mana. todos tienen un metodo atacar que recibe a otro personaje como referencia al cual va a atacar, sin embargo el ataque de cada personaje es diferente en cuanto a los atributos que consumen:
-el ataque del caballero quita 3 unidades de vida y 1 de mana al personaje que ataca.
-el ataque del arquero quita 2 unidades de vida y 2 de mana.
-el ataque del mago quita 1 unidad de vida y 3 de mana.
cada personaje tiene un metodo esta vivo, para saber si tiene vida restante y un metodo tipo que devuelve una cadena de texto con el tipo del personaje

con estas especificaciones codificar una clase juego para representar un juego simple que contenga 30 personaje de distinto tipo en un unico arreglo. en cada turno del juego se elige un personaje al azar que debe atacar a otro, elegido tambien al azar, esto debe repetirse hasta que quede solo un personaje vivo. mostrando en cada turno el tipo y la cantidad de vida de cada personaje.

quisiera un poco de ayuda sobre el planteamiento del programa, las clases y los atributos.

les agradecere cualquier tipo de ayuda.

Mod: Titulo modificado, no escribas en mayúsculas
#2
Programación C/C++ / ayuda con strings
25 Agosto 2014, 19:27 PM
hola a todos. el problema que tengo con los string es que no puedo ingresar 2 seguidos.

cada vez que declaro los 2 strings y los ingreso por teclado usando gets o cin.getline no se que pasa con el primero que ingrese, no se si se sobre escribe o se borra, pero con el segundo ingresado esto no pasa.

espero que puedan aclararme esta duda, gracias.
#3
Programación C/C++ / string bidemencional
31 Julio 2014, 02:58 AM
hola queria saber, como puedo cargarle datos a un strin bidimencional. por ej. si quiero hacer un arreglo de 40 nombres.

char nombre[40][20];

¿como hago para cargar los nombres por teclados? probe con cin.getline() pero no funciona
#4
Programación C/C++ / ayuda programa c++
28 Julio 2014, 22:53 PM
hola, necesito ayuda con un enunciado que me pide que programe un algoritmo pero tengo un problema.
el enunciado es este: una cadena de comida rapida elabora 7 tipos distintos de hamburguesas que comercializa en 9 franquicias distribuidas en la ciudad. la empresa desea analizar el consumos de sus productos durante el primer cuatrimestre del año.
Se ingresan por teclado pedidos de las diferentes franquicias con la forma: TipoHamburguesa (1...7) y CodSucursal (1...9). Los datos finalizan con TipoHamburguesa igual a 0.  Codifique una sola función que determine el tipo de hamburguesa mas vendido y el local que mayor ventas realizo en total.

y este es el codigo que tengo hasta ahora:
#include <iostream>
using namespace std;

void ventastotales(int ventas[][9], int pedidos, int &ham_masvendida, int &suc_masventas){
int maxvendidas=0; int maxventas=0;
for (int i=0; i<7; i++){
for (int j=0; j<9; j++){
if (i>i-1){
ventas[i][j]=maxvendidas;
}else{
ventas[i-1][j]=maxvendidas;
}
if (j>j-1){
ventas[i][j]=maxventas;
}else{
ventas[i][j-1]=maxventas;
}
maxvendidas=ham_masvendida;
maxventas=suc_masventas;
}
}

}



int main(int argc, char *argv[]) {
int ventas[7][9];

int tipohamburguesa, codsucursal, pedidos;

for (int i=0; i<7; i++){
for (int j=0; j<9; j++){
ventas[i][j]=0;
}
}

cout<<"ingrese tipo de hamburguesa"<<endl;
cin>>tipohamburguesa;

while (tipohamburguesa !=0){
cout<<"ingrese cod. sucursal"<<endl;
cin>>codsucursal;
cout<<"¿cuantos pedidos se registraron?"<<endl;
cin>>pedidos;
ventas[tipohamburguesa][codsucursal]=pedidos;
cout<<"ingrese tipo de hamburguesa"<<endl;
cin>>tipohamburguesa;

}

int hambmasvendida, sucmasventas;
ventastotales(ventas, pedidos, hambmasvendida, sucmasventas);

cout<<"hamburguesa mas vendida"<<endl;
cout<<hambmasvendida<<endl;
cout<<"suc. con mas ventas"<<endl;
cout<<sucmasventas;



return 0;
}


el programa compila bien pero en el resultado me muestra como hamburguesa mas vendida siempre a la num. 2 y en suc. con mas ventas pone numeros al azar.
que puede ser lo que este mal? gracias
#5
Hola. tengo este problema, que creo se soluciona usando arrays. el problema que tengo es que no se como plantear los arreglos ni como recorrerlos de una forma util. necesito ayuda.

ej: la roya es un hongo que afecta a varios cultivos. inspectores del INTA realizaron inspecciones durante todo el 2013 para detectar casos en cultivos en los 19 departamentos de la provincia de santa fe. escriba un programa c++ que ingrese varias ternas de datos de cada inspeccion cant. de casos detectados, mes, codigo del departamento estas ternas terminan ingresando mes cero. un inspector puede haber realizados varias inspecciones en un mismo mes y en un mismo dpto. el programa debe determinar e informar: a) cuantos casos por dpto. fueron detectados en 2013 b)cuantos dptos. no tuvieron casos detectados en mayo c) cuantos casos se detectaron en el dpto. 5 en julio.

que algoritmos se les ocurren que puedan solucionar esto? gracias

#6
Programación C/C++ / ayuda con strings
24 Julio 2014, 17:02 PM
hola. quisiera que me guien un poco con el uso de las funciones de strings en c++.
lo que estoy tratando es de programar un algoritmo que, mediante una funcion, encuentre un char dentro de una cadena(string) y que la parte de la cadena anterior al char la copie en una cadena vacia, y la parte posterior al char en otra. el char no se copia en ninguna. lo que hice fue esto:

void split(char *s[], char *c1[], char *c2[], char *car){
   if (strstr(s[60], car)){
      char aux=s-strlen(strstr(s[60], car));
      strcat(c1[60], aux);
      strcat(c2[60], (strchr(s[60], (strlen(car)+1))));
   }
}

int main(int argc, char *argv[]) {
   char s[60]; char car; char c1[60]; char c2[60];
   cin.getline(s, 60);
   cin>>car;
   
   cout<<split(s,c1,c2,car);
   
   return 0;
}

pero me da errores, como que no puedo convertir char a const char. que significa esto? y como puedo arreglarlo? gracias.
#7
Programación C/C++ / Ayuda con Algoritmo C++
23 Julio 2014, 22:17 PM
Hola a todos. soy estudiante de informatica y nuevo en esto de programar, y estoy necesitando ayuda con la resolucion de un ejercicio.

el ej. es el siguiente: utilice la definicion typedef struct{char ape_nom[40]; int edad; float altura,peso}paciente; para diseñar una funcion llamada masacorp55 que obtenga los datos del paciente mayor a 55 años de mayor valor de masa corporal. la funcion debe recibir entre sus parametros un arreglo con los datos de N pacientes. masa corporal= peso/altura^2. escriba un prog. cliente. que ingrese los datos de n pacientes y muestre los dtos de la persona de mayor masa corporal.

hasta ahora este es el algoritmo que pude programar:
Código (c++) [Seleccionar]
#include <iostream>
#include <string>
using namespace std;

typedef struct{ char ape_nom[40];
int edad; float altura, peso;} paciente;

paciente masacorp55(paciente x[], int n){
float masa; float maxmas=1;
for (int i=0; i<n; i++){
if (x[i].edad>55){
masa=x[i].peso/(x[i].altura*x[i].altura);
if(masa>maxmas){
maxmas=masa;
x[i]=maxmas;
}
}
}
return x[i];
}

int main(int argc, char *argv[]) {
paciente A[1000]; int n;
cout<<"ingrese num. de pacientes";
cin>>n; int i;
for (int i=0; i<n; i++){
cout<<"nombre del paciente";
cin.getline (A[i].ape_nom,40);
cout<<"edad";
cin>>A[i].edad;
cout<<"altura";
cin>>A[i].altura;
cout<<"peso";
cin>>A[i].peso;
}

masacorp55(A[i],n);
cout<<masacorp55;

return 0;
}


pero me tira un error. no puedo asignar a A, maxmas ya que uno es un struct y el otro tipo float.  Que sugerencias y correcciones pueden aportarme?. gracias por su tiempo