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

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


  Mostrar Temas
Páginas: [1]
1  Programación / Programación C/C++ / Ayuda con archivos .c y .h en: 19 Abril 2016, 00:51 am
Buenas, tengo una duda con unos requerimientos raros que tengo en un proyecto de la universidad.
Tengo mi programa listo para entregar, pero me solicitan entregar esto junto al programa.
Citar
14.Construir un archivo separado llamado test.c donde se encuentre el procedimiento o función main a fin de demostrar el uso de sus funciones. Procure entregar resultados por pantalla sobre cada llamado.
15.Estructurar programa empleando archivos de cabecera (.h) y los códigos fuentes (.c)

Bueno la verdad no nos dan ningun ejemplo de como son estos archivos ni nada, por lo que les consulto si alguien tiene idea alguna de como hacerlos. Saludos
2  Programación / Programación C/C++ / Ayuda con función (Errores raros) en: 12 Abril 2016, 04:49 am
En esta funcion me arroja dos errores:
1)expected '}' before 'else'
2)break statement not within loop or switch

El primer error corresponde a la linea del
 
Código:
                printf("as");
                else if (contador<=columDisponibles){
Y el segundo error correponde al de
Código:
            if(palabra[h]=='\0'){
                break;
            }

Es como si perdiera la referencia del while o de los if, siendo que revisando cada llave, estan bien segun yo. Dejo el codigo de la funcion completa:

Código
  1. char** definirDificultad(char ** nuevaMatriz,int N, int M ,int dificultad){
  2.    int i,j,h,contador, filasDisponibles,columDisponibles;
  3.    char caracter;
  4.    char palabra[200];
  5.    //palabra=(char*)malloc(sizeof(char));
  6.  
  7.    for(i=0;i<N;i++){
  8.        for(j=0;j<M;j++){
  9.            nuevaMatriz[i][j]='&';
  10.        }
  11.    }
  12.  
  13.    FILE *diccionario;
  14.    diccionario=fopen("Diccionario.txt","r");
  15.  
  16.    posicion *posicionActual;
  17.    posicionActual=malloc(sizeof(posicion));
  18.  
  19.    //Palabras horizontales
  20.    if(dificultad==1){
  21.  
  22.        for(i=0;i<N;i++){
  23.            for(j=0;j<M;j++){
  24.                fscanf(diccionario,"%c",&caracter);
  25.                if(feof(diccionario)){
  26.                    break;
  27.                }
  28.                if (caracter!='\n'){
  29.                    nuevaMatriz[i][j]=caracter;
  30.                }
  31.            }
  32.        }
  33.  
  34.    }
  35.    // Palabras verticales
  36.    else if(dificultad==2){
  37.        rewind(diccionario);
  38.        h=0;
  39.        while(!feof(diccionario)){
  40.            fscanf(diccionario,"%c",&palabra[h]);
  41.            h++;
  42.        }
  43.        palabra[h-1]='\0';
  44.        h=0;
  45.        j=0;
  46.        int k=0;
  47.        posicionActual->x=0;
  48.        posicionActual->y=0;
  49.        while(palabra[h]!='\0'){
  50.            contador=0;
  51.            while(palabra[h]!='\n'){
  52.                contador++;
  53.                h++;
  54.            }
  55.            k=h-contador;
  56.            if(contador<=N && contador<=M && contador!=0){
  57.                filasDisponibles=N-(posicionActual->x);
  58.                columDisponibles=M-(posicionActual->y);
  59.                if(contador<=filasDisponibles){
  60.                    for(i=posicionActual->x;i<(contador+posicionActual->x);i++){
  61.                        if(i>=N){
  62.                            break;
  63.                        }
  64.                        else if(nuevaMatriz[i][j]=='&' || nuevaMatriz[i][j]==palabra[k]){
  65.                            nuevaMatriz[i][j]=palabra[k];
  66.                            k++;
  67.                        }
  68.                    }
  69.                    i=posicionActual->x;
  70.                    while(nuevaMatriz[i][j]!='&'){
  71.                        j++;
  72.                        if(j>=M){
  73.                            j=0;
  74.                            i++;
  75.                        }
  76.                    }
  77.                    posicionActual->y=j;
  78.                    posicionActual->x=i;
  79.                }
  80.                printf("as");
  81.                else if (contador<=columDisponibles){
  82.                    for(j=posicionActual->y;j<(contador+posicionActual->y);j++){
  83.                        if(j>=M){
  84.                            break;
  85.                        }
  86.                        else if(nuevaMatriz[i][j]=='&' || nuevaMatriz[i][j]==palabra[k]){
  87.                            nuevaMatriz[i][j]=palabra[k];
  88.                            k++;
  89.                        }
  90.                    }
  91.                    j=posicionActual->y;
  92.                    while(nuevaMatriz[i][j]!='&'){
  93.                        j++;
  94.                        if(i>=N){
  95.                            i=0;
  96.                            j++;
  97.                        }
  98.                    }
  99.                    posicionActual->y=j;
  100.                    posicionActual->x=i;
  101.                }
  102.            }
  103.            if(palabra[h]=='\0'){
  104.                break;
  105.            }
  106.            h++;
  107.        }
  108.    }
  109.    //free(palabra);
  110.    free(posicionActual);
  111.    fclose(diccionario);
  112.    return nuevaMatriz;
  113. }
3  Programación / Programación C/C++ / Ayuda con punteros de tipo char en: 10 Enero 2016, 19:04 pm
Quiero asignar a un arreglo de arrays diferentes palabras, sacadas de un archivo de texto, sé que debo utilizar:

Código:
const char *arregloNombres[10];

Y mi idea es que el arreglo arroje:

arregloNombres[0]="Esteban"
arregloNombres[1]="Alexis"
etc...

Pero al leer el archivo con los nombres de esta manera:
Código:
fscanf(lectura,"%s %s %d", nombre1,nombre2,&aux);
arregloNombres[i]=nombre1; //i va en aumento

Lo unico que hace es dejarme todas las posiciones del arreglo con el mismo nombre.
¿Como puedo dejar una posicion con un nombre especifico obtenido de un archivo sin que despues se modifique?
Saludos
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines