elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Duda con lectura de nombre y apellido.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Duda con lectura de nombre y apellido.  (Leído 3,797 veces)
diego-4

Desconectado Desconectado

Mensajes: 21



Ver Perfil
Duda con lectura de nombre y apellido.
« en: 17 Septiembre 2010, 19:30 pm »

Hola , perdon por la molestia pero tengo una re duda
=D

yo tengo este codigo fuente

Código
  1. #include <stdio.h>
  2. #include <conio.h>
  3.  
  4. void main()
  5. {
  6. int NumCli, MinInAbo, MinCon;
  7. char NomTit[20], ApeTit[20];
  8. float ImpAbo, CosMinExc, ImpFac;
  9. printf("Numero de Cliente: ");
  10. scanf("%d",&NumCli);
  11. printf("\nNombre y Apellido del Titular: ");
  12. scanf("%s %s",&NomTit,&ApeTit);
  13. printf("\nImporte del Abono: ");
  14. scanf("%f",&ImpAbo);
  15. printf("\nMinutos Incluidos en el Abono: ");
  16. scanf("%d",&MinInAbo);
  17. printf("\nMinutos Consumidos: " );
  18. scanf("%d",&MinCon);
  19. printf("\nCosto del Minuto Excedente: ");
  20. scanf("%f",&CosMinExc);
  21. clrscr();
  22. printf("Numero del Cliente: %d",NumCli);
  23. printf("\nNombre del Titular: %s %s",NomTit,ApeTit);
  24. printf("\nImporte del Abono: $ %f pesos",ImpAbo);
  25. printf("\nMinutos Incluidos en el Abono: %d minutos",MinInAbo);
  26. printf("\nMinutos consumidos: %d minutos",MinCon);
  27. printf("\nCosto del Minuto Excedente: $ %f pesos",CosMinExc);
  28.    if(MinCon>MinInAbo)
  29.    {
  30.    ImpFac=ImpAbo+(MinCon-MinInAbo)*CosMinExc;
  31.    printf("\nImporte de la factura: $ %f pesos",ImpFac);
  32.    }
  33.    else
  34.    {
  35.    printf("\nImporte de la factura: $ %f pesos",ImpAbo);
  36.    }
  37. getch();
  38. }


EN ESTA PARTE LA PROFESORA MARCO "USAR UNA VARIABLE PARA NOMBRE Y APELLIDO!
 scanf("%s %s",&NomTit,&ApeTit);

plis ayudissss ^^ graciasss =D


« Última modificación: 18 Septiembre 2010, 00:37 am por Littlehorse » En línea

Horricreu
Wiki

Desconectado Desconectado

Mensajes: 290

¡La verdad os hará libres!


Ver Perfil WWW
Re: consulta! ^^
« Respuesta #1 en: 17 Septiembre 2010, 21:46 pm »

Puedes usar:

Código
  1. #include <stdio.h>
  2.  
  3. int main()
  4. {
  5. char string[50];
  6.  
  7. fgets(string, 50, stdin);
  8.  
  9. printf("Nombre y apellidos: %s", string);
  10.  
  11.  
  12. return 0;
  13. }

Una cosa, sigues cometiendo fallos que te corregimos en algún otro tema tuyo y has pasado olímpicamente de los consejos... no sé, no lo digo con mala intención, sólo que leas lo que te escribimos.

Saludos :P


« Última modificación: 13 Noviembre 2010, 00:39 am por Horricreu » En línea

diego-4

Desconectado Desconectado

Mensajes: 21



Ver Perfil
Re: consulta! ^^
« Respuesta #2 en: 17 Septiembre 2010, 22:38 pm »

te entiendo perfectamente :D, pero en este momento en programacion uno no estamos usando las bibliotecas, estamos con el diagrama de flujo y como codificarlo, por eso te pregunto o les pregunto a todos, porq en esa situacion me puso eso :)

En línea

Littlehorse
All the world's a stage
Moderador
***
Desconectado Desconectado

Mensajes: 2.714


Nie Dam Sie


Ver Perfil WWW
Re: consulta! ^^
« Respuesta #3 en: 18 Septiembre 2010, 00:36 am »

La profesora te pidió que uses una sola "variable" (arreglo en realidad) y vos en tus lecturas estas usando dos.
No obstante, lo ideal es usar una cadena con fgets que es precisamente lo que se te esta pidiendo y de paso, es la forma correcta de hacerlo. Por lo tanto, no entiendo cual es el problema con el ejemplo que te puso Horricreu.

Especifica cual es la duda porque por lo menos yo no te he entendido todavía.

