Dev - C++ - ayuda con software para semestre

 
Vista:
sin imagen de perfil

ayuda con software para semestre

Publicado por Cesar (1 intervención) el 10/03/2016 22:22:52
Buenas tardes

este codigo lo estoy hacer para mi projecto solo que ando medio perdido necesito que el numero de cedula/rif no se pueda repetir y si lo puedo mejor en programacion lo agradecia.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
#include <stdio.h>
#include <stdio.h>
#include <string.h>
 
int main()
{
  struct agenda
  {
     char cedula [15];
     char nombre [40];
     char apellido [40];
     char direccion [80];
     char celular[15];
     char telefono[15];
     char email[40];
     char cantidadtarjeta[2];
     }
 
persona[1000];
  FILE* fichero;
  char textoTemporal[50];
  int opcion, personas=-1;
  int i;
 
  fichero = fopen("agenda.dat", "rt");
  if (fichero != NULL)
  {
     while (! feof(fichero))
     {
        fscanf(fichero, "%s", persona[i].cedula);
        if (feof(fichero)) break;
        printf("%s\n", persona[i].cedula);
 
        fscanf(fichero, "%s", persona[i].nombre);
        if (feof(fichero)) break;
        printf("%s\n", persona[i].nombre);
 
        fscanf(fichero, "%s", persona[i].apellido);
        if (feof(fichero)) break;
        printf("%s\n", persona[i].apellido);
 
        fscanf(fichero, "%s", persona[i].direccion);
        if (feof(fichero)) break;
        printf("%s\n", persona[i].direccion);
 
        fscanf(fichero, "%s", persona[i].celular);
        if (feof(fichero)) break;
        printf("%s\n", persona[i].celular);
 
        fscanf(fichero, "%s", persona[i].email);
        if (feof(fichero)) break;
        printf("%s\n", persona[i].email);
 
        fscanf(fichero, "%s", persona[i].cantidadtarjeta);
        if (feof(fichero)) break;
        printf("%s\n", persona[i].cantidadtarjeta);
 
        personas++;
 
     }
     fclose(fichero);
  }
  printf("Leidos %d datos", personas+1);
 
  do
  {
     puts("\n\n  MENU:\n");
     puts("1.- Agregar un nuevo dato.");
     puts("2.- Ver todos los datos existentes.");
     puts("3.- Ver todos los datos de una persona.");
     puts("0.- Terminar.");
     puts("   Elija una opcion: ");
 
     scanf("%d", &opcion);
     getchar();
 
     switch (opcion)
     {
        case 1:    /* Agregar un nuevo dato */
           printf ("Introduce cedula/rif: ");
           gets (persona[personas+1].cedula);
 
           fprintf(fichero, "%s", persona[personas+1].cedula);
           printf ("Introduce nombre: ");
           gets (persona[personas+1].nombre);
           fprintf(fichero, "%s", persona[personas+1].nombre);
           printf ("Introduce apellido: ");
           gets (persona[personas+1].apellido);
           fprintf(fichero, "%s", persona[personas+1].apellido);
           printf ("Introduce direccion: ");
           gets (persona[personas+1].direccion);
           fprintf(fichero, "%s", persona[personas+1].direccion);
           printf ("Introduce celular: ");
           gets (persona[personas+1].celular);
           fprintf(fichero, "%s", persona[personas+1].celular);
           printf ("Introduce correo electronico: ");
           gets (persona[personas+1].email);
           fprintf(fichero, "%s", persona[personas+1].email);
 
            printf ("Introduce cantidad carros: ");
           gets (persona[personas+1].cantidadtarjeta);
           fprintf(fichero, "%s", persona[personas+1].cantidadtarjeta);
           personas ++;
           break;
 
        case 2:    /* Ver todos los nombres */
           puts ("Ver todos los nombres existentes:");
           for (i=0; i<=personas; i++)
              puts (persona[i].cedula);
           break;
 
        case 3:    /* Ver todos los datos de una persona */
           printf ("cedula/rif a buscar? ");
           for (i=0; i<=personas; i++)
           {
              gets(textoTemporal);
              if (strcmp (textoTemporal, persona[i].cedula) != 0) break;
              {
                 puts (persona[i].cedula);
                 puts (persona[i].nombre);
                 puts (persona[i].apellido);
                 puts (persona[i].direccion);
                 puts (persona[i].celular);
                 puts (persona[i].email);
 
              }
 
           }
           break;
        }
      }
      while (opcion != 0);
 
      fichero = fopen("agenda.dat", "wt");
      for (i=0; i<=personas; i++)
      {
         fprintf (fichero, "%s\n", persona[i].cedula);
         fprintf (fichero, "%s\n", persona[i].nombre);
         fprintf (fichero, "%s\n", persona[i].apellido);
         fprintf (fichero, "%s\n", persona[i].direccion);
         fprintf (fichero, "%s\n", persona[i].celular);
         fprintf (fichero, "%s\n", persona[i].email);
      }
      fclose(fichero);
      return 0;
 
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder