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

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  problema con programa de ficheros en c
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: problema con programa de ficheros en c  (Leído 2,366 veces)
Quake-man

Desconectado Desconectado

Mensajes: 51


Ver Perfil
problema con programa de ficheros en c
« en: 10 Septiembre 2010, 17:03 pm »

Hola el caso es que tengo es te programa en c corriendo en win7 cuando llega a la etapa de pedirme el teléfono y el móvil y apreto enter me aparece el programa software proff dejo de funcionar por que ¿esta bien el programa? :P


//Beta del software proff

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



int alumn;//contiene el numero de alumnos a introduzir
int num_alumn;//num de veces a repetir el bucle principal
int eleccion;//variable que contiene la elecion de las notas

struct alumnos{
      
       char nombre[50];
       int edad;
       char direccion[50];
       int telefono;
       char docentes[50];
       char notas[30];
       };//structura para almacenar los datos de los alumnos

int main(int argc, char *argv[])
{ char  i[3]="i\0";
  char instrucciones[2];
  printf("si desea ver las instrucciones del programa presione \"i\"si desea seguir de largo presione cualquier tecla.\n\n");
  gets(instrucciones);
  strcmp(instrucciones,i);
  if(strcmp(instrucciones,i)==0){
                                    
                                     system("cls");
                                     printf("\n\t\t\t\tinstrucciones\n\t\t\t\t______________\n\nEste Software es una Agenda electronica capaz de almacenar datos de personas para hacerles la vida mas facil lo unico que tienen que hacer es introducir el numero de alumnos que quieren introducir y a apartir de ahi se les pediran los datos de cada alumno nombre,apellido,telefono etc..una vez acabado el registro de alumnos se almazenara en archvos independientes con el nombre del usuario y con la extension que alla elejido.\n\npresione cualquier tecla para proseguir...\n");
                                     getch();
                                     fflush(stdin);
                                     }
      
      
      
      
  
  FILE *fp;  
  system("cls");
  printf("\t\t\t\t*registro de alumnos*\n________________________________________________________________________________\n\n");                                          
  printf("cuantos alumnos desea introduzir?\n\n");
  scanf("%i",&alumn);
  fflush(stdin);
  struct alumnos  datos[alumn];//declaración de la variable que accede a la structura especificada en el caso alumnos
  printf("\a\nNota:\n\ntiene que introducir el nombre y apellido mas la extension ej de extensiones .txt(bloc de notas) o .doc(microsoft word)\n");  
  getch();
  fflush(stdin);
  for(num_alumn=0;num_alumn<alumn;num_alumn++){
  
  printf("\nnombre y apellido del %i alumno:\n ",num_alumn+1);
  gets(datos[alumn].nombre);
  fflush(stdin);
  printf("\nedad de el %i alumno: \n",num_alumn+1);
  scanf("%i",&datos[alumn].edad);
  fflush(stdin);
  printf("\ndireccion del %i alumno: \n",num_alumn+1);
  gets(datos[alumn].direccion);
  fflush(stdin);
  printf("\nnumero de telefono y movil del %i alumno: \n",num_alumn+1);
  gets(datos[alumn].telefono);
  fflush(stdin);
  printf("\nintroduzca los padres o docentes del alumno num %i: \n",num_alumn+1);
  gets(datos[alumn].docentes);
  fflush(stdin);
  printf("\ndesea introduzir obserbaciones/notas del alumno? \n");
  printf("\n\n0=SI\n");
  printf("1=NO\n");
  scanf("%i",&eleccion);
  fflush(stdout);
  
  if (eleccion==0){
                  
                   printf("\nintroduzca las obserbaciones del %i alumno:\n",num_alumn+1);
                   fflush(stdin);
                   gets(datos[alumn].notas);
                   }
                  
               fp=fopen(datos[alumn].nombre,"w");  
               if (fp==NULL){
                             system("cls");
                             printf("\a\n ERROR:no se pudieron Guardar los datos");
                             getch();
                             exit(1);
                            
                             }
                              
            
          
              
       fprintf (fp, "Nombre: %s\n", datos[alumn].nombre);
       fprintf (fp, "Edad: %s\n", datos[alumn].edad);
       fprintf (fp, "Direccion %s\n", datos[alumn].direccion);
       fprintf (fp, "Telefono y movil: %s\n", datos[alumn].telefono);
       fprintf (fp, "Docentes: %s\n", datos[alumn].docentes);
       fprintf (fp, "Nota: %s\n", datos[alumn].notas);
    
       fclose(fp);
              
  }
            
     printf("\n\nsi desea editar algo lo podra hacer una vez finalizado el programa dirigiendose al directorio donde esta alojada esta aplicacion abriendo el fichero que contiene dichos datos itroducidos anteriormente\n\n");
    printf("\a\n\n******************************************\n");                        
    printf("*Gracias por usar el registro de alumnos!*\n");
    printf("******************************************\n\n");
      
    
                                                              
  system("PAUSE");   
  return 0;
}


En línea

nicolas_cof


Desconectado Desconectado

Mensajes: 348


Into the Wild


Ver Perfil WWW
Re: problema con programa de ficheros en c
« Respuesta #1 en: 10 Septiembre 2010, 18:39 pm »

Quake-man, te recomiendo usar las etiquetas GeSHI o code para postear codigo fuente para que sea mas legible, utiliza el boton modificar.

[code=c] Codigo fuente [/code]

[code] Codigo fuente [/code]

Código:
int main(int argc, char *argv[]) { ... }

Al no utilizar argc y argv no es necesario declararlas, quedaria de la siguiente forma...

Código:
int main( void ) { ... }

Código:
gets();

Código:
strcmp();

Código:
getch();

Código:
fflush(stdin);

Te invito a que pases por este post...

https://foro.elhacker.net/programacion_cc/lo_que_no_hay_que_hacer_en_cc_nivel_basico-t277729.0.html

Código:
system("cls");

Código:
system("PAUSE");

No es recomendable hacer llamadas al sistema para hacer una pausa en el programa, ademas sumandole que no es para nada portable. El limpiar consola tampoco es portable.

No es recomendable el uso de variables globales.

Salu10.


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[C] Problema con nombres de ficheros
Programación C/C++
JJShadiw 3 2,498 Último mensaje 24 Diciembre 2010, 00:22 am
por dooque
programa con ficheros
Programación C/C++
tumayy 5 3,076 Último mensaje 25 Octubre 2011, 06:22 am
por do-while
Ayuda programa con ficheros « 1 2 »
Programación C/C++
ankora45 16 5,753 Último mensaje 22 Septiembre 2012, 14:42 pm
por diegoCmC
Ayuda en programa con ficheros! « 1 2 »
Programación C/C++
Juan821 13 6,466 Último mensaje 2 Julio 2014, 01:22 am
por Eternal Idol
ayuda con un programa de ficheros
Programación C/C++
aradxc56 1 1,776 Último mensaje 13 Marzo 2019, 16:36 pm
por K-YreX
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines