ayuda con un programa sencillo

Iniciado por angelina_slayer, 10 Noviembre 2010, 00:48 AM

0 Miembros y 1 Visitante están viendo este tema.

angelina_slayer

hola chicos necesito ayudita con un programa super simple en el que intruduzca los datos de nombre, primer apellido, segundo apellido, dni y email y al introducirlos me de una impresion en pantalla con el mismo nombre de los datos introducidos. Tengo este codigo pero no me ejecuta correctamente.... en que he fallado???

#include <stdio.h>

int main () {
  char nombre, primer_apellido, segundo_apellido, dni, email ;

printf("NOMBRE:");
scanf ("%s",&nombre);
printf("PRIMER APELLIDO: ");
scanf ("%s",&primer_apellido);
printf("SEGUNDO APELLIDO: ");
scanf ("%s", &segundo_apellido);
printf ("DNI:");
scanf ("%d", &dni);
printf ("EMAIL: ");
scanf ("%s", &email);
printf ("%s\n,s\n,%s\n,%d\n,%s\n", nombre ,primer_apellido ,segundo_apellido, dni, email );

}

gracias x la ayudaaaaaa

Shell Root

Deberías de leerte un manual básico de C. Te dejo un ejemplo simple,
#include <stdio.h>

int main(){
char sNombre[20];
char sApellido[20];

printf("Ingresar nombre: ");
scanf("%s", sNombre);

printf("Ingresar apellido: ");
scanf("%s", sApellido);

printf("Su nombre es %s %s\n", sNombre, sApellido);

return 0;
}
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

angelina_slayer

hola, gracias x la respuesta!, estoy leyendo manuales pero x eso pido ayuda porque yo creo q lo entiendo pero x lo visto en algo fallo.

Tu codigo no me ejecuta, me da error sintactico en la compilacion.

flony

no se si te sirve pero en c++ seria haaa y puse a dni como integer xq generalmente va a ser un numero
#include <iostream>
using namespace std;
int main()
{
char nombre, primer_apellido, segundo_apellido, email;
int dni;
cout <<"ingrese el nombre: ";
cin>> nombre;
cout <<"ingrese el primer apellido: ";
cin>> primer_apellido;
cout <<"ingrese el segundo apellido: ";
cin>> segundo_apellido;
cout <<"ingrese el D.N.I. ";
cin >> dni;
cout <<"ingrese el email: ";
cin>> email;
cout << "lo datos ingresados son" << "\n" << nombre << "\n" << primer_apellido <<"\n" << segundo_apellido <<"\n" << dni <<"\n" << email <<"\n";
system ("PAUSE");
return 0;
}
si un problema no tiene solucion entonces no es un problema...es algo inevitable

angelina_slayer

gracias, pero sigue dando error en la compilacion :( estoy usando el codeBlocks.. si en caso esa info sirve de ayuda...

ShadowStorm

#5
Cita de: angelina_slayer en 10 Noviembre 2010, 00:48 AM
hola chicos necesito ayudita con un programa super simple en el que intruduzca los datos de nombre, primer apellido, segundo apellido, dni y email y al introducirlos me de una impresion en pantalla con el mismo nombre de los datos introducidos. Tengo este codigo pero no me ejecuta correctamente.... en que he fallado???

#include <stdio.h>

int main () {
 char nombre, primer_apellido, segundo_apellido, dni, email ;

printf("NOMBRE:");
scanf ("%s",&nombre);
printf("PRIMER APELLIDO: ");
scanf ("%s",&primer_apellido);
printf("SEGUNDO APELLIDO: ");
scanf ("%s", &segundo_apellido);
printf ("DNI:");
scanf ("%d", &dni);
printf ("EMAIL: ");
scanf ("%s", &email);
printf ("%s\n,s\n,%s\n,%d\n,%s\n", nombre ,primer_apellido ,segundo_apellido, dni, email );

}

gracias x la ayudaaaaaa

No puedes declarar tu variable usando solo "char", tienes que usar arreglos por ejemplo char nombre[20], asi no tendrás problemas al ingresar un nombre cualquiera.

La variable DNI es char (caracter) pero tu estas ingresando un numero al usar "scanf ("%d", &dni);", donde %d es para ingresar valores númericos, lo correcto es declarar DNI como entero (int dni).

También se te olvido agregar al prinft final un "%" el cual permite imprimir el contenido de la variable "primer_apellido".

Existe un warning y es debido a que no usas "return 0;" para finalizar la función principal, tienes que observar que estas usando "int main ()"

Finalmente el codigo quedaría así:

Código (c++) [Seleccionar]
#include <stdio.h>

int main () {
char nombre[20], primer_apellido[20], segundo_apellido[20], email[30] ;
   int dni;

printf("NOMBRE:");
scanf ("%s",&nombre);
printf("PRIMER APELLIDO: ");
scanf ("%s",&primer_apellido);
printf("SEGUNDO APELLIDO: ");
scanf ("%s", &segundo_apellido);
printf ("DNI:");
scanf ("%d", &dni);
printf ("EMAIL: ");
scanf ("%s", &email);
printf ("%s\n,%s\n,%s\n,%d\n,%s\n", nombre ,primer_apellido ,segundo_apellido, dni, email );

return 0;
}

Mr.Blue

[Shadowstorn]
Tu resolucion del problema tiene errores de sintaxis.
Los scanf cuando son string no lleva el &

#include <stdio.h>

int main () {
char nombre[20], primer_apellido[20], segundo_apellido[20], email[30] ;
   int dni;

printf("NOMBRE:");
scanf ("%s",nombre);     // para string es mejor usar sscanf o gets (cadena);
printf("PRIMER APELLIDO: ");
scanf ("%s",primer_apellido);
printf("SEGUNDO APELLIDO: ");
scanf ("%s", segundo_apellido);
printf ("DNI:");
scanf ("%d", &dni);
printf ("EMAIL: ");
scanf ("%s",email);
printf ("%s\n,%s\n,%s\n,%d\n,%s\n", nombre ,primer_apellido ,segundo_apellido, dni, email );
       
       getchar (); // Esto permite ver el resultado
return 0;
}

angelina_slayer

me sigue dando errores :S me dice q en la linea 3 hay un error en la declaracion de la variable ...

ShadowStorm

#8
Cita de: Sr.Blanco en 10 Noviembre 2010, 03:52 AM
[Shadowstorn]
Tu resolucion del problema tiene errores de sintaxis.
Los scanf cuando son string no lleva el &

Es cierto mire tan rapido el codigo que no me fije en ese detalle, pero también ten en cuenta que en algunos IDEs funciona y en otros no, tal vez podrías indicarme que error te sale.

Cita de: angelina_slayer en 10 Noviembre 2010, 04:10 AM
me sigue dando errores :S me dice q en la linea 3 hay un error en la declaracion de la variable ...

Parece que el IDE que estás usando es muy sensible en sintaxis, prueba lo siguiente:

Código (c++) [Seleccionar]
char nombre[20];
char primer_apellido[20];
char segundo_apellido[20];
char email[30];
int dni;

flony

si un problema no tiene solucion entonces no es un problema...es algo inevitable