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

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


  Mostrar Mensajes
Páginas: 1 [2] 3
11  Programación / Programación C/C++ / Re: Asunto con archivos C en: 30 Mayo 2019, 00:46 am
si medio te entiendo estuve realizando este en c++ algo asi necesito pero no se como pasarlo a c ahi diferencias por ejemplo la librerai fstream no se como seria en c si puedieras orientarme un poco
Código
  1.  
  2.  
  3. #include<cstdlib>
  4. #include<iostream>
  5. #include<fstream>
  6. #include<string.h>
  7. using namespace std;
  8. void altas();
  9. void bajas();
  10. void buscar();
  11. void consultas();
  12. void modificaciones();
  13. void salir();
  14. void menu();
  15. //Variables Globales
  16. char nombre[30],grupo[10],resp[1];
  17. int semestre=0, edad=0;
  18. bool encontrado=false;
  19. char auxGrupo[10];
  20. int main(){
  21.    menu();
  22.    return 0;
  23.    system("PAUSE");
  24. }
  25. void menu(){
  26.    int opcion=0;
  27.    do{
  28.        cout<<"Manejo de Archivos en C++"<<endl;
  29.        cout<<"1. Altas"<<endl;
  30.        cout<<"2. Bajas"<<endl;
  31.        cout<<"3. Consultas"<<endl;
  32.        cout<<"4. Buscar un Registro"<<endl;
  33.        cout<<"5. Modificaciones"<<endl;
  34.        cout<<"6. Salir"<<endl;
  35.        cout<<"Que deseas hacer? ";
  36.        cin>>opcion;
  37.        switch(opcion){
  38.            case 1:
  39.                altas();
  40.            break;
  41.            case 2:
  42.                bajas();
  43.            break;
  44.            case 3:
  45.                consultas();
  46.            break;
  47.            case 4:
  48.                buscar();
  49.            break;
  50.            case 5:
  51.                modificaciones();
  52.            break;
  53.            case 6:
  54.                salir();
  55.            break;
  56.            default:
  57.                cout<<"¡Opcion Incorrecta!"<<endl;
  58.        }
  59.    }while(opcion!=6);
  60. }//Fin funcion menu
  61. void altas(){
  62.    ofstream escritura;
  63.    escritura.open("alumnos.txt",ios::out|ios::app);
  64.    if(escritura.is_open()){
  65.        cout<<"Ingresa el nombre del Alumno: ";
  66.        cin>>nombre;
  67.        cout<<"Ingresa el Semestre del Alumno: ";
  68.        cin>>semestre;
  69.        cout<<"Ingresa el Grupo del Alumno: ";
  70.        cin>>grupo;
  71.        cout<<"Ingresa la Edad del Alumno: ";
  72.        cin>>edad;
  73.        escritura<<nombre<<" "<<semestre<<" "<<grupo<<" "<<edad<<endl;
  74.    }else{
  75.        cout<<"Error, el Archivo No se Pudo Abrir"<<endl;
  76.    }
  77.    escritura.close();
  78. }//Fin funcion altas
  79.  
  80. void consultas(){
  81.    ifstream lectura;
  82.    lectura.open("alumnos.txt",ios::out|ios::in);
  83.    if(lectura.is_open()){
  84.        cout<<"Registros del Archivo alumnos.txt"<<endl;
  85.        cout<<"________________________________"<<endl;
  86.        lectura>>nombre;
  87.        while(!lectura.eof()){
  88.            lectura>>semestre;
  89.            lectura>>grupo;
  90.            lectura>>edad;
  91.            cout<<"Nombre: "<<nombre<<endl;
  92.            cout<<"Semestre: "<<semestre<<endl;
  93.            cout<<"Grupo: "<<grupo<<endl;
  94.            cout<<"Edad: "<<edad<<endl;
  95.            lectura>>nombre;
  96.            cout<<"________________________________"<<endl;
  97.        }
  98.    }else{
  99.        cout<<"Error, el Archivo No se Pudo Abrir, No ha sido creado"<<endl;
  100.    }
  101.    lectura.close();
  102. }//Fin funcion consultas
  103.  
  104. void bajas(){
  105. }
  106. void buscar(){
  107.    ifstream lectura;//Creamos la variable de tipo lectura
  108.    lectura.open("alumnos.txt",ios::out|ios::in);//Abrimos el archivo
  109.    //validando la apertura del archivo
  110.    if(lectura.is_open()){
  111.        cout<<"Ingresa el Grupo que deseas Buscar: ";
  112.        cin>>auxGrupo;
  113.        lectura>>nombre;//lectura adelantada
  114.        encontrado=false;
  115.        while(!lectura.eof()){
  116.            lectura>>semestre>>grupo>>edad;//leyendo los campos del registro
  117.            //Comparar cada registro para ver si es encontrado
  118.            if(strcmp(auxGrupo,grupo)==0){
  119.                cout<<"______________________________"<<endl;
  120.                cout<<"Nombre: "<<nombre<<endl;
  121.                cout<<"Semestre: "<<semestre<<endl;
  122.                cout<<"Grupo: "<<grupo<<endl;
  123.                cout<<"Edad: "<<edad<<endl;
  124.                cout<<"______________________________"<<endl;
  125.                encontrado=true;
  126.            }
  127.            lectura>>nombre;//lectura adelantada
  128.        }
  129.        if(encontrado==false){
  130.            cout<<"No hay registros con el Grupo "<<auxGrupo<<endl;
  131.        }
  132.    }else{
  133.        cout<<"No se pudoAbrir el Archivo, aun no ha sido Creado"<<endl;
  134.    }
  135.    //cerrando el archivo
  136.    lectura.close();
  137. }
  138. void modificaciones(){
  139. }
  140. void salir(){
  141.    cout<<"Programa Finalizado"<<endl;
  142. }
  143.  
  144.  
  145.  
  146.  
  147.  
