|
532
|
Programación / Programación C/C++ / Re: Problemas al modificar un registro de un archivo
|
en: 6 Octubre 2018, 22:01 pm
|
tdocente es un registro de datos personales de un docente, ya encontre el error el error estaba en un simple caracter en todos mis procedimientos y funciones, faltaba un caracter "b"; habia encontrado un metodo de copiar en un archivo temporal todos los registros menos el especificado por el usuario, borrar el original y renombrar el temporal por el noombre del archivo orginal , pero es medio aburrido, asi que simplemente modifique el registro especificado y ya, gracias
|
|
|
535
|
Programación / Programación C/C++ / Re: Lista circular simple de enteros con 1 puntero
|
en: 6 Octubre 2018, 08:29 am
|
Pensando un poco lo pude resolver olvide poner la estructura de datos que tenia el programa. typedef struct tnodo *pnodo; typedef struct tnodo{ int dato; pnodo sig; }; typedef struct tlista{ pnodo inicio; int contador; }; void contar_negativos(pnodo nodo, tlista lista, int &n) { pnodo i=nodo; if(lista.contador!=0){ if(i->dato<0){ n++; } lista.contador--; contar_negativos(i->sig,lista,n); } }
|
|
|
536
|
Programación / Programación C/C++ / Problemas al modificar un registro de un archivo
|
en: 6 Octubre 2018, 03:44 am
|
Hola, mi prodecimiento no modifica el registro tal, luego de modificarlo me guarda cualquier cosa, el problema estara en el procedimiento de carga? puse fflush(stdin); por todas partes; void modificar(parchivo docentes, int codigo) { tdocente d; bool encontrado=false; docentes=fopen("docentes.txt","r+"); if(docentes==NULL){ cout<<"No se pudo abrir el archivo"<<endl; } else{ while(!feof(docentes) && !encontrado){ fread(&d,sizeof(d),1,docentes); if(!feof(docentes) && codigo==d.legajo){ encontrado=true; } } if(encontrado==false){ cout<<"Docente no encontrado"<<endl; } else{ cargar(d); fseek(docentes,-sizeof(d),1); fwrite(&d,sizeof(d),1,docentes); } } fclose(docentes); }
|
|
|
537
|
Programación / Programación C/C++ / Re: ¿AYUDA por que este programa crashea?
|
en: 5 Octubre 2018, 23:57 pm
|
Simples errores de sintaxis, pero la logica esta bien #include <stdio.h> #include <stdlib.h> int comparador(int n ){ if(n>0 and n<=15){ return n; }else{ printf("NUMERO INCORRECTO!\n"); return 0; } } int main(){ int num, v,i; printf("Cuantos alumnos hay? MAX 15 MIN 1: "); scanf("%i", &num); v=num; int array[v]; if(comparador(num) != 0){ for(i=0;i<v;i++){ printf("Que nota ha sacado el alumno %d?:", i+1); scanf("%d",&array[i]); } for (i=0;i<v;i++){ printf("El alumno %i ha sacado %i\n",i+1, array[i]); } } }
|
|
|
538
|
Programación / Programación C/C++ / Re: Archivos binarios
|
en: 5 Octubre 2018, 23:26 pm
|
Bueno, ya encontre el error no era lo que decian por aca, ahora quiero que los que piensen sean ustedes, no hace falta que me digan como arreglar el error, como mucho se puede decir la linea donde esta el error nada mas(faltan dos funciones, o sea 2 lineas de codigo)
|
|
|
|
|
|
|