Foros del Web » Soporte técnico » Ayuda General »

programación en turbo c++

Estas en el tema de programación en turbo c++ en el foro de Ayuda General en Foros del Web. hola amigos... primero aclaro que soy nuevo en este foro.. y estoy realmente sorprendido de la brevedad con la cual aclaran las dudas de los ...
  #1 (permalink)  
Antiguo 01/11/2011, 15:45
 
Fecha de Ingreso: noviembre-2011
Ubicación: guerrero
Mensajes: 3
Antigüedad: 13 años
Puntos: 0
Pregunta programación en turbo c++

hola amigos... primero aclaro que soy nuevo en este foro.. y estoy realmente sorprendido de la brevedad con la cual aclaran las dudas de los usuarios...


yo tengo una duda...

estoy haciendo un programa en turbo c++

que cumpla con estas características:


que al introducir una palabra me diga, si es o no es, polindromica..

y que me diga cuantos caracteres tiene esa palabra ingresada......


que tenga un menu: ejemplo del menu..

1 - Introducir Palabra.
2 - Contar letras.
3 - ¿es palindroma?
S - Salir del programa.




ya eh estado trabajando en esto y confiezo que noc nada de programacion
y el programa creo yo que ya lo avance mucho....



pero me marca dos errores..... me pueden ayudar en esto.... aqui le muestro el codigo........



#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <string.h>
#include <stdlib.h>
#include <iostream.h>


int main()
{
int n,x,a=0,p=0,e=0;
char b = '0';
char palabra [40], palabra2[40];
int i,contador =0;
int opcion;

while ( e==0 )
{
clrscr();
printf("\t\tPrograma que indica si una palabra es polindromica.\n");
printf("\t\t************************************** *************\n\n");
printf("\t1] Escribir una palabra.\n");
printf("\t2] ¿Saber si es polindromica?\n");
printf("\t3] contar.\n");
printf("\t4] Salir.\n");
printf("\n\nOpción: ");
scanf("%i", &opcion);





switch(opcion)
{
case 1:
clrscr();
printf("\t ingrese una palabra: ");
gets(palabra);
n=strlen(palabra);
getchar();
system("cls");
break;

case 2:
for (int u=0;u<=n;u++)
{
if (palabra[u]==b)
u++;
palabra2[e]=palabra[u];
e++;
}
for (x=n-1;x>=0;x--)
printf("\n palabra : %c",palabra[x]);
x=0;
n=strlen(palabra2);
for (x=n-1;x>=0;x--)
{
if (palabra2[x]==palabra2[a])
p++;
a++;
}
if (p==n)
{

printf("\n palabra palindrome ");
}
else
{
printf ("\n palabra no palindrome ");
}
getch();
system("cls");

break;

case 3:
scanf("%[^\n]", palabra); // * Leemos la cadena con todo y espacios. Con esto evitamos el uso de la funcion gets.
for (i = 0; ;i++)
{
if(palabra[i] == '\0')
break; // Si llegamos al fin de cadena rompemos el ciclo
if(palabra[i] != ' ')
contador++; // Si es cualquier caracter distinto de espacio en blanco incrementamos el contador.
}
printf("cantidad de letras: %i\n", contador);
{
getch();
system("cls");
break;
case 4:
system("cls");
printf("\t comando confimado\n\n");
printf("\t******precioene una tecla********");
}

}
while(opcion!=4);
clrscr();
printf("\t\t#####PROCESO TERMINADO#####\n\n");
printf("\t\t****FIN****\n");
}
return 0;
}

y de antemano muchas gracias!!!
por la ayuda
  #2 (permalink)  
Antiguo 01/11/2011, 16:40
Avatar de Monimo  
Fecha de Ingreso: noviembre-2007
Ubicación: Mexico Df
Mensajes: 742
Antigüedad: 17 años
Puntos: 69
Respuesta: programación en turbo c++

Que errores te marca?
__________________
La verdad es que lo que no quisiera dejar de hacer nunca (a parte de comer) es programar
  #3 (permalink)  
Antiguo 02/11/2011, 01:48
 
Fecha de Ingreso: noviembre-2011
Ubicación: guerrero
Mensajes: 3
Antigüedad: 13 años
Puntos: 0
Respuesta: programación en turbo c++

me marca error en:

aqui me indica que el case 3: "pasa por la inicialización de una variable local en la función main () "
case 3:
scanf("%[^\n]", palabra); // * Leemos la cadena con todo y espacios. Con esto evitamos el uso de la funcion gets.
for (i = 0; ;i++)
{
if(palabra[i] == '\0')
break; // Si llegamos al fin de cadena rompemos el ciclo
if(palabra[i] != ' ')
contador++; // Si es cualquier caracter distinto de espacio en blanco incrementamos el contador.
}
printf("cantidad de letras: %i\n", contador);
{
getch();
system("cls");



y el otro error que me marca es en esta otra parte:

while(opcion!=4); aqui me indica que el código no tiene effet de la función main ();
clrscr();
printf("\t\t#####PROCESO TERMINADO#####\n\n");
printf("\t\t****FIN****\n");
}
return 0;
}
  #4 (permalink)  
