Dev - C++ - Ayuda con strcmp

 
Vista:
sin imagen de perfil
Val: 14
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Ayuda con strcmp

Publicado por Diego (8 intervenciones) el 11/04/2017 20:15:26
error


Buenas tardes compañeros Programadores espero que se encuentren muy bien :)

verán tengo un problema estoy programando una base de datos en c++ y pues quiero agregarle una función, la

base de datos le solicita al usuario su curp, entonces quiero implementar en el programa una opción de que si el

usuario ingresa un curp que ya se había registrado, tire mensaje de error de que ese curp ya existe, mi idea fue

hacerlo como en la imagen que adjunte pero nomas no me funciono me podrían ayudar por favor compañeros me

harian un gran favor

De antemano muchas gracias

Bonita tarde
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
sin imagen de perfil
Val: 661
Bronce
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Ayuda con strcmp

Publicado por agustin (522 intervenciones) el 11/04/2017 21:45:36
Haría falta ver más código ya que no se de donde te sacas los arrays de estructuras ni como son estas además de que el return que tienes en el condicional al if tiene muy muy mala pinta ya que retornará lo que retorne la función de menú y si es void retornará void además de que tampoco se que debería retornar la función que muestras. Por otro lado comparas entre dos miembros de la misma estructura pero con diferentes elementos y eso tampoco pinta muy bien ya que lo normal sería tener una estructura simple y la comparas con todo el array o hasta que haya coincidencia. Como digo hay que ver más código para ayudarte.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 14
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Ayuda con strcmp

Publicado por Diego (8 intervenciones) el 11/04/2017 23:00:14
Si necesitaras el código fuente completo te lo anexo en un archivo comprimido ".zip"

ya que rebasa los 1500 caracteres permitidos en el campo de texto

En las lineas