12  Programación / Programación C/C++ / Re: Asunto con archivos C en: 29 Mayo 2019, 21:01 pm
Un ejemplo masomenos ?
13  Programación / Programación C/C++ / Asunto con archivos C en: 29 Mayo 2019, 08:13 am
Hola como estan, tengo una duda sobre archivos en c. Bueno lo que pasa es que requiero buscar algo dentro del archivo que acabo de crear es decir por ejemplo si pongo la clave ST1 me salga la informacion de eso en pantalla dicha informacion se encuentra en el archivo



Código
  1.  
  2. FILE *archivo;
  3. void reservaciones(){
  4. char claveHabitacion[][20]= {"ST1"};
  5. char *ptr=claveHabitacion[0];
  6.  
  7. archivo = fopen("ejemplo.txt", "a+");
  8. fprintf(archivo, "\n La clave es: %s", ptr);
  9. fwrite(&ptr, sizeof(ptr), 1, archivo);
  10.  
  11. }
  12.  
  13.  
  14. //main(){ //Aqui es donde deberia escribir ST1 y que me saliera la informacion que llegase a guardar ahi. como seria para buscar dentro del archivo y llamarlo desde el main
  15.  
  16. fread(); // se me ocurrio leer
  17.  
  18.  
  19.  
  20.  
  21.  
  22. }
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
14  Programación / Programación C/C++ / Re: Asunto con punteros y arreglos en c en: 5 Mayo 2019, 21:17 pm
Vale eso lo entiendo pero como imprimiria solamente esa posicion la 9
15  Programación / Programación C/C++ / Ayuda con codigo en: 3 Mayo 2019, 22:58 pm
ayudenme con mi codigo no se que estoy haciendo mal se supone que al validar la fecha si introduces una fecha mal ya no deberia funcionar pero al parecer solo valida el mes ayuda, tambien necesito ayuda para apuntar a un elemento del arreglo
char claveHabitacion [10][10] = {"ST1", "ST2", "ST3", "ST4", "ST5", "ST6", "ST7", "ST8", "ST9", "ST10"}; no se como hacerlo.

#include<stdio.h>
#include<stdlib.h>
#include <stdbool.h>


struct fechaEntrada
{

    int dia, mes, año;


}f1;


struct fechaSalida
{

    int dia, mes, año;

}f2;

struct tarjeta{

    int  cVc, tipo, formaPago;
    char nombreTitular[50];
    int mes, año;


}t1;



