elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Tutorial básico de Quickjs


  Mostrar Temas
Páginas: [1]
1  Programación / Programación C/C++ / Como leer de teclado 4 cosas en: 21 Enero 2016, 17:25 pm
Buenas tardes, esty haciendo una función en la cual se pide que escriba hasta 4 cosas, las 2 primeras caracteres, y las dos últimas números, la cosa es que no es necesario, que estén las posteriores, es decir, si esta la 4, tienen que estar la 1, 2 y 3, y si está la 2 tiene que estar la 1.
Mi problema es que no se como se haría de tal modo que no me de problemas si escribo solo la 1, o si escribo solo la 1 y la 2.
Mi idea era algo tan simple como esto, pero aquí si no escribes 4 cosas no funciona, también lo había planteado con getlines, pero ahí al final del ultimo elemento que escribía por teclado me añadía números si lo presentaba. Gracias
Código:
int main (){
        const int MAX = 100;
char i[MAX];
char d[MAX];
int g,h;
cout << "Escriba:" << flush;
cin >> i >> d >> g >> h;
        cout << i << d << g << h << endl;
}
2  Programación / Programación C/C++ / No me abre el archivo en: 20 Enero 2016, 20:49 pm
Hola buenas tengo que hcaer un programa que lea el nombre de un fichero, para poder trabajar con él, mi problema es que jamás me abre ese archivo ponga lo que ponga, el directorio es correcto, asi que era por si alguno sabíais o veíais que fallaba gracias.
Código:
int main(){
bool si=true;
const int MAX = 19;
const int MAXI = 120;
const char hola[MAXI] = "../../datos/subtitulos/";
char aux[MAXI];
while(si){
char NombreFichero[MAXI];
cout << "Un fichero de subtitulos(de practicasPROG1/datos/subtitulos): " << flush;
cin >> NombreFichero;
strcpy(aux,hola);
strcat(aux,NombreFichero);
ifstream z;
z.open(aux);
if(z.is_open()){
cout << "El fichero " << NombreFichero << "ha sido leido y contiene "
<< contarSubtitulos(NombreFichero) << "subtitulos que han sido leidos" << endl;
ordenes();
char d[MAX];
char f[MAX];
int e;
int g;
cout << "orden?";
cin >> d >> f >> e >> g;
convertir(d);
convertir(f);
operaciones(d, f, e, g, NombreFichero);
if(strcmp(d,"fin")==0){
si=false;
}
else if (strcmp(d,"fichero")==0){
NombreFichero[MAX]=d[MAX];
strcat(aux,NombreFichero);
ifstream z;
z.open(hola);
}
}
else{
cout << "El fichero " << NombreFichero << " no ha podido ser leido"
<< endl;
}
}
}
3  Programación / Programación C/C++ / Como abrir un directorio en: 20 Enero 2016, 16:55 pm
Hola buenas estoy realizando un programa que me han pedido en el cual tengo que leer de teclado el nombre de un archivo .srt, y abrir su directorio, cabe decir que todos los .srt, están en /datos/subtitulos/---.srt. Mi duda es como hacer para que esto vaya variando y como incluir el directorio, os incluyo mi función main, donde se tendría que abrir susodicho .srt:


int main(){
   bool si=true;
   const int MAX = 19;
   while(si){
      char NombreFichero[MAX];
      cout << "Un fichero de subtitulos"
      "(de practicasPROG1/datos/subtitulos): " << flush;
      cin >> NombreFichero;
      ifstream z;
      z.open(NombreFichero);
      if(contarSubtitulos(NombreFichero)>0){
         cout << "El fichero " << NombreFichero
               << " ha sido leido y contiene "
               << contarSubtitulos(NombreFichero)
               << " subtitulos que han sido leidos" << endl;
         ordenes();
         char d[10];
         char f[MAX];
         int e;
         int g;
         cout << "orden?";
         cin >> d >> f >> e >> g;
         convertir(d);
         convertir(f);
         operaciones(d, f, e, g, NombreFichero);
         if(strcmp(d,"fin")==0){
         si=false;
         }
         else if (strcmp(d,"fichero")==0){
            NombreFichero[MAX]=d[MAX];
            z.open(NombreFichero);
         }
      }
      else{
         cout << "El fichero " << NombreFichero << " no ha podido ser leido"
               << endl;
      }
   }
}
     
4  Programación / Programación C/C++ / Duda sobre error en: 17 Enero 2016, 17:24 pm
Hola buenas al escribir una función de leer un fichero con datos tipo subtítulo me da un error en los getline(), y pone

error: no matching function for call to 'std::basic_ifstream<char>::getline(char [80])'
     f.getline(texto);
Os dejo el programa:

void leerSubtitulos (const char nombreFichero[], Subtitulo S[]){
   const int MAX_LONG_LINEA = 80;  
   const int MAX_LINEAS = 3;
   ifstream f;
   f.open(nombreFichero);
   if(f.is_open()){
      for(int i = 0; i<contarSubtitulos(nombreFichero); i++){
         int hour,min,segs,mil_segs,numero,nLineas=0;
         char aux;
         Tiempo inicio,fin;
         f >> numero >> hour >> aux >> min >> aux >> segs >> aux >> mil_segs;
         inicio = definir(hour*3600+min*60+segs,mil_segs);
         aux = f.get(); aux = f.get(); aux = f.get(); aux = f.get();; aux = f.get();
         f >> hour >> aux >> min >> aux >> segs >> aux >> mil_segs;
         fin = definir(hour*3600+min*60+segs,mil_segs);
         f.getline();
         char texto[MAX_LINEAS][MAX_LONG_LINEA];
         for(int i = 0; i<MAX_LINEAS; i++){
            f.getline(texto);
            nLineas++;
         }
         S = definir(numero, nLineas, texto, inicio, fin);
      }
   }
   else{
      cerr << "No se ha podido abrir" << endl;
   }
}


5  Programación / Programación C/C++ / Ayuda con dato tipo subtitulo, ¿cómo sería la función definir? gracias en: 5 Enero 2016, 18:25 pm
// Número máximo de líneas del texto de un subtítulo
const int MAX_LINEAS = 3;
// Número máximo de caracteres por línea en un subtítulo         
const int MAX_LONG_LINEA = 80;   

/*
 * Un dato de tipo Subtitulo permite representar un subtítulo con su
 * información asociada (número del subtítulo, su texto, y el tiempo
 * inicial y final de su proyección)
 */
struct Subtitulo {
   int numero;                // número del subtítulo
   int numLineasTexto;        // su número de líneas
   char texto[MAX_LINEAS][MAX_LONG_LINEA];    // cada una de sus líneas
   Tiempo inicio, fin;        // tiempo del inicio y fin de su proyección
};
/*
 * Pre: num >= 1, nLineas >= 0
 * Post: Devuelve un subtítulo cuyo número es num, cuenta con un texto
 *       con nLineas líneas, iguales a las almacenadas en texto[0,nLineas-1],
 *       el instante del comienzo de su proyección es igual a t_inicio
 *       y el instante del final de su proyección es igual a t_fin
 */
Subtitulo definir (int num, int nLineas, char texto[][MAX_LONG_LINEA], 
                   Tiempo t_inicio, Tiempo t_fin);
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines