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: Seazoux en 7 Abril 2013, 20:42 PMTopo
Tonto
PD: LOL
Cita de: rir3760 en 7 Abril 2013, 18:27 PMdesde luego por día me impresiona más lo que sabéis algunos por aquí.
Puedes evitarlo cambiando la llamada a scanf:printf("Selecciona una opcio:\n");
scanf("%c",&opcio);
Por:printf("Selecciona una opcio:\n");
scanf(" %c",&opcio);
Al utilizar " %c" el espacio le indica a la funcion que descarte todo espacio blanco, de forma similar a "%d", "%f", etc.
Un saludo
#include "IdObjeto.h"
#include "Includes.h"
#include "Includes.h"
#include "Bounding.h"
#include "Includes.h"
#pragma once
#include "Pj.h"
#include "Bounding.h"
#include "Pj.h"
#include "idObjeto.h"
Cita de: 85 en 7 Abril 2013, 16:41 PMTe respondo por kayron8 si no te importa.Es Catalán, se habla en Cataluña, comunidad autónoma de España y cuya capital es Barcelona.(la zona resaltada es la comunidad autónoma). Si eres Argentino o del otro lado del charco como aquí decimos, creo que es algo normal que no lo conozcas, a no ser que seas culé(aficionado al F.C Barcelona).
qué citón que se mandó XD, por cierto que idioma es ese de kayron8, parece español pero no precisamente..
Saludos
Cita de: dato000 en 27 Marzo 2013, 22:03 PMEs como si se lo hubiese traducido Google Traductor
yo pense lo mismo, este tipo habla como al revés y como invertido dentro de un enigma rodeado de plutonio en un campo minado, seguro no se entiende ni el mismo
operacion(n1, n2, oper, *resul, *error);
operacion(num1,num2,&result,&error);
return n1*factorial(n1-1);
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
//PROTOTIPS
void operacion(int n1, int n2, char oper, float *resul, int *error);
float fact(float n1);
//BLOC PRINCIPAL
int main()
{
char opcio;
int num1 = 0,num2 = 0,error;
float result = 0;
//Demanem 2 numeros a l'usuari
printf("Introdueix el primer numero:\n");
scanf("%d",&num1);
printf("Introdueix el segon numero:\n");
scanf("%d",&num2);
/*Limpio stdin (el buffer de entrada) porque a mí no me funciona...
*Las llaves son para marcar bloques,así la variable c no existirá despues de ese bloque.
*/
{
char c = 5;
while( (c != EOF) && c != '\n')
{
c = getchar();
}
}
//Mostrem el menú
do
{
printf("+ --> SUMAR\n");
printf("- --> RESTAR\n");
printf("* --> MULTIPLICAR\n");
printf("/ --> DIVIDIR\n");
printf("^ --> POTENCIA\n");
printf("! --> FACTORIAL\n");
printf("s --> SALIR\n");
//Usuari tria una opció
printf("Selecciona una opcio:\n");
scanf("%c",&opcio);
//Cridem el procediment
operacion(num1, num2, opcio, &result, &error);
printf("%f\n",result);
/* Esto tampoco me funciona a mí y tengo que poner dos getchar o limpiar el buffer de nuevo.*/
{
char c = 5;
while( (c != EOF) && c != '\n')
{
c = getchar();
}
}
getchar();
system("cls");// "clear" en linux...
//Condició de sortida de while
}
while(opcio!='s');
system("pause");
return 0;
}
//PROCEDIMENT
void operacion(int n1, int n2, char oper, float *resul, int *error)
{
*error=1;
switch(oper)
{
case '+':
*resul=n1+n2;
break;
case '-':
*resul=n1-n2;
break;
case '*':
*resul=n1*n2;
break;
case '/':
if(n2==0)*error=-1;
else *resul=n1/n2;
break;
case '^':
*resul=pow(n1,n2);
break;
case '!':
if(n1==0 || n2==0)*error=-1;
else
printf("El factorial de n1 es: %lf\n",fact(n1));
printf("\n");
break;
case 's':
system("exit");
break;
default:
printf("No has escollit una opcio correcta\n");
}
}
//FUNCIÓ
float fact(float n1)
{
if(n1==0 || n1==1)
return 1;
else
return n1*fact(n1-1);
}
int miFuncion(int miParametro1,int miParametro2);
valorDeRetorno = miFuncion(1,2);
valorDeRetorno = miFuncion(num1,num2);
#include <stdio.h>
/*
* Se copian los valores en direcciones de memoria distintas.
* @param[in] miParametro1 Valor de una variable.
* @param[in] miParametro2 Valor de otra variable.
* @return Multiplicación de miParámetro1 por miParametro2.
*/
int miFuncionNormal(int miParametro1,int miParametro2);
/*
* Se pasan las direcciones a esos valores.
* @param[in] miParametro1 Dirección de variable.
* @param[in] miParametro2 Dirección de otra variable.
* @return Multiplicación de miParámetro1 por miParametro2.
*/
int miFuncionPorReferencia (int * miParametro1,int * miParametro2);
/*
* Las variables de los parámetros asumen la dirección de la variables pasadas.
* @param[in] miParametro1 Variable.
* @param[in] miParametro2 Variable.
* @return Multiplicación de miParámetro1 por miParametro2.
*/
int miFuncionPorReferencia2(int &miParametro1,int &miParametro2);
int main(int argc, char *argv[])
{
int miNumero1 = 1;
int miNumero2 = 2;
printf("Direccion de memoria de miNumero1: \t 0x%X \t Valor: %d\n",&miNumero1,miNumero1);
printf("Direccion de memoria de miNumero2: \t 0x%X \t Valor: %d\n",&miNumero2,miNumero2);
/*
* Pasamos los valores.
*/
miFuncionNormal(miNumero1,miNumero2);
/*
* Pasamos las direcciones de memoria.
*/
miFuncionPorReferencia(&miNumero1,&miNumero2);
/*
* Pasamos las direcciones de memoria y se les hace el cast.
*/
miFuncionPorReferencia2(miNumero1,miNumero2);
return 0;
}
int miFuncionNormal(int miParametro1, int miParametro2)
{
printf("\n\nDireccion de memoria de miParametro1: 0x%X \t Valor: %d\n",&miParametro1,miParametro1);
printf("Direccion de memoria de miParametro2: 0x%X \t Valor: %d\n",&miParametro2,miParametro2);
printf("Direcciones de memoria diferentes a las de miNumero, pero valores iguales.\n\n");
return miParametro1 * miParametro2;
}
int miFuncionPorReferencia (int * miParametro1,int * miParametro2)
{
printf("Direccion de memoria de miParametro1: 0x%X \t Valor: %d\n",miParametro1,*miParametro1);
printf("Direccion de memoria de miParametro2: 0x%X \t Valor: %d\n",miParametro2,*miParametro2);
printf("Direcciones de memoria iguales a las de miNumero, accediendo a los mismos valores obviamente.\n\n");
/*
* Accediendo a los valores de las direcciones de memoria con el operador '*'.
*/
return *miParametro1 * *miParametro2;
}
int miFuncionPorReferencia2(int &miParametro1,int &miParametro2)
{
printf("\n\nDireccion de memoria de miParametro1: 0x%X \t Valor: %d\n",&miParametro1,miParametro1);
printf("Direccion de memoria de miParametro2: 0x%X \t Valor: %d\n",&miParametro2,miParametro2);
printf("Direcciones de memoria diferentes a las de miNumero, pero valores iguales.\n\n");
return miParametro1 * miParametro2;
}
Direccion de memoria de miNumero1: 0x1A9CBD38 Valor: 1
Direccion de memoria de miNumero2: 0x1A9CBD3C Valor: 2
Direccion de memoria de miParametro1: 0x1A9CBD0C Valor: 1
Direccion de memoria de miParametro2: 0x1A9CBD08 Valor: 2
Direcciones de memoria diferentes a las de miNumero, pero valores iguales.
Direccion de memoria de miParametro1: 0x1A9CBD38 Valor: 1
Direccion de memoria de miParametro2: 0x1A9CBD3C Valor: 2
Direcciones de memoria iguales a las de miNumero, accediendo a los mismos valores obviamente.
Direccion de memoria de miParametro1: 0x1A9CBD38 Valor: 1
Direccion de memoria de miParametro2: 0x1A9CBD3C Valor: 2
Direcciones de memoria diferentes a las de miNumero, pero valores iguales.