bool entrada(int dia, int mes, int año)
{
    bool verdero=1, falso=0;

            printf("\nIntroduzca la fecha de entrada: ");
            printf( "\n   Introduzca dia: ");
            scanf( "%d", &f1.dia );
            printf( "\n   Introduzca mes: " );
            scanf( "%d", &f1.mes );
            printf( "\n   Introduzca año: ");
            scanf( "%d", &f1.año );

    if ( f1.mes >= 1 && f1.mes <= 12 )
    {
        switch ( f1.mes )
        {
                    case  1 :
                    case  3 :
                    case  5 :
                    case  7 :
                    case  8 :
                    case 10 :
                    case 12 : if ( f1.dia >= 1 && f1.dia <= 31 )
                                {
                                     printf( "\n   FECHA CORRECTA \n" , verdero);
                                    return verdero;

                                } else
                                        printf( "\n   FECHA INCORRECTA \n", falso);
                                        return falso;
                      break;

                    case  4 :
                    case  6 :
                    case  9 :
                    case 11 : if ( f1.dia >= 1 && f1.dia <= 30 )
                                {
                                    printf( "\n   FECHA CORRECTA \n", verdero );
                                    return verdero;
                                }else
                                        printf( "\n   FECHA INCORRECTA \n", falso);
                                        return falso;
                      break;

                    case  2 : if( f1.año % 4 == 0 && f1.año % 100 != 0 || f1.año % 400 == 0 ){

                                    if ( f1.dia >= 1 && f1.dia <= 29 )
                                    {
                                        printf( "\n   FECHA CORRECTA \n", verdero);
                                            return verdero;
                                    }else
                                            printf( "\n   FECHA INCORRECTA \n", falso);
                                                return falso;
                            }else
                                if ( f1.dia >= 1 && f1.dia <= 28 )
                                {
                                      printf( "\n   FECHA CORRECTA \n", verdero);
                                            return verdero;
                                }else
                                    printf( "\n   FECHA INCORRECTA \n", falso);
                                            return falso;
        }
    }
    else
        printf( "\n   FECHA INCORRECTA \n", falso);





}


bool salida(int dia, int mes, int año)
{

  bool verdero=1, falso=0;

            printf("\nIntroduzca la fecha de salida: ");
            printf( "\n   Introduzca dia: ");
            scanf( "%d", &f2.dia );
            printf( "\n   Introduzca mes: " );
            scanf( "%d", &f2.mes );
            printf( "\n   Introduzca año: ");
            scanf( "%d", &f2.año );

    if ( f2.mes >= 1 && f2.mes <= 12 )
    {
        switch ( f2.mes )
        {
                    case  1 :
                    case  3 :
                    case  5 :
                    case  7 :
                    case  8 :
                    case 10 :
                    case 12 : if ( f2.dia >= 1 && f2.dia <= 31 )
                                {
                                     printf( "\n   FECHA CORRECTA \n" , verdero);
                                    return verdero;

                                } else
                                        printf( "\n   FECHA INCORRECTA \n", falso);
                                        return falso;
                      break;

                    case  4 :
                    case  6 :
                    case  9 :
                    case 11 : if ( f2.dia >= 1 && f2.dia <= 30 )
                                {
                                    printf( "\n   FECHA CORRECTA \n", verdero );
                                    return verdero;
                                }else
                                        printf( "\n   FECHA INCORRECTA \n", falso);
                                        return falso;
                      break;

                    case  2 : if( f2.año % 4 == 0 && f2.año % 100 != 0 || f2.año % 400 == 0 ){

                                    if ( f2.dia >= 1 && f2.dia <= 29 )
                                    {
                                        printf( "\n   FECHA CORRECTA \n", verdero);
                                            return verdero;
                                    }else
                                            printf( "\n   FECHA INCORRECTA \n", falso);
                                                return falso;
                            }else
                                if ( f2.dia >= 1 && f2.dia <= 28 )
                                {
                                      printf( "\n   FECHA CORRECTA \n", verdero);
                                            return verdero;
                                }else
                                    printf( "\n   FECHA INCORRECTA \n", falso);
                                            return falso;
        }


    }
    else
        printf( "\n   FECHA INCORRECTA \n", falso);

        return falso;

}

