Foros del Web » Programación para mayores de 30 ;) » C/C++ »

[SOLUCIONADO] Programa para sumar los numeros de una cadena

Estas en el tema de Programa para sumar los numeros de una cadena en el foro de C/C++ en Foros del Web. Usando funciones. Se desea tener una calculadora de sumas y restas, que reciba una cadena de caracteres para que contenganlos elementos que integran las operaciones ...
  #1 (permalink)  
Antiguo 27/02/2016, 15:43
EnriqueRocker
Invitado
 
Mensajes: n/a
Puntos:
Programa para sumar los numeros de una cadena

Usando funciones.
Se desea tener una calculadora de sumas y restas, que reciba una cadena de caracteres para que contenganlos elementos que integran las operaciones a realizar.Se tienen las siguientes restricciones:
1.La cadena introducida no debe ser mayor de 10 caracteres.
2.Solo se realizan sumas y restas
3.En caso de que el usuario introduzca otro operador (*, /, ó %), mandar un mensaje de “Error en sintaxis”; y volverá a pedir una nueva cadena.
4.La colocación del texto y resultado en el programa debe de estar bien distribuida en la pantalla.
5.El programa preguntará si desea introducir otra cadena a evaluar.
6.Mostrar el resultado enmarcadopor una guía de asteriscos, guiones, o caracteres
Esto es lo que llevo pero...no sale :/
#include<stdio.h>
#include<stdlib.h>
#include<iostream>
#include <string.h>
using namespace std;
char condiciones(string);
char condicion1(string);
int separacion(string);
int sumaoresta(string);

char cadena[9];
char comprobacion[9];
main(){
int opcion;
cout<<"1.-Realizar una operacion"<<endl;
cout<<"2.-Salir"<<endl;
cin>>opcion;
do{
cout<<"Ingrese una cadena"<<endl;
cin>>cadena;
condicion1(cadena);
condiciones(cadena);
separacion(cadena);
system("pause");
}while(opcion!=1);
}






char condicion1(string){
int a;
a=strlen(cadena);
if(a>10){
cout<<"La cadena es demasiado grande"<<endl;
return(main());
}
else{
condiciones(cadena);
}
}

char condiciones(string){
int i;
int tam;
char a='*';
char b='/';
char c='%';
int d,e,f;
for(i=0;i<10;i++){
if(cadena[i]==a){
cout<<"Error de sintaxis"<<endl;
return(main());
}
else if(cadena[i]==b){
cout<<"Error de sintaxis"<<endl;
return(main());
}
else if(cadena[i]==c){
cout<<"Error de sintaxis"<<endl;
return(main());
}
else{
separacion(cadena);
}
}
}

int separacion(string){
int i,a;
for(i=0;i<10;i++){
if(isdigit(cadena[i])){
a=atoi(cadena);
comprobacion[i]=a;

}
else{
comprobacion[i]=cadena[i];

}
}
sumaoresta(comprobacion);
}
int sumaoresta(string){
char a='+';
char b='-';
int i;
char suma=0;
for(i=0;i<10;i++){
if(comprobacion[i]==a){
i=i-2;
suma=suma+comprobacion[i];
cout<<""<<suma;
}

else if(comprobacion[i]==b){
i=i-1;
suma=suma-comprobacion[i];}
cout<<""<<suma;
}

}
  #2 (permalink)  
Antiguo 27/02/2016, 15:57
 
Fecha de Ingreso: octubre-2014
Ubicación: Madrid
Mensajes: 1.212
Antigüedad: 10 años, 1 mes
Puntos: 204
Respuesta: Programa para sumar los numeros de una cadena

No somos tus profesores. No tenemos ninguna necesidad de copiar tu código, compilarlo y probarlo para ver si funciona o no y pasarte un reporte de fallos.

Se supone que si recurres al foro es porque tu programa tiene algún problema... ¿Tan difícil es indicar qué problemas tiene?

Tienes que hacer lo posible porque la gente se interese por tu problema, ya que aquí nadie gana nada ayudándote salvo quizás algo de karma.

Un saludo.
__________________
La ayuda se paga con esfuerzo o con dinero. Si no estás dispuesto a esforzarte y quieres que te hagan los deberes pide presupuesto, al menos así ahorrarás tiempo.

Etiquetas: cadena, char, funcion, int, numeros, programa, string
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:43.