Dev - C++ - NO IMPRIME VARIABLES EN C

 
Vista:
sin imagen de perfil

NO IMPRIME VARIABLES EN C

Publicado por luisaPJ (4 intervenciones) el 01/05/2022 20:37:41
Necesito ayuda ,cuando quiero imprimir las variables no me sale nada ,el problema sucede exactamente a partir de la linea 60.Agardeceria mucho si me pudieran ayudar.


#include<stdio.h>
#include<locale.h>


int main(){
setlocale(LC_ALL, "");
//inicializar
int inicio;
char inva;
char nombre;
char apellido;
char usuario;
char contra;
char correo;




//lectura de datos

printf("\t\tbienvenido a google\n");

printf("\n(1)Crear una cuenta");
printf("\n(2)Accede a tu cuenta");

printf("\nElige que desea hacer");
scanf("%d",&inicio);
if(inicio == 2 ){
printf("\ningresa tu correo: ");
scanf("%s",&inva);
printf("\neste correo no existe");
printf("\n");
while(inicio !=1){
printf("\n(1)Crear una cuenta");
printf("\n(2)Accede a tu cuenta");

printf("\nElige que desea hacer");
scanf("%d",&inicio);

}
}


printf("\nEscribe tu nombre: ");
scanf("%s",&nombre);
printf("\nEscribe tu apellido: ");
scanf("%s",&apellido);
printf("\nEscribe tu nombre de usuario: ");
scanf("%s",&usuario);
printf("\nEscribe la contraseña: ");
scanf("%s",&contra);


printf("\n");

printf("\n");
printf("\nCUENTA CREADA!!!");
printf("\nsu correo es :%s",usuario );
printf("\nsu correo es :%s",usuario);
printf("\nsu contraseña es %s",contra);
fflush(stdin);
printf("\n");
printf("\ningresa tu correo");
scanf("%s",&correo);
printf("\n");
while (correo != usuario)
{
printf("\neste correo no existe");
printf("\ningresa tu correo");
scanf("%s",&correo);
}





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
Imágen de perfil de Alfil
Val: 4.344
Oro
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

NO IMPRIME VARIABLES EN C

Publicado por Alfil (1444 intervenciones) el 01/05/2022 20:54:42
Fíjate que como variables para almacenar el nombre, apellidos, usuario, contraseña y correo estas utilizando un char. Un char solo puede almacenar 1 solo carácter.

Podrías modificarlo de la siguiente forma:

1
char nombre[50];

De esta forma el número máximo de caracteres sería de 50.

A la hora de realizar el scanf, al tratarse de un array, no se usa el &:

1
scanf("%s", nombre);

Así con todas las variables que tienes de tipo char.

Fíjate además en que el dato del correo (usado como login) no lo pides.
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

NO IMPRIME VARIABLES EN C

Publicado por luisaPJ (4 intervenciones) el 01/05/2022 21:25:09
hola ,gracias me ayudo mucho que convirtiera los char en arrays ,pero surgio otro problema con el bucle while,en las lineas 67 y 75.No se si también me pudieras ayudar con eso, para despejar mis dudas .

#include<stdio.h>
#include<locale.h>


int main(){
setlocale(LC_ALL, "");
//inicializar
int inicio;
char inva;
char nombre;
char apellido;
char usuario[50];
char contra[50];
char correo[50];
char contra2[50];



//lectura de datos

printf("\t\tbienvenido a google\n");

printf("\n(1)Crear una cuenta");
printf("\n(2)Accede a tu cuenta");

printf("\nElige que desea hacer");
scanf("%d",&inicio);
if(inicio == 2 ){
printf("\ningresa tu correo: ");
scanf("%s",&inva);
printf("\neste correo no existe");
printf("\n");
while(inicio !=1){
printf("\n(1)Crear una cuenta");
printf("\n(2)Accede a tu cuenta");

printf("\nElige que desea hacer");
scanf("%d",&inicio);

}
}


printf("\nEscribe tu nombre: ");
scanf("%s",&nombre);
printf("\nEscribe tu apellido: ");
scanf("%s",&apellido);
printf("\nEscribe tu nombre de usuario: ");
scanf("%s",usuario);
printf("\nEscribe la contraseña: ");
scanf("%s",contra);


printf("\n");

printf("\n");
printf("\nCUENTA CREADA!!!");
printf("\nsu correo es :%s",usuario );
printf("\nsu contraseña es %s",contra);
fflush(stdin);
printf("\n");
printf("\ningresa tu correo");
scanf("%s",correo);
printf("\n");
while (correo != usuario){
printf("\nEste correo no existe ,vuelva a intentarlo");
printf("\ningresa tu correo");
scanf("%s",correo);
}
printf("\n");
printf("\ningrese la contraseña");
scanf("%s",contra2);
while (contra2 != contra){
printf("\ncontraseñaincorrecta,vuelva a intentarlo");
printf("\ningrese la contraseña");
scanf("%s",contra2);
}
printf("\n¡¡¡sesion iniciada!!!");



return 0;
}
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
Imágen de perfil de Alfil
Val: 4.344
Oro
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

NO IMPRIME VARIABLES EN C

Publicado por Alfil (1444 intervenciones) el 02/05/2022 14:02:01
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
#include <stdio.h>
#include <string.h>
#include <locale.h>
 
int main()
{
    setlocale(LC_ALL, "");
 
    char opcion;
 
    char nombre[50];
    char apellido[50];
    char correo[50];
 
    char usuario[50];
    char contra[50];
 
    char tempUsuario[50];
    char tempContra[50];
 
    do {
        printf("\nBIENVENIDO A GOOGLE");
        printf("\n=========================");
        printf("\n(1) Crear una cuenta");
        printf("\n(2) Accede a tu cuenta");
        printf("\n(3) Salir");
        printf("\n=========================");
        printf("\nOPCION: ");
        scanf("%c", &opcion);
        printf("\n");
 
        switch (opcion)
        {
            case '1':
                printf("Nombre: "); scanf("%s", nombre);
                printf("Apellido: "); scanf("%s", apellido);
                printf("Email: "); scanf("%s", correo);
                printf("Usuario: "); scanf("%s", usuario);
                printf("Contrasenya: "); scanf("%s", contra);
                fflush(stdin);
                break;
 
            case '2':
                do {
                    printf("Usuario: "); scanf("%s", tempUsuario);
                    printf("Contrasenya: "); scanf("%s", tempContra);
                    printf("\n");
                    fflush(stdin);
 
                } while (strcmp(tempUsuario, usuario) != 0 && strcmp(tempContra, contra) != 0);
 
                printf("\n\nCONTRASENYA CORRECTA!!\n\n");
                break;
 
            case '3':
                printf("\n\nFIN DEL PROGRAMA\n");
                break;
 
            default:
                printf("\n\nOPCION NO VALIDA\n");
                break;
        }
 
    } while (opcion != '3');
 
    return 0;
}

Diría que esto se aproxima un poco a lo que quieres hacer, fijate en que dos arrays no se pueden comparar con un simple signo igual
1
2
3
4
char usuario[50] = "ABC";
char temp[50] = "ABC";
 
if (usuario == temp)   // la comparación nunca se va a producir, aunque no provocará un error.
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

NO IMPRIME VARIABLES EN C

Publicado por luisa (4 intervenciones) el 02/05/2022 18:32:07
muchas gracias!!! era un programa para mi trabajo ,y como recién estoy comenzando ,todavía me equivoco en algunas cosas.
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