void reservacionStandard()
{
    int i=0, x=0;
    long long numeroTarjeta=9999999999999999;
    char claveHabitacion [10][10] = {"ST1", "ST2", "ST3", "ST4", "ST5", "ST6", "ST7", "ST8", "ST9", "ST10"};

                printf("\n Introduce tu forma de pago \n 1.-Tarjeta \n 2.-Efectivo \n");
                scanf("%d", &t1.formaPago);


                    printf("\n Introduce el numero de tarjeta: \n");
                    scanf("%d", &numeroTarjeta);
                        while(numeroTarjeta > 0)
                        {
                            numeroTarjeta = numeroTarjeta / 10;
                            i++;

                        }

                    //printf("%d", i);


                    if( i == 16)
                    {

                        printf("\nIntroduce el nombre del titular de la tarjeta: \n");
                        scanf("%s", &t1.nombreTitular);

                        printf("\nIntroduce el mes de vencimiento: \n ");
                        scanf("%d", &t1.mes);
                        printf("\nIntroduce el año de vencimiento: \n ");
                        scanf("%d", &t1.año);

                           if( t1.mes >= 1 && t1.mes <= 12 )
                            {

                                if(t1.año >= 2019 && t1.año <= 2026)
                                {

                                    printf("\n Introduce el CVC: \n");
                                    scanf("%d", &t1.cVc);

                                    while(t1.cVc > 0)
                                    {
                                        t1.cVc = t1.cVc / 10;
                                        x++;

                                    }

                                        if(x == 3)
                                        {
                                            printf("\n Estas son las habitaciones disponibles: \n");

                                                    for(i=0; i < 10 ; i++)
                                                    {
                                                        for(int j=0; j < 10; j++)
                                                            {
                                                                printf("%c", claveHabitacion[j]);
                                                            }

                                                        printf("\n");
                                                    }





                                        }else
                                            printf("\n El CVC no es correcto  \n");




                            } else
                                printf("\n año incorrecto intenta de nuevo \n");
                         }
                            else
                                printf("\n mes incorrecto intenta de nuevo \n");

                } else
                    printf("\nTarjeta No valida \n");



}





int main(){

        int op, o1, dia1, mes1, anio1, eleccion, cantidadPersonas, cantidadNoches, costo;


    do
    {
        printf("Hotel h&h");
        printf("\n1.-Reservaciones \n 2.-Cancelaciones \n 3.-Reportes \n 4.-Terminar \n");
        scanf("%d", &op);


        switch(op)
        {

            case 1:
                if(entrada(dia1, mes1, anio1) == 1)
                    {

                        if(salida(dia1, mes1, anio1) == 1)
                        {
                            cantidadNoches= ((f2.año-f1.año)*12 +(f2.mes-f1.mes))*30 + f2.dia- f1.dia;
                            costo = cantidadNoches*1250;
                            printf("\nLa cantidad de noches es: %d", cantidadNoches);
                             printf(" \nElige el tipo de habitacion : \n 1.-ST \n 2.-OB \n 3.-TB \n 4.-SU \n");
                            scanf("%d", &eleccion);
                            printf("\nEl costo total es: $%d \n", costo);

                            switch(eleccion)
                            {
                                case 1: printf("\nIntroduce cuantas personas ocuparan la habitacion: ");
                                        scanf("%d", &cantidadPersonas);

                                        if(cantidadPersonas <=2 )
                                        {
                                            reservacionStandard(costo);

                                        }


                            }


                        }


                    }
            break;

            case 2:
            break;

            case 3:

                do
                {
                    printf("Hotel h&h");
                    printf("\n1.-Reporte de reservaciones \n 2.- Reporte de habitaciones disponibles \n 3.-Regresar \n");
                    scanf("%d", &o1);

                    switch(o1)
                    {

                        case 1:
                        break;

                        case 2:
                        break;
                    }

                }while(o1 < 3);

                break;
            }

        }while(op < 4);


return 0;

}


16  Programación / Programación C/C++ / Asunto con punteros y arreglos en c en: 3 Mayo 2019, 22:18 pm
Hola tengo un arreglo bidimensional inicializado aqui, me gustaria saber como crear un apuntador que me apunte a un dato de este arreglo.
char claveHabitacion [10][10] = {"ST1", "ST2", "ST3", "ST4", "ST5", "ST6", "ST7", "ST8", "ST9", "ST10"};

char *pm;

pm=&claveHabitacion[9]; //por ejemplo aqui le digo que me asigne ala direccion de la posicion 9 de mi arreglo pero me marca un warning y no se imprime

pm=&claveHabitacion; // al igual al hacer esto me sige marcando warning y no se imprime se supone que deberia imprimirse el arreglo pero

