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ú

Mensajes - rarrav26

#1
Proba cambiando
esto:
gets(cad);
por esto:
cin.getline(cad,80);
#2
Muchas gracias engel lex, lo que respondiste me sirvió mucho, me abriste una nueva puerta al mostrarme vectores, se me facilitaron muchas cosas al aprender ése método.
Reduje muchísimo el código del programa.
#include <iostream>
#include <cstdlib>
using namespace std;

int cifra(int a){
   if(a<10){
       cout<<a;
   } else {
       a=a+87;
       cout<<(char)a;
   }
}

int main()
{
   system("color A");
   system("mode con: cols=100 lines=36");
   int num,div,resto,coc,cont,cont1,valor,res[40];
   bool funciona=true;
  while(funciona==true){
       cont=0;
       cout<<"Ingrese el numero decimal que desea convertir: ";
       cin>>num;
       if(num<0){
           funciona=false;
       } else {
           do {
               cout<<"Ingrese la nueva base: ";
               cin>>div;
               if(div<0){
                   funciona=false;
               }
           } while(div==0 || div==1);
           if(funciona==true){
               while(num!=0){
                   cont++;
                   coc=num/div;
                   resto=num%div;
                   num=coc;
                   res[cont]=resto;
               }
               cont1=cont;
               for(valor=cont1;valor>=1;valor--){
                   cont=valor;
                   cifra(res[cont]);
               }
               cout<<" en base "<<div<<endl;
           }
       }
   }
   return 0;
}


Saludos
#3
Hola,
Hice un programa que lo que hace es: convertir uno o más números en base 10 a base X (decisión del usuario), y que cuando se ingrese un numero negativo, tanto en el dividendo como en el divisor, éste se detenga.
El programa funciona correctamente, lo único es que hay bastantes líneas repetidas que podrían eliminarse, pero no se como.
Para evitar que se repita tantas veces lo mismo, hice un subprograma (función):
int cuenta(int a){
  int i,num;
  for(i=0;i<a;i++){
     num=16-i;
     cifra(r(num)); // acá quisiera que r(num) llame a las variables r16 hasta r1 (de acuerdo a lo que se haya ingresado en el parámetro de la función "cuenta"
  }
}

Subo el archivo C++, ahí lo expliqué mejor y es más fácil de comprender ya que pueden ver las funciones y lo que quiero reemplazar.
Saludos