sumar numeros de 2 digitos declarados char
-
el tema es que me pidieron en clase un programa que me calcule una operacion la cual ingreso en una sola linea de codigo. para esto debo declarar un vector char deonde ingresar la operacion, cree un algoritmo donde evaluo primero los parentesis, luego las multiplicaciones y divisiones y por ultimo las sumas y restas.
mi problema es que cuando voy a evaluar una cuenta, si tengo por ejemplo 2*3 aplico una funcion mult que opera el nro antes del * y luego del *, pero si la cuenta a evaluar es 25*987 de la manera que yo lo tengo me haria 5*9 ya que el vector es char. como podria hacer para arreglar este tema?
si alguien tiene idea me chifla -
Creo q vas a tener q ir comprobando caracter por caracter hasta q los digitos sean distintos de 1,2,3,..,9,0 hay una funciones q te ayudan a eso. Mira esto:
Prueba y conversión de caracteres
Una biblioteca relacionada #includela cual contiene muchas funciones útiles para convertir y probar caracteres individuales.
Las funciones más comunes para revisar caracteres tienen los siguientes prototipos:
int isalnum(int c) -- Verdad si c es alfanumérico.
int isalpha(int c) -- Verdad si c es una letra.
int isascii(int c) -- Verdad si c es ASCII.
int iscntrl(int c) -- Verdad si c es un caracter de control.
int isdigit(int c) -- Verdad si c es un dígito decimal.
int isgraph(int c) -- Verdad si c es un caracter imprimible, exceptuando el espacio en blanco.
int islower(int c) -- Verdad si c es una letra minúscula.
int isprint(int c) -- Verdad si c es un caracter imprimible, incluyendo el espacio en blanco.
int ispunct(int c) -- Verdad si c es un signo de puntuación.
int isspace(int c) -- Verdad si c es un espacio
int isupper(int c) -- Verdad si c es una letra mayúscula.
int isxdigit(int c) -- Verdad si c es un dígito hexadecimal.
Las funciones para conversión de caracteres son:
int toascii(int c) -- Convierte c a ASCII o un unsigned char de 7 bits, borrando los bits altos.
int tolower(int c) -- Convierte la letra c a minúsculas, si es posible.
int toupper(int c) -- Convierte la letra c a mayúsculas, si es posible.
El uso de estas funciones es directo y por lo tanto, no se dan ejemplos.
Espero t sirva.
