Autor
|
Tema: Mostrar Digitos menores a 10 sin el cero (Leído 1,693 veces)
|
servicomdq
Desconectado
Mensajes: 2
|
Estimados, tengo un problema aver si alguno le paso. Estoy programando en C (y algunas Funciones minimas de C++) sobre una placa STM32f013 , que es parecida a una arduino, un poco mas potente y con pantalla tactil.
Tengo unos botones que suman o restan sobre una variable tipo int.
Cuando oprimo el boton , lo hace bien, cuando suma o resta, el tema esta en que cuando tengo 11 , le resto 1, y me muestra en pantalla 10, ok, uno menos y me aparece 90
si sumo o resto lo hace bien, lo que pasa es que el digito 0 no lo borra, queda cargado con cero, si le sumo uno vuelve a 10 bien.
el codigo seria algo asi :
Código:
int valor=0; char varPantalla[3];
valor=14;
void Bton_LCD_Dwn(u8 index){ if (index==1){ if(valor>=0){ valor=valor-1; strcpy(varPantalla,""); itoa(valor,varPantalla,10); } } }
Sinteticamente es eso, despues la rutina que dibuja la pantalla dibuja y muy bien un monton de otros datos y controles, solo esto es lo que me falta y no puedo hacer que cuando este en 10 , me quede en 9 y no en 90. Alguien me tira una soga? gracias
|
|
« Última modificación: 21 Mayo 2015, 18:46 pm por servicomdq »
|
En línea
|
|
|
|
crack81
Desconectado
Mensajes: 222
|
A mi me funciona bien no se cual es tu problema quiza necesitas especificar mejor tu pregunta para poder ayudarte saludos yo probe esto #include<stdio.h> #include <stdlib.h> #include <string.h> int valor=14; char varPantalla[3]; void Bton_LCD_Dwn(int index){ if (index==1){ if(valor>=0){ valor=valor-1; itoa(valor,varPantalla,10); } } } int main(){ Bton_LCD_Dwn(1); return 0; }
|
|
|
En línea
|
Si C/C++ es el padre de los lenguajes entonces ASM es dios.
|
|
|
servicomdq
Desconectado
Mensajes: 2
|
Gracias por tu respuesta.
El tema es que no puedo usar printf por que es una placa parecida a arduino, algo mas potente , el IDE es Keil .
Yo tomo desde el Array el valor, por eso lo convierto y cargo en la variable Antes de cargarla , vacio el Array, en todo el codigo lo hago muchas veces sin problemas. El problema es que el INT del valor , parece que quedara cuando esta con 2 digitos cargado con dos espacios y cuando le resto 1 , el valor es 9 , pero deja un 0 en el espacio, como si fuera un array
seguire buscando
Gracias de todos modos
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Evitar mostrar errores en mysql y en vez mostrar mensaje personalizado
Bases de Datos
|
Cioouw
|
3
|
11,927
|
26 Abril 2010, 16:25 pm
por Cioouw
|
|
|
Hash 8 digitos
Nivel Web
|
Kerber0
|
2
|
3,448
|
15 Julio 2010, 22:32 pm
por ~ Yoya ~
|
|
|
calculadora de 30 digitos
« 1 2 »
Programación C/C++
|
peterfly
|
19
|
15,708
|
2 Julio 2011, 01:22 am
por Nork
|
|
|
Movistar Fusión Cero : ADSL, llamadas y tarifa cero desde 34,9 euros al mes
Noticias
|
wolfbcn
|
0
|
2,731
|
22 Abril 2013, 13:40 pm
por wolfbcn
|
|
|
EE.UU.: Detienen a un monje por mostrar pornografía infantil a menores
Noticias
|
wolfbcn
|
0
|
1,226
|
7 Enero 2015, 18:07 pm
por wolfbcn
|
|