En cuanto a esto:

Código
  1. scanf("%s %s",&NomTit,&ApeTit);

Esta mal, el identificador del array es un puntero que apunta a la primera posición de dicho arreglo. De la forma que lo haces solo funciona porque el puntero direcciona el mismo lugar que la primera referencia, intenta hacer lo mismo pero reservando memoria dinámica para el arreglo y veras el error. Lo correcto con scanf seria:

Código
  1. scanf("%s %s",NomTit,ApeTit);

Es decir, los ampersand están de mas en este caso.

Saludos

PD: Utiliza títulos descriptivos para los posts.
« Última modificación: 18 Septiembre 2010, 00:43 am por Littlehorse » En línea

An expert is a man who has made all the mistakes which can be made, in a very narrow field.
diego-4

Desconectado Desconectado

Mensajes: 21



Ver Perfil
Re: Duda con lectura de nombre y apellido.
« Respuesta #4 en: 18 Septiembre 2010, 21:50 pm »

MUchas gracias por sus consejos, perdonen por la ignorancia es q soy muy novato en esto... el enunciado decia lo siguiente

1- Se desea efectuar la factura de un teléfono celular. Para ellos solicitar por pantalla e ingrsar los siguientes datos: Numero de cliente, nombre de titular(cadena de caracteres), importe del abono(real), minutos incluidos en el abono(entero), minutos consumidos(entero), costo del minuto excedente(real).
la factura se calcula de la siguiente forma:

Importe del abono+ (minutos consumidos . minutos incluidos en el abono)*costo del minuto excedente. Si los minutos son < a los minutos incluidos en el abono, el cliente debe pagar el importe del abono completo

2.-imformar los datos ingresados y el importe de la factura con leyendas aclaratorias.

y aca esta el codigo terminado ^^

Codigo
#include <stdio.h>
#include <conio.h>


void main()
{
 int NumCli, MinInAbo, MinCon;
 char NomTityApeTit[50];
 float ImpAbo, CosMinExc, ImpFac;
 printf("Numero de Cliente: ");
 scanf("%d",&NumCli);
 printf("\nNombre y Apellido del Titular: ");
 fflush(stdin);
 fgets(NomTityApeTit,50,stdin);
 printf("\nImporte del Abono: ");
 scanf("%f",&ImpAbo);
 printf("\nMinutos Incluidos en el Abono: ");
 scanf("%d",&MinInAbo);
 printf("\nMinutos Consumidos: " );
 scanf("%d",&MinCon);
 printf("\nCosto del Minuto Excedente: ");
 scanf("%f",&CosMinExc);
 clrscr();
 printf("Numero del Cliente: %d",NumCli);
 printf("\nNombre del Titular: %s",NomTityApeTit);
 printf("\nImporte del Abono: $ %f pesos",ImpAbo);
 printf("\nMinutos Incluidos en el Abono: %d minutos",MinInAbo);
 printf("\nMinutos consumidos: %d minutos",MinCon);
 printf("\nCosto del Minuto Excedente: $ %f pesos",CosMinExc);
    if(MinCon>MinInAbo)
    {
    ImpFac=ImpAbo+(MinCon-MinInAbo)*CosMinExc;
    printf("\nImporte de la factura: $ %f pesos",ImpFac);
    }
    else
    {
    printf("\nImporte de la factura: $ %f pesos",ImpAbo);
    }
 getch();

}

Tambien me pedian el diagrama de flujo por si la kieren ver :D igual ya me dijo q estaba bien :D


Uploaded with ImageShack.us

EDit: como se pone en color blanco de fondo el codigo, asi no kedo mal :) gracias
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
buscar por nombre y apellido
PHP
RedZer 2 4,883 Último mensaje 12 Julio 2011, 19:46 pm
por RedZer
añadir usuarios tipo nombre.apellido
GNU/Linux
matojo 1 2,114 Último mensaje 23 Febrero 2012, 18:21 pm
por lalalalalala
¿Cómo cambiar mi nombre y apellido del facebook más de 5 veces?
Dudas Generales
Luish@o 0 3,687 Último mensaje 2 Marzo 2012, 15:34 pm
por Luish@o
ordenar por apellido ascendente, y por nombre descendente
Programación C/C++
matiapache12 1 3,000 Último mensaje 26 Octubre 2016, 18:08 pm
por palacio29
mostrar el nombre y el apellido del usuario logueado en el navbar
PHP
jose4lfredo 1 9,345 Último mensaje 17 Mayo 2017, 09:28 am
por hechicerd0
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines