
Gracias. El_nuevo_HH, Littlehorse.
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ú
class numeros
{
private:
int numero;
public:
numeros(int numeros);
};
Main:
;Mostrar mensaje 'Presione una tecla para continuar . . . '
ORG 100H
MOV AH, 09H
MOV EDX, MesG
INT 21H
;Leer caracter
MOV AH, 08H
INT 21H
INT 20H
Datos:
MesG DB "Presione una tecla para continuar . . . ", 24H
using System;
class Programa
{
public static void Main()
{
int iNumero;
Console.WriteLine("Ingrese un numero");
iNumero = int.Parse(Console.ReadLine());
for (int iCount = iNumero - 1 ; iCount > 0 ; iCount--)
{
iNumero = iNumero * iCount;
}
Console.WriteLine("Factorial: " + iNumero);
if(IsPrime(iNumero))
{
Console.WriteLine("Es Primo");
}
Console.ReadKey(true);
}
// Funcion IsPrime sacada de http://carlossharp.blogspot.com/2009/01/determinar-si-un-nmero-es-primo-c-vb.html
static public bool IsPrime(int Number)
{
bool _divisible = false;
if (Number < 2) return false;
for (int i = 2; i <= Number - 1; i++)
{
if ((Number % i == 0)) _divisible = true;
}
return (!_divisible);
}
}
//************************************************************************************
Cita de: YST en 31 Mayo 2009, 03:42 AMMe sigue saltando Avira
No es extraño , salta por el PE independiente de que este hecho en FASM.
prueba poniendo :
section '.reloc' fixups data discardable
al final del archivo
Cita de: Jorgitoh en 31 Mayo 2009, 03:57 AMTienes razon, ademas el codigo esta totalmente lleno de cosas inesezarias, por ejemplo los else's de esta parte:
Ahora que lo veo de vuelta, con ayuda del comentario de arriba veo que falta lo fundamental del switch. Fijate que estas pidiendo que ingrese una categoria, pero luego esa categoria nunca la levantas. Ademas no se entiende muy bien el significado del proc frente a la categoria, ya que si levantas la categoria con el ReadLine para que vas a hacer un switch con el proc si podes hacerlo directamente con la categoria.
Fijate de agregar el ReadLine que te falta para luego realizar el switch. El error de arriba tambien es valido.
Saludos.
if (categoria == 1)
{
sb = 100;
}
else
{
}
break;
case "b":
if (categoria == 2)
{
sb = 200;
}
else
{
}
for (int cont = 1; cont <= n; cont++)
Console.WriteLine("El salario :");
sal = (sb / 30) * nt;
Console.WriteLine("El fondo de pensiones:");
fp = sal * 0.03;
Console.WriteLine("La eps: ");
eps = sal * 0.05;
Console.WriteLine("El subsidio de transporte:");
if (categoria < 2)
{
st = 50;
}
else
{
st = 0;
}
Console.WriteLine("Los ingresos del empleado:");
ingresos = sal + st;
Console.WriteLine("Las deducciones son iguales a:");
deducciones = fp + eps;
Console.WriteLine("El sueldo es igual a:");
sueldo = ingresos - deducciones;
int categoria = 0, sb = 0;
string proc = "";
include 'include\win32ax.inc'
.data
Titulo db 'Hola Este es el titulo', 0
Texto db 'Hola este es el texto', 0
.code
start:
push 0
push Titulo
push Texto
push 0
call [MessageBoxA]
.end start
format pe gui 4.0
include 'win32a.inc'
push MB_OK
push titulo
push mensaje
push 0
call [MessageBox]
cmp eax,IDOK ;Comparamos si apretaron ok
JE apretook ; Si lo apretamos salatamos a apretook
jmp hubounfallo ;De lo contrario saltamos a hubounfallo
salir:
push 0
call [ExitProcess] ;Terminamos la aplicacion
apretook:
push MB_OK
push titulo
push correcto
push 0
call [MessageBox]
jmp salir
hubounfallo:
push MB_OK or MB_ICONWARNING ;Los tipos de mensaje
push titulo ;El titulo
push fallo ;Mensaje
push 0 ;Handle de la aplicacion en este caso lo ponemos nulo
call [MessageBox] ;LLamamos a MessageBox
jmp salir ;Saltamos a salir
;Posiciones que contienen los bytes a mostrar en pantalla
mensaje:db 'Esto es una MessageBox!!!',0
titulo:db 'Este es el titulo',0
correcto :db 'Apretaste ok',0
fallo:db 'La operacion fallo',0
data import ;Declaramos las api's
library user32,'user32.dll',\
kernel32,'kernel32.dll'
import user32,\
MessageBox,'MessageBoxA'
import kernel32,\
ExitProcess,'ExitProcess'
end data