Antiguo 02/11/2011, 09:19
Avatar de Monimo  
Fecha de Ingreso: noviembre-2007
Ubicación: Mexico Df
Mensajes: 742
Antigüedad: 17 años
Puntos: 69
Respuesta: programación en turbo c++

Cita:
Iniciado por chicoserio Ver Mensaje
me marca error en:

aqui me indica que el case 3: "pasa por la inicialización de una variable local en la función main () "
case 3:
scanf("%[^\n]", palabra); // * Leemos la cadena con todo y espacios. Con esto evitamos el uso de la funcion gets.
for (i = 0; ;i++)
{
if(palabra[i] == '\0')
break; // Si llegamos al fin de cadena rompemos el ciclo
if(palabra[i] != ' ')
contador++; // Si es cualquier caracter distinto de espacio en blanco incrementamos el contador.
}
printf("cantidad de letras: %i\n", contador);
{ *******ESTA LLAVE DONDE SE CIERRA????********
getch();
system("cls");

A simple vista, y no sé si sea por ahí por que tengo Windows 7 y no pude bajar el compilador :P pero esa llave dónde se cierra????
__________________
La verdad es que lo que no quisiera dejar de hacer nunca (a parte de comer) es programar
  #5 (permalink)  
Antiguo 03/11/2011, 00:25
 
Fecha de Ingreso: noviembre-2011
Ubicación: guerrero
Mensajes: 3
Antigüedad: 13 años
Puntos: 0
Respuesta: programación en turbo c++

hola de nuevo mira volvi a corregir el codigo


pero aun sigue salindo ese error en el case '3':


y ya es el unico error que me marca el otro ya se lo quite

aqui esta el codigo corregido:


#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <string.h>
#include <stdlib.h>
#include <iostream.h>


void main()
{
clrscr();
int n,x,a=0,p=0,e=0;
char b = ' ';
char palabra[100], *parte, palabra2[100]={0};
int lng,spc=0;
int opcion;

while (a==0)
{
clrscr();
printf("\t\tPrograma que indica si una palabra es polindromica.\n");
printf("\t\t************************************** *************\n\n");
printf("\t1] Escribir una palabra.\n");
printf("\t2] ¿Saber si es polindromica?\n");
printf("\t3] cantidad de caracteres\n");
printf("\t4] Salir.\n");
printf("\n\nOpción: ");
scanf("%i", &opcion);
switch(opcion)
{
case '1':
clrscr();

cout<<"\tIntroduce una frase: ";
gets(palabra);
n=strlen(palabra);
getch();
system("cls");
break;

case '2':
for (int u=0;u<=n;u++);
{
if (palabra[u]==b)
u++;
palabra2[e]=palabra[u];
e++;
}
for (x=n-1;x>=0;x--)
printf("\n palabra : %c",palabra[x]);
x=0;
n=strlen(palabra2);
for (x=n-1;x>=0;x--)
{
if (palabra2[x]==palabra2[a])
p++;
a++;
}
if (p==n)
{

printf("\n palabra palindrome ");
}
else
{
printf ("\n palabra no palindrome ");
}

getch();
system("cls");

break;

case '3':
clrscr();
{
cin.getline(palabra, 100, '\n');
parte=strtok(palabra," ");
strcat(palabra2,parte);
while((parte=strtok(NULL," ")) != NULL)
{
strcat(palabra2,parte);
spc++;
}
lng=strlen(palabra2);
cout<<"Tu frase tiene "<<lng<<" letras y "<<spc<<" espacios";
cin.get();
cin.get();
}
break;
case '4':
opcion=4;
printf("\t comando confimado\n\n");
printf("\t******precioene una tecla********");
break;

default:
{
printf("opcion Invalida");
getch();
}
}

}
getchar();
}
  #6 (permalink)  
Antiguo 03/11/2011, 12:09
Avatar de mackbeth  
Fecha de Ingreso: noviembre-2005
Mensajes: 370
Antigüedad: 19 años
Puntos: 10
Respuesta: programación en turbo c++

tus llaves están mal acomodadas,
case '3':
clrscr();
{ === esta llave que abre???====
cin.getline(palabra, 100, '\n');
parte=strtok(palabra," ");
strcat(palabra2,parte);
while((parte=strtok(NULL," ")) != NULL)
{
strcat(palabra2,parte);
spc++;
}
lng=strlen(palabra2);
cout<<"Tu frase tiene "<<lng<<" letras y "<<spc<<" espacios";
cin.get();
cin.get();
} === cierras aqui???==
break;

Esas llaves sobran, nuevohacker2011 y tú están en la misma clase verdad? recuerden cambiar sus códigos, sino los van a tronaaar...
__________________
«~MaGax3iNeMD~»

Etiquetas: turbo
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 18:02.