Cita de: howaboutno en 29 Octubre 2012, 22:44 PMMuy bien, eso es aptitud positiva.
muchas gracias!! ya he visto mis fallos que son bastantes, aun me queda por aprender, pero dicen que de los fallos se aprende
Saludos!.
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes MenúCita de: howaboutno en 29 Octubre 2012, 22:44 PMMuy bien, eso es aptitud positiva.
muchas gracias!! ya he visto mis fallos que son bastantes, aun me queda por aprender, pero dicen que de los fallos se aprende
#include <stdio.h>
#include <string.h>
int menu(int *opcion);
void mayus(char*);
void minus(char*);
int main()
{ char frase[80];
int opcion=0,op;
printf("Introduce una frase \n");
gets(frase);
op=menu(&opcion);
if (op==1)
mayus(frase);
if (op==2)
minus(frase);
return 0;
}
int menu(int *opcion)
{
printf("1.Pasar a mayusculas\n");
printf("2.Pasar a minusculas\n");
do
{
printf("Introduce opcion: \n");
scanf("%d",&opcion);
}while(opcion<1 || opcion>2);
return opcion;
}
void mayus(char *frase)
{
int t;
for(t=0;frase[t]!='\0';t++)
frase[t]=toupper(frase[t]);
printf("%s",frase);
}
void minus(char *frase)
{
int t;
for(t=0;frase[t]!='\0';t++)
frase[t]=tolower(frase[t]);
printf("%s",frase);
}
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char** argv)
{
int empresa_particular_pensionista;
float precio_de_la_factura;
float consumo;
printf("Introduzca la cantidad (en m^3):");
scanf("%f", &consumo);
if (consumo < 50.0)
precio_de_la_factura = 0.50 * consumo;
else if (consumo > 50.0)
precio_de_la_factura = 0.75 * consumo;
printf("Empresa (1),particular (2),pensionista (3): ");
scanf("%d", &empresa_particular_pensionista);
if(empresa_particular_pensionista==1)
precio_de_la_factura*=0.73;
if (empresa_particular_pensionista==2)
precio_de_la_factura*=0.77;
if (empresa_particular_pensionista==3)
precio_de_la_factura*=0.88;
if (precio_de_la_factura < 10.0)
precio_de_la_factura = 10.0;
printf("el precio de la factura es: %.2f euros\n", precio_de_la_factura);
system("pause");
return (EXIT_SUCCESS);
}
Cita de: Caster en 28 Octubre 2012, 15:43 PM
pero el 4 no se como hacerlo, y queria que me dijerias a ver de que forma puedo hacerlo, no quiero codigo, solo como poder hacerlo, una idea para despues hacerlo yo
dias = (int) segundos/(3600*24);
#include <stdio.h>
#include <stdint.h>
#include <inttypes.h>
int main()
{
uint64_t segundos;
double minutos;
double horas;
double dias;
printf("Porfavor introduzca los segundos: \n");
scanf("%llu", &segundos);
while(getchar() != '\n')
;
minutos = (double) segundos/60;
if (((int) minutos) != minutos)
printf("Numero entero de minutos: No\n");
else if (((int) minutos) == minutos)
printf("Numero entero de minutos: Si\n");
horas = (double) segundos/3600;
if (((int) horas) != horas)
printf("Numero entero de horas: No\n");
else if (((int) horas) == horas)
printf("Numero entero de horas: Si\n");
dias = (double) (segundos/(3600*24));
if (((int) dias) != dias)
printf("Numero entero de dias: No\n");
else if (((int) dias) == dias )
printf("Numero entero de dias: Si\n");
dias = (int) segundos/(3600*24);
horas = (segundos - (int) dias *3600*24)/3600;
minutos = (segundos -(int) dias *3600*24 - (int) horas*3600)/60;
segundos = segundos -(int) dias *3600*24 - (int) horas*3600- (int) minutos*60;
printf("\nNumero de dias: %g \n",dias);
printf("Numero de horas: %g \n",horas);
printf("Numero de minutos: %g \n",minutos);
printf("Numero de segundos: %llu \n",segundos);
getchar();
return 0;
}
#include <iostream>
using namespace std;
int main()
{
long num,cont=0;
cout << "Numeros de Fibonacci:" << " 1 ";
long f0=0,f1=1;
while (cont<29)
{
long f2 = f0 + f1;
cout << ", " << f2;
f0 = f1;
f1 = f2;
cont++;
}
}
Cita de: BatchianoISpyxolo en 26 Octubre 2012, 22:22 PM
Código modificado.
PD: cuidado con recoger valores numéricos por teclado
#include <iostream>
#include <iomanip>
using namespace std;
int cont=0;
int dibuja (int a);
int main()
{
int a,cont =0;
cout << "Introduce un numero IMPAR: "<<endl;
cin >> a;
dibuja (a);
return 0;
}
int dibuja (int a)
{
if (a==0) return 1;
for (int i=1;i<=a;i++)
cout<<i<<" " ;
cout <<endl << setw(cont) << " ";
if (a<=3 )
{cont ++;dibuja (a-1);}
else
{cont+=2;dibuja (a-2);}
}
Cita de: BatchianoISpyxolo en 26 Octubre 2012, 15:45 PMCorrige algo porque sólo me sale " 1 ". No veo la sentencia - scanf- que permita entrar el tamaño de la figura. Supongo que estoy torpe, pero no me "cuadra" el código sin un scanf o un tamaño predeterminado. Perdona las observaciones. ¿O lo entras por el terminal?. Sí, eso es de ahí la conversión atoi. OK. Aclarado. Basta cambiar
Opino lo mismo que tú
PD: ya modifiqué el código para que sea exactamente la figura que se pide.
figura(atoi(argv[1]));
por
int num;
printf ("Entre un numero IMPAR:");
scanf ("%d",&num);
figura(num);
Cita de: BatchianoISpyxolo en 26 Octubre 2012, 15:23 PMLo haría con el código de cypascal, pero el tuyo es demasiado "denso": realmente has sacado la artillería pesada: strcpy, strcat, malloc ....
...y si quieres generar la misma figura que la tuya solo le tienes que poner una condición para que genere correctamente las dos últimas filas.
Cita de: Ander123 en 26 Octubre 2012, 15:04 PM
Pero no lo deberia incrementar en 3 porque hay 3 i++ , por lo tanto deberia quedar
aux =2,i=2
aux=2, i=3
o esos i++ no incrementan?
bueno dejemoalo, eate programa aun es demasiado dificil.
CitarAl primer " i "sólo le afecta el incremento de la condición, de ahí que valga aux=1, los siguientes ya pasan por los tres incrementos de ahí que aux pase a valer 4 ,7 ,10 ,13 ,...
Cita de: Ander123 en 26 Octubre 2012, 12:54 PM
pero no entiendo bien como funciona
CitarTe dejo esté rollo que es la descripción del proceso:
si entras la cadena asdf :
for_1: i empieza en cero y la condición frase[++i]
lo incrementa, por lo que pasa q valer 1=aux
for_2: aux=1 e i desde cero a uno
1 0....1 1
for_1: i que valía 1 se incrementa en la condición
del for_2, la condición de frase[++i] y en el
propio for_1 con lo que toma el valor 4=aux
for_2:aux= 4 e i desde cero a 4:
4 0 ...41....4 2...4 3...4 4
for_1: i que valía 4 se incrementa en la condición
del for_2, la condición de frase[++i] y en el
propio for_1 con lo que toma el valor 7=aux
for_2:aux= 7 e i desde cero a 7:
7 0..7 1...........7 7
for_1: i que valía 7 se incrementa en la condición
del for_2, la condición de frase[++i] y en el
propio for_1 con lo que toma el valor 10=aux
for_2:aux= 10 e i desde cero a 10:
10 0..10 1..10 2.........10 10
Y como la cadena era "asdf" produce sólo
cuatro ciclos:aux=1,4,7,10
Si entras una cadena más larga habrán más ciclos,
por ejemplo el siguiente sería:
for_1 : i que valía 10 se incrementa en la condición
del for_2, la condición de frase[++i] y en el
propio for_1 con lo que toma el valor 13=aux
for_2:aux= 13 e i desde cero a 13:
13 0..13 1..13 2........13 13