184 al 204

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
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
void cafeteria::menuCafeteria()
{
    eleccion=0;
    cout<<"Cafeter\241a\n\n";
    cout<<"Qu\202 Acci\242n desea realizar?: \n\n";
    cout<<"1. Dar de Alta\n";
    cout<<"2. Dar de Baja\n";
    cout<<"3. Consultar\n";
    cout<<"4. Modificar\n";
    cout<<"\n\nOpci\242n: ";
    cin>>eleccion;
    system(CLEAR);
    switch(eleccion)
    {
    default:
        cout<<"Opci\242n no v\240lida\n\n";
        break;
//Dar de Alta
    case 1:
    {
        ofstream archivo("cafeterias.txt",ios::out);
 
        if(! archivo)
        {
            cout<<"El archivo no se puede abrir \n";
 
        }
        else
        {
            cout<<"Cu\240ntas cafeter\241as quieres registrar? : ";
            cin>>totalCafeterias;
            sumatoriaCafeteria+=totalCafeterias;
            cout<<"\n";
            i=1;
            while (iterativa1<=sumatoriaCafeteria)
            {
                system(CLEAR);
                fflush(stdin);
                cout<<"Cafeter\241a #"<<i<<"\n\n";
                cout<<"Ingresa el RFC de la cafeter\241a: \n\n";
                cin.getline(x[iterativa1].coincidencia,15);
                if(sumatoriaCafeteria>2)
                {
 
                    for(j=1; j<=sumatoriaCafeteria; j++)
                    {
 
                        if(strcmp(x[j].rfc,x[j].coincidencia)==0)
                        {
                            cout<<"\n\nSe encontró otra cafeter\241a con el mismo RFC: \n\n";
                            cout<<"Nombre: \n"<<x[datoConsulta].nombreCafeteria<<"\n";
                            cout<<"Domicilio: \n"<<x[datoConsulta].domicilioCafeteria<<"\n";
                            cout<<"RFC: \n"<<x[datoConsulta].rfc<<"\n\n";
                            cout<<"Presiona Enter para continuar...\n\n";
                            getch();
                            system (CLEAR);
                            return menuCafeteria();
 
                        }
                    }
 
                }
                strcpy(x[iterativa1].rfc,x[iterativa1].coincidencia);
                cout<<"Ingresa el Nombre de la Cafeter\241a: \n\n";
                cin.getline(x[iterativa1].nombreCafeteria,40);
                cout<<"\n\n";
                cout<<"Ingresa el Domicilio de la cafeter\241a: \n\n";
                cin.getline(x[iterativa1].domicilioCafeteria,40);
                cout<<"\n\n";
                iterativa1++;
                i++;
            }
            for (i=1; i<=sumatoriaCafeteria; i++)
            {
                archivo<<"Cafeteria: \n\n"<<x[i].nombreCafeteria<<"\n\n"
                       <<x[i].domicilioCafeteria<<"\n\n"<<x[i].rfc<<"\n\n";
            }
            cout<<"\n\nEl registro fue completado con \202xito\n\n";
            cout<<"Presiona Enter para continuar...";
            getch();
            system(CLEAR);
        }
        break;
    }
 
 
    case 2:
    {
        ofstream archivo("cafeterias.txt",ios::out);
 
        if(! archivo)
        {
            cout<<"El archivo no se puede abrir \n";
 
        }
        else
        {
            for (iterativa2=1; iterativa2<=sumatoriaCafeteria; iterativa2++)
            {
                cout<<iterativa2<<". "<<x[iterativa2].nombreCafeteria<<"\n\n";
            }
            cout<<"\n\nElige el n\243mero de cafeter\241a que deseas dar de baja: ";
            cin>>datoConsulta;
            if(datoConsulta<=0||(datoConsulta>sumatoriaCafeteria))
            {
                cout<<"\n\nEse n\243mero de cafeter\241a no existe!";
                cout<<"\n\nPresiona Enter para continuar...";
                getch();
                system (CLEAR);
                return menuCafeteria();
            }
            system(CLEAR);
            cout<<"Nombre: \n"<<x[datoConsulta].nombreCafeteria<<"\n";
            cout<<"Domicilio: \n"<<x[datoConsulta].domicilioCafeteria<<"\n";
            cout<<"RFC: \n"<<x[datoConsulta].rfc<<"\n\n";
            cout<<"Desea dar de baja estos datos? (S/N) : ";
            cin>>respuesta;
            if ((respuesta=='S')||(respuesta=='s'))
            {
                for(i=datoConsulta; i<=sumatoriaCafeteria; i++)
                {
                    strcpy(x[i].nombreCafeteria,x[i+1].nombreCafeteria);
                    strcpy(x[i].domicilioCafeteria,x[i+1].domicilioCafeteria);
                    strcpy(x[i].rfc,x[i+1].rfc);
                }
                cout<<"\n\nLos datos se han eliminado correctamente...";
                cout<<"\n\nPresiona Enter para continuar...";
                getch();
                system(CLEAR);
            }
            else
            {
                system(CLEAR);
                return menuCafeteria();
            }
            for (i=1; i<=sumatoriaCafeteria; i++)
            {
                archivo<<"Cafeteria: \n\n"<<x[i].nombreCafeteria<<"\n\n"
                       <<x[i].domicilioCafeteria<<"\n\n"<<x[i].rfc<<"\n\n";
            }
        }
        break;
 
    }
    case 3:
        if(sumatoriaCafeteria==0)
        {
            cout<<"No hay ning\243n dato registrado...";
            cout<<"\n\nPresiona Enter para continuar...";
            getch();
            system(CLEAR);
            return menuCafeteria();
        }
        else
        {
            for (iterativa3=1; iterativa3<=sumatoriaCafeteria; iterativa3++)
            {
                cout<<iterativa3<<". "<<x[iterativa3].nombreCafeteria<<"\n\n";
            }
            cout<<"\n\nElige el n\243mero de cafeter\241a del que quieres consultar datos: ";
            cin>>datoConsulta;
            if(datoConsulta<=0||(datoConsulta>sumatoriaCafeteria))
            {
                cout<<"\n\nEse n\243mero de cafeter\241a no existe!";
                cout<<"\n\nPresiona Enter para continuar...";
                getch();
                system (CLEAR);
                return menuCafeteria();
            }
            system(CLEAR);
            cout<<"Nombre: \n"<<x[datoConsulta].nombreCafeteria<<"\n\n";
            cout<<"Domicilio: \n"<<x[datoConsulta].domicilioCafeteria<<"\n\n";
            cout<<"RFC: \n"<<x[datoConsulta].rfc<<"\n\n";
            cout<<"Presiona Enter para continuar...";
            getch();
            system(CLEAR);
        }
        break;
 
    case 4:
    {
        ofstream archivo("cafeterias.txt",ios::out);
        if(! archivo)
        {
            cout<<"El archivo no se puede abrir \n";
 
        }
        else
        {
 
            for (iterativa4=1; iterativa4<=sumatoriaCafeteria; iterativa4++)
            {
                cout<<iterativa4<<". "<<x[iterativa4].nombreCafeteria<<"\n\n";
            }
            cout<<"\n\nElige el n\243mero de cafeter\241a del que quieres editar datos: ";
            cin>>datoConsulta;
            if(datoConsulta<=0||(datoConsulta>sumatoriaCafeteria))
            {
                cout<<"\n\nEse n\243mero de cafeter\241a no existe!";
                cout<<"\n\nPresiona Enter para continuar...";
                getch();
                system (CLEAR);
                return menuCafeteria();
            }
            system(CLEAR);
            cout<<"Datos Actuales: \n\n";
            cout<<"Nombre: \n"<<x[datoConsulta].nombreCafeteria<<"\n";
            cout<<"Domicilio: \n"<<x[datoConsulta].domicilioCafeteria<<"\n";
            cout<<"RFC: \n"<<x[datoConsulta].rfc<<"\n\n";
 
            cout<<"Nueva Informaci\242n: \n\n";
            fflush(stdin);
            cout<<"Ingresa el Nombre de la Cafeter\241a: \n\n";
            cin.getline(x[datoConsulta].nombreCafeteria,40);
            cout<<"\n\n";
            cout<<"Ingresa el Domicilio de la cafeter\241a: \n\n";
            cin.getline(x[datoConsulta].domicilioCafeteria,40);
            cout<<"\n\n";
            cout<<"Ingresa el RFC de la cafeter\241a: \n\n";
            cin.getline(x[datoConsulta].rfc,15);
            for (i=1; i<=sumatoriaCafeteria; i++)
            {
                archivo<<"Cafeteria: \n\n"<<x[i].nombreCafeteria<<"\n\n"
                       <<x[i].domicilioCafeteria<<"\n\n"<<x[i].rfc<<"\n\n";
            }
        }
        cout<<"\n\nEl registro fue modificado correctamente\n\n";
        cout<<"Presiona Enter para continuar...";
        getch();
        system(CLEAR);
        break;
 
    }
    }
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 82
Ha disminuido 1 puesto en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Ayuda con strcmp

Publicado por gregory (34 intervenciones) el 16/04/2017 22:43:17
no necesito ver el codigo si trabaja con lista enlazada es mas compleja la solucion si trabaja con struct es mas facil puede tomar 2 camino o el camino facil o el dificil
si tomas el facil busca documentacion de la funcion que te compare cadena
si tomas el dificil tiene que comparar las cadenas a mano.
un bucle que te recorra toda la cadena y que compare letra por letra si tiene la misma letra que la otra plas son iguales.
yo lo hice te pasaria el codigo pero no lo tengo a la mano ya que tengo un año que no programo en c si me envia te lo paso
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 14
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Ayuda con strcmp

Publicado por Diego Moreno (8 intervenciones) el 17/04/2017 06:25:19
Muchas gracias lo solucione comparando la cadena con el array, lo hice con un for después con if dentro del for y luego con un while y después dentro del while el for y el if mencionados anteriormente y listo jalo. Muchas gracias de todos modos saludos y buenas noches
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar