Nuevas NORMAS para el foro
Bienvenido(a),
Visitante
. Favor de
ingresar
o
registrarse
. - Julio 05, 2008, 08:47:32
Boton Buscar
Visita:
Articulos
-
Juegos Gratis
-
Da Foros
Comunidad Underground Hispana
|
Programacion
|
Programación
|
Carbide C/C#/C++
| Tema:
Ayuda, C++
0 Usuarios y 1 Visitante están viendo este tema.
« anterior
próximo »
Páginas:
[
1
]
Autor
Tema: Ayuda, C++ (Leído 228 veces)
.::MDavidMR::.
Colaborador
Desconectado
Mensajes: 481
Ayuda, C++
«
en:
Marzo 21, 2008, 02:09:09 »
Hola a todos, recien estoy aprendiendo a usar el C++ en la escuela, nos dejaron hacer unos ejercicios sencillos, jejeje ese los hize sin problemas, me adelanté con las condicionales y pues me quedé en un tercer ejercicio, les agradecería mucho si me ayudaran para hacerlo, aprendería un poco mas
, y pues estoy metiendome en terreno desconocido pero... la profa tiene la culpa jejeje, no nos da muchas clases
, bien, es el siguiente:
/*Hacer un algoritmo que imprima el nombre de un articulo, clave, precio
original y su precio con descuento. El descuento lo hace en base a la
clave, si la clave es 01 el descuento es del 10% y si la clave es 02
el descuento es del 20% (Solo existen dos claves...*/
#include<stdio.h>
#include<conio.h>
#include<string.h>
void main()
{
char clave[2],nomart[15];
float preorig,predesc;
clrscr();
printf("Escriba la clave del artivulo...");
gets(clave);
if (strcpy(clave, "01")) !! (strcpy(clave, "02"));
printf("\nEscriba el nombre del articulo... ");
gets(nomart);
printf("\nEscriba el precio original del articulo... $ ");
if (strcpy(clave, "01"))
{
predesc=preorig*.9;
printf("\nNombre del Articulo || %c",nomart);
printf("\nClave || %c",clave);
printf("\nPrecio Original ||$ %.2f",preorig);
printf("\nPrecio con Descuento ||$ %.2f",predesc);
}
if (strcpy(clave, "02"))
{
predesc=preorig*.9;
printf("\nNombre del Articulo || %c",nomart);
printf("\nClave || %c",clave);
printf("\nPrecio Original ||$ %.2f",preorig);
printf("\nPrecio con Descuento ||$ %.2f",predesc);
}
else
printf("Escriba solo las opciones '01' y '02'... ");
getche();
}
No se que me sale mal, pero evalua todos los if
, y en la clave me pone un caracter raro
.
Help me please
Saludos
MDavidMR
En línea
Nada es Verdad, Nada es mentira... Todo depende del cristal con que se mira...
cuervocap
Miembro
Desconectado
Mensajes: 74
Re: Ayuda, C++
«
Respuesta #1 en:
Marzo 22, 2008, 04:54:22 »
Oye sera que puedes poner el problema que te tira, asi sera mas facil ayudarte.
salu2
En línea
FreakMind
Habitual
Desconectado
Mensajes: 181
Re: Ayuda, C++
«
Respuesta #2 en:
Marzo 22, 2008, 07:05:39 »
Buenas
Dejo un par de pistas:
- Claves:
"01"
y
"02"
- Variable que contiene las claves:
char clave[2]
- Funcion que usa para "comparar" las cadenas:
strcpy()
Saludos, FreakMind
En línea
Connoisseurs of C semantics find C++ inferior to ++C
.::MDavidMR::.
Colaborador
Desconectado
Mensajes: 481
Re: Ayuda, C++
«
Respuesta #3 en:
Marzo 24, 2008, 08:34:50 »
Hola ^^! Gracias por responder... Jeje acabo de tomar la pc ahorita ",
Cita de: cuervocap en Marzo 22, 2008, 04:54:22
Oye sera que puedes poner el problema que te tira, asi sera mas facil ayudarte.
salu2
Cuervocap El problema es
Citar
/*Hacer un algoritmo que imprima el nombre de un articulo, clave, precio
original y su precio con descuento. El descuento lo hace en base a la
clave, si la clave es 01 el descuento es del 10% y si la clave es 02
el descuento es del 20% (Solo existen dos claves...*/
ҒrεακΜιи∂ La vdd no entiendo muy bien... la funcion stcrpy() la encontré en una pag., segun decían que servía para comparar caracteres o cadenas, pero... no tngo idea si la estoy usando bien, ahorita investigaré un poco mas de esa funcion, graxx
Saludos
MDavidMR
Cita de: ҒrεακΜιи∂ en Marzo 22, 2008, 07:05:39
Buenas
Dejo un par de pistas:
- Claves:
"01"
y
"02"
- Variable que contiene las claves:
char clave[2]
- Funcion que usa para "comparar" las cadenas:
strcpy()
Saludos, FreakMind
En línea
Nada es Verdad, Nada es mentira... Todo depende del cristal con que se mira...
FreakMind
Habitual
Desconectado
Mensajes: 181
Re: Ayuda, C++
«
Respuesta #4 en:
Marzo 25, 2008, 11:15:31 »
Buenas
Cita de: .::MDavidMR::. en Marzo 24, 2008, 08:34:50
Cuervocap El problema es
Citar
/*Hacer un algoritmo que imprima el nombre de un articulo, clave, precio
original y su precio con descuento. El descuento lo hace en base a la
clave, si la clave es 01 el descuento es del 10% y si la clave es 02
el descuento es del 20% (Solo existen dos claves...*/
.::MDavidMR::. , creo que cuervocap preguntaba si te tira algun error al ejecutar el programa. De todas formas con leer las primeras lineas de codigo uno se da cuenta que esta mal.
Cita de: .::MDavidMR::. en Marzo 24, 2008, 08:34:50
ҒrεακΜιи∂ La vdd no entiendo muy bien... la funcion stcrpy() la encontré en una pag., segun decían que servía para comparar caracteres o cadenas, pero... no tngo idea si la estoy usando bien, ahorita investigaré un poco mas de esa funcion, graxx
La funcion la estas utilizando bien, el problema es que la funcion no es la que queres usar. Y te recomiendo que cambies de pagina
Mi consejo:
Lo ideal seria comprarte un buen libro. A mi gusto el mejor es
Para ver los enlaces debes ser usuario
Crear Usuario
o
Hacer Sesion
El Lenguaje de programacion C
de Ritchie (el creador del lenguaje). Ahi un miembro dejo un link. No se si todavia funcionara. Sino lo buscas en el foro o en internet
Si no queres un libro y te conformas con tutos, el conclase.net es el mas famoso de todos
Saludos, FreakMind
En línea
Connoisseurs of C semantics find C++ inferior to ++C
.::MDavidMR::.
Colaborador
Desconectado
Mensajes: 481
Re: Ayuda, C++
«
Respuesta #5 en:
Marzo 25, 2008, 01:26:05 »
Graxx, Ahorita empiezo a buscar Jejeje, Gracias a todos !!
Saludos
MDavidMR
En línea
Nada es Verdad, Nada es mentira... Todo depende del cristal con que se mira...
.::MDavidMR::.
Colaborador
Desconectado
Mensajes: 481
Re: Ayuda, C++
«
Respuesta #6 en:
Abril 06, 2008, 06:30:12 »
Hola, no había tenido tiempo para seguir con este codigo jejeje pero ya lo tengo listo y funciona
Es el siguiente:
/*Hacer un algoritmo que imprima el nombre de un articulo, clave, precio
original y su precio con descuento. El descuento lo hace en base a la
clave, si la clave es 01 el descuento es del 10% y si la clave es 02
el descuento es del 20%. Solo existen dos claves...*/
#include<stdio.h>
#include<conio.h>
#include<string.h>
void main()
{
char clave[4], nomart[15];
float preorig, predesc;
clrscr();
printf("Escriba la clave del articulo, '01' o '02'... ");
gets(clave);
if (strcmp(clave,"01")==0)
{
printf("\nEscriba el nombre del articulo... ");
gets(nomart);
printf("\nEscriba el precio original del articulo... $ ");
scanf("%f",&preorig);
predesc=preorig*.9;
printf("\n\n\n\n\nNombre del Articulo: %s",nomart);
printf("\nClave: %s",clave);
printf("\nPrecio Original: $ %.2f",preorig);
printf("\nPrecio con Descuento: $ %.2f",predesc);
}
else if (strcmp(clave,"02")==0)
{
printf("\nEscriba el nombre del articulo... ");
gets(nomart);
printf("\nEscriba el precio original del articulo... $ ");
scanf("%f",&preorig);
predesc=preorig*.8;
printf("\n\n\n\n\nNombre del Articulo: %s",nomart);
printf("\nClave: %s",clave);
printf("\nPrecio Original: $ %.2f",preorig);
printf("\nPrecio con Descuento: $ %.2f",predesc);
}
else
printf("\nEscriba solo las opciones '01' y '02'... ");
gotoxy(14,33);
printf("By MDavidMR, Presione una tecla para salir...");
getche();
}
Les agradecería mucho si me dieran opiniones y críticas, es bueno para el aprendizaje.
Saludos
.::MDavidMR::.
En línea
Nada es Verdad, Nada es mentira... Todo depende del cristal con que se mira...
lann
Habitual
Desconectado
Mensajes: 309
maamamma
Re: Ayuda, C++
«
Respuesta #7 en:
Abril 07, 2008, 08:39:59 »
char *strcpy( char *s1, const char *s2 );
Lo que hace strcpy es copiar la cadena s2 ala cadena s1, y la cadena s1 es regresada, no sirve mucho para tus fines.
int strcmp( const char *s1, const char *s2 );
esta funcion compara la cadena s1 con la s2.
*regresa 0 si las cadenas son iguales.
*regresa valor negativo si la cadena s1 es menor a s2.
*regresa mayor a 0 si s1 es mayor a s2
algo mejor para obtener lo que quieres.
Algunos comentarios: dices que aprendes C++ pero estas usando funciones de entrada/salida estandar de C, podias cambiar gets por otra funcion mas segura ya que facilmente te pasaras de los limites de el array "clave", creo que puedes poner "escriba el nombre", y el precio original afuera de esos if ya que se repiten en las 2 condiciones, igual se van a imprimir, amenos que no quieras imprimir eso, cuando se pone una clave erronea, una recomendacion es que no uses conio ( amenos de que esten trabajando con el y pues en su defecto te pidan programas escritos con funciones de conio ) ya que no es una libreria estandar (obvio en la vida usaras muchisimas librerias no estandar pero uso este argumento de que "no es estandar" especialmente para tu codigo y codigos que desarrolles que las funciones de conio las puedes reemplazar con funciones std, como getch() por getchar(), etc. ), es obsoleta*, es de borland y facilmente puedes cambiar funciones de conio por funciones estandar de C++ o como veo en tu codigo de C... (andaba inspirado).
«
Última modificación: Abril 07, 2008, 09:17:09 por lann
»
En línea
am
.::MDavidMR::.
Colaborador
Desconectado
Mensajes: 481
Re: Ayuda, C++
«
Respuesta #8 en:
Abril 08, 2008, 04:35:25 »
lann
Muchas gracias por tus comentarios
Oye una pregunta, cual funcionaría mejor como lector de cadenas, un scanf o un gets?
Y pues mi intensión era hacer un
if <sentencia1==0> o <sentencia2==0>
para que cuando entraran los que cumplen la condicion solo hubiesen una vez estas lineas:
Citar
printf("\nEscriba el nombre del articulo... ");
gets(nomart);
printf("\nEscriba el precio original del articulo... $ ");
scanf("%f",&preorig);
Pero no me sale la evaluación >;( de hecho eso intenté hacer al principio, pero como no me salió pues se me ocurrió hacerlo así, y pues tambien es mi intensión de que cuando se ponga una clave erronea no pida articulo ni el precio original... Oye tus comentarios realmente me inspiraron a investigar mas, oye verdad que te refieres a que cambie las sentencias de C estandar de C++? De todos modos ya me puse a investigar
Gracias de nuevo,
.::MDavidMR::.
«
Última modificación: Abril 08, 2008, 04:36:13 por .::MDavidMR::.
»
En línea
Nada es Verdad, Nada es mentira... Todo depende del cristal con que se mira...
lann
Habitual
Desconectado
Mensajes: 309
maamamma
Re: Ayuda, C++
«
Respuesta #9 en:
Abril 08, 2008, 09:33:10 »
pues depende que uso le des, para lo que estas haciendo como no usas espacios pues igual puedes usar scanf, ( no recuerdo si scanf como cin
"...era hacer un if <sentencia1==0> o <sentencia2==0> para "
alomejor necesites algo como.
if( sentencia1 == 0 || sentencia2 == 0 )
//sera cierto si sentencia1 ó sentencia2 valen 0
if( sentencia1 == 0 && sentencia2 == 0 )
//sera solamente cierto si y solamente si: sentencia1 y sentencia2 valen 0
y a lo que me refiero es que habias puesto que estas aprendiendo C++ pero en tus codigos veo solo
funciones estandar de C, puedes dejar esos printf y scanf pero a mi me gusta la IO std
( newflash!!: los objetos cout, cin, cerr ) de C++, no se por donde lei que eran mejores =p...
En línea
am
FreakMind
Habitual
Desconectado
Mensajes: 181
Re: Ayuda, C++
«
Respuesta #10 en:
Abril 08, 2008, 10:01:17 »
Buenas
Cita de: lann en Abril 08, 2008, 09:33:10
y a lo que me refiero es que habias puesto que estas aprendiendo C++ pero en tus codigos veo solo
funciones estandar de C, puedes dejar esos printf y scanf pero a mi me gusta la IO std
( newflash!!: los objetos cout, cin, cerr ) de C++, no se por donde lei que eran mejores =p...
Creo que no es tanto que sean mejores sino que al tener sobrecargados los operadores << y >> no necesitas hacerte tanto quilombo por si es un int o un char, o una cadena (ademas no tiene problemas con el tema de las entradas de tamaño indefinido)
Saludos, FreakMind
En línea
Connoisseurs of C semantics find C++ inferior to ++C
lann
Habitual
Desconectado
Mensajes: 309
maamamma
Re: Ayuda, C++
«
Respuesta #11 en:
Abril 08, 2008, 10:16:06 »
bueno... igual, creo que aqui fue donde lei eso.
Para ver los enlaces debes ser usuario
Crear Usuario
o
Hacer Sesion
http://burks.bton.ac.uk/burks/language/cpp/cppfaq/inputout.htm
En línea
am
Páginas:
[
1
]
Comunidad Underground Hispana
|
Programacion
|
Programación
|
Carbide C/C#/C++
| Tema:
Ayuda, C++
« anterior
próximo »
Ir a:
Por favor selecciona un destino:
-----------------------------
Foros De Consulta General
-----------------------------
=> Novedades
=> Dudas, Comentarios Y Sugerencias
=> Top 100
=> Off-Topic
=> Revista E-Zine
===> Noticias
-----------------------------
Phreaking, Hacking y Seguridad
-----------------------------
=> HacK GeneraL
===> Ingenieria Inversa
===> Encriptacion, Cryptografia
===> TV HACK
===> Seguridad
===> Cursos y Ezines
=====> Trucos Internet
=====> Textos Hacking
===> Defacing
=> Phreaking
===> Moviles
=> Bug y Exploits
-----------------------------
Hack Novato
-----------------------------
=> Hack para newbies
=> Todo Messenger
=> Troyanos y virus
-----------------------------
Sistemas Operativos
-----------------------------
=> Windows y otros sistemas operativos no libres
===> Problemas Tecnicos Windows
=> Sistemas operativos libres.
===> GNU/Linux
===> Manuales y Tutoriales
===> Descargas
-----------------------------
Programacion
-----------------------------
=> Programación
===> Programación Basica
===> Otros Lenguajes
===> Visual Basic y Net
===> ASM
===> Programacion Shell
===> Perl
===> Carbide C/C#/C++
===> Batch
===> SQL
=> Programacion para webmasters
===> Consultas
===> Php
===> Html
===> Java - Java Script
===> Php Nuke
===> Scripts Pre-Fabricados
===> Mysql
===> CSS y Diseño Web
-----------------------------
Artes Graficas
-----------------------------
=> Diseño Grafico
===> Battle Arts
===> Flash
===> Tutoriales
===> Galerías
===> Software
-----------------------------
Area Tecnica
-----------------------------
=> Networking & Wireless
=> Overclocking, Refrigeracion y demas
=> Hardware
===> Cursos Y manuales
=> Electronica Y Robotica
-----------------------------
Programas
-----------------------------
=> Software
===> Configuraciones de software
===> Pedidos de software
=> Cracks & Serialz
=> P2p, Bittorrent, Elinks
-----------------------------
Multimedia Y Divx
-----------------------------
=> Juegos PC Y Consolas
===> Dudas ayudas y comentarios de juegos
===> Pedidos de juegos
=> Mp3
=> Multimedia
=> Peliculas Divx
-----------------------------
Entretenimiento Y sitios de interes
-----------------------------
=> Juegos, Humor y Adultos. (Diversión)
===> Adultos
=> Paginas Webs Recomendadas
=> Videos
Powered by SMF 1.1.5
|
SMF © 2006-2007, Simple Machines LLC
Loading...