Autor
|
Tema: contraseñas (Leído 2,466 veces)
|
ankora45
Desconectado
Mensajes: 52
|
Hola intento hacer un sistema de contraseñas pero debido a mi poca experiencia en la programacion de c o c++ no detecto el error por el cual el compilador no me deja compilarlo ya que me tira un error #include <stdlib.h> #include <stdio.h> #include <iostream> void pass(); void cp(); char contra[20]; FILE *fichero = fopen("contrasen.txt", "wt"); int main() { printf("1.crear conraseña\n"); printf("2.comprobacion\n"); switch(getchar()) { case '1': pass(); break; case '2': cp(); break; } fclose(fichero); return 0; } void pass() { printf("Escribe una contra\n"); std::cin>>contra; fputs(contra, fichero); main(); } void cp() { char *resultado; resultado = fgets(contra, 20, fichero); printf("introduzca la contra\n"); if(getchar()==resultado) { printf("correcto"); } else { printf("incorrecto"); } }
ayudenme plz
|
|
|
En línea
|
Hay dos cosas infinitas en este mundo, el universo y la estupidez humana, y de la primera no estoy muy seguro
|
|
|
0xDani
Desconectado
Mensajes: 1.077
|
1.- La variable resultado no te hace falta, fgets te almacena el resultado en el primer parametro. 2.- En esta linea: if(getchar()==resultado)
Intentas comparar un caracter que te devuelve getchar() con una cadena que es innecesaria, la puedes sustituir por contra. En C/C++ para comparar cadenas tienes la funcion strcmp(), en string.h/cstring. Saludos.
|
|
|
En línea
|
I keep searching for something that I never seem to find, but maybe I won't, because I left it all behind!
I code for $$$ Hago trabajos en C/C++ Contactar por PM
|
|
|
Puntoinfinito
Desconectado
Mensajes: 919
#! /win/archlinux
|
Sé que lo unico que voy a hacer va a ser poner otra duda más en cuestion xD
La parte de
FILE *fichero = fopen("contrasen.txt", "wt");
Lo que has echo es abrir para el programa "contrasen.txt" para que el puedo interaccionar en el, pero la pregunta es, hace falta indicar la ruta de "contrasen.txt"? Porque veo que tu no has puesto ninguna...
Saludos y espero respuesta:)
PD: Perdón por las molestias xD
|
|
|
En línea
|
|
|
|
0xDani
Desconectado
Mensajes: 1.077
|
Sé que lo unico que voy a hacer va a ser poner otra duda más en cuestion xD
La parte de
FILE *fichero = fopen("contrasen.txt", "wt");
Lo que has echo es abrir para el programa "contrasen.txt" para que el puedo interaccionar en el, pero la pregunta es, hace falta indicar la ruta de "contrasen.txt"? Porque veo que tu no has puesto ninguna...
Saludos y espero respuesta:)
PD: Perdón por las molestias xD
Eso depende del sistema operativo, pero normalmente si no especificas ruta se supone que el archivo ha de estar en el mismo directorio que el ejecutable. Saludos.
|
|
|
En línea
|
I keep searching for something that I never seem to find, but maybe I won't, because I left it all behind!
I code for $$$ Hago trabajos en C/C++ Contactar por PM
|
|
|
Puntoinfinito
Desconectado
Mensajes: 919
#! /win/archlinux
|
Eso depende del sistema operativo, pero normalmente si no especificas ruta se supone que el archivo ha de estar en el mismo directorio que el ejecutable.
Saludos.
Entendido He probado en mi Linux y en un Windows y en los dos funcionan de maravilla, gracias por aclarar.
|
|
|
En línea
|
|
|
|
|
|