porfavor ayuda por ejemplo yo solo quiero apuntar a ST1 y eso es lo que necesito imprimir ST1 es un elemento del arreglo
17  Programación / Programación C/C++ / Ayuda programa de orden de nombres en: 11 Abril 2019, 22:49 pm
#include<stdio.h>
#include <string.h>
#include <stdlib.h>


 int main() {

typedef struct{

char nombrecliente[20][20];
int numpedido;



}pedido;


typedef struct{
int numcliente;
char direccion[20][20];
pedido p_nombrecliente;
pedido p_numpedido;



}servicio;


servicio P[10];

int i, j, m;
char aux[20];

for(i=0; i<1; i++){
printf("nombre: \n");
scanf("%s", &P.p_nombrecliente);
fflush(stdin);

printf("Ingresa tu numero de cliente: \n");
scanf("%d", &P.numcliente);


//printf("Tu numero de cliente es: %d", &P.numcliente);
printf ("Direccion: \n");
scanf("%s", &P.direccion);
fflush(stdin);
printf("numero de pedido: \n");
scanf("%d",&P.p_numpedido);

}

for(i=0; i<2; i++)
for(j=i+1; j<1; j++)
if(strcmp(P.p_nombrecliente, P[j].p_nombrecliente) > 0)
{
strcpy(aux, nombre);
strcpy(P.p_nombrecliente, P[j].p_nombrecliente);
strcpy(P.p_nombrecliente, aux);
}

no se que estoy haciendo mal al ordenar los nombres alfabeticamente y necesito las estructuras
18  Programación / Programación C/C++ / TENGO VARIAS DUDAS CON MI CODIGO en: 2 Abril 2019, 08:21 am
TENGO VARIAS DUDAS CON MI CODIGO
1- NO SE POR QUE CUANDO ME IMPRIME LA POSICION EN LA QUE ESTA EL NUMERO MAYOR Y EL MENOR ME DA LA MISMA POSICION DEBERIA SER DIFERENTE

2- COMO PUEDO CONTAR LA CANTIDAD DE NUMERO POSITIVOS QUE SON Y CUALES SON, YA CONSIGO QUE ME HAGA LA SUMA DE LOS NUMEROS POSITIVOS Y NEGATIVOS PERO NO CONSIGO SABER COMO IMPRIMIR CUALES SON Y CUANTOS SON



#include <stdio.h>


int main()
{
        int arreglo[50],i, numero=10, positivos=0, negativos=0, ceros=0, mayor=0, menor=0, posicion=0;



        for (i = 0; i<numero; i++)//Se llena el arreglo con los 10 elementos que le pones
        {
        printf("Introduzca numero: \n");
        scanf("%d",&arreglo);

        }

        for(i=0; i<numero; i++){

            if(arreglo > mayor){
          mayor = arreglo;
          posicion = i;

        }

        if(arreglo < menor){
          menor = arreglo;
          posicion = i;

        }
        }

      for(i = 0; i<numero; i++)
        {
        if(arreglo > 0)
            positivos+=arreglo;

        }


      for(i = 0; i<numero; i++)
        {
        if(arreglo < 0)
            negativos+=arreglo;

        }




      printf("\nSuma de numeros positivos: %d", positivos);
      printf("\nSuma de numeros negativos: %d", negativos);
      printf("\nEl numero mayor es: %d y se encuentra en la posicion: %d", mayor,posicion);
      printf("\nEl numero menor es: %d y se encuentra en la posicion: %d", menor,posicion);



    return 0;
}
19  Programación / Programación C/C++ / Re: Ayuda con programa de c en: 13 Febrero 2019, 23:40 pm
No, me sigue sin aparecer el resultado de la conversion ala hora de imprimir
20  Programación / Programación C/C++ / Ayuda con programa de c en: 13 Febrero 2019, 23:30 pm
tengo este programa en c++ que intento trasladar a c pero por alguna razon no me sale el resultado de la conversion alguien me puede decir que hago mal

Código
  1. //este es el programa en c++
  2. #include<iostream>
  3.  
  4. using namespace std;
  5.  
  6.  
  7. int main(){
  8.  
  9. float pesos, francos;
  10.  
  11. cout<<"introduce la cantidad de pesos a convertir: ";
  12. cin>>pesos;
  13.  
  14.  
  15. francos=pesos*0.05f;
  16.  
  17.  
  18.  
  19. cout<<"tu cantidad en fracos es: " << francos;
  20.  
  21.  
  22.  
  23.  
  24. return 0;
  25.  
  26.  
  27.  
  28. }
  29.  
  30. //y este el de c
  31. #include<stdio.h>
  32.  
  33. int main(){
  34.  
  35. float pesos, francos;
  36.  
  37. printf("Introduce la cantidad de pesos que deseas convertir: ");
  38. scanf("%d", &pesos);
  39.  
  40. francos = pesos * 0.05;
  41.  
  42. printf( "La cantidad de francos es: ", francos);
  43.  
  44.  
  45. return 0;
  46.  
  47. }
  48.  
  49.  

[MOD] para publicar código, usar las etiquetas GeSHi.
Páginas: 1 [2] 3
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines