programacion en turbo c++

Iniciado por chicoserio, 3 Noviembre 2011, 01:28 AM

0 Miembros y 1 Visitante están viendo este tema.

chicoserio

hola amigo del foro.... Soy nuevo aqui... y ya comienzo a molestarles  :rolleyes:
soy estudiante en ing. civil primer semestre

y me encuentro con una materia que consiste en programar y pues la neta yo no se hacer nada de eso :-(

y mi maestro me dejo hacer un programa en turbo c++

que cumpla con estas características:

Código (cpp) [Seleccionar]
[color=green]hacer un programa que haga y contenga lo sieguiente:

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

y que me diga cuantas letras tiene esa palabra ingresada......[/color]



que tenga un menu: ejemplo del menu..

1 - Introducir Palabra.   (que pida el ingreso de una palabra)
2 - Contar letras.          (que cuente las letras de la palabra ingresada)
3 - ¿es palindroma?      (que diga si es o no es polindromo)
5 - Salir del programa. (que tenga una opcion salir )


APESAR de que nose nada de programar

hice este codigo pero nose copila por que tiene un error......

#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] contar.\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==b)
                    u++;
                   palabra2[e]=palabra;
                   e++;
                     }
                   for (x=n-1;x>=0;x--)
                   printf("\n palabra : %c",palabra
  • );
                       x=0;
                       n=strlen(palabra2);
                       for (x=n-1;x>=0;x--)
                       {
                       if (palabra2
  • ==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();
          }


    LE AGRADECERI SI ALGUIEN PUEDE CORREGUIR ESTE PROGRAMA O HACER EL PROGRAMA CORRETO!! ;-) ;-) ;-)

satu

Hola

Tienes algunos errores de concepto, deberías coger un buen libro y comenzar con él, además mezclas C con C++, utilizas conio (que está obsoleta), etc.

Puedes encontrar buenos libros aquí, además te vendrá bien leerte esto

Como al menos lo has intentado te lo resuelvo, pero no te acostumbres  :P

Código (cpp) [Seleccionar]

#include <cstring>
#include <iostream>

using namespace std;


bool palindroma(char *palabra, int inicio, int lon)
{
    if(palabra[inicio] != palabra[lon])
        return false;
    if(inicio < lon)
        return palindroma(palabra, inicio+1, lon-1);
    return true;
}


int main()
{
    int n = 0, opcion;
    char b = 'n';
    char palabra[100];

    memset(&palabra, 0x00, 100);

    while (b == 'n')
{
cout << "\n\n\t\tPrograma que indica si una palabra es polindroma.\n";
cout << "\t\t***************************************************\n\n";
cout << "\t1] Escribir una palabra\n";
cout << "\t2] Saber si es polindroma\n";
cout << "\t3] Contar\n";
cout << "\t4] Salir\n";
cout << "\n\n\tOpcion: ";
cin >> opcion;

switch(opcion)
{
            case 1:
                cout << "\n\tIntroduce una palabra: ";
                cin >> palabra;
                n=strlen(palabra);
                cout << "\n\tOK. Pulse una tecla para continuar...";
                while(cin.get() != '\n');
                cin.get();
                break;

            case 2:
                if(n != 0)
                    {
                    if(palindroma(palabra, 0, n-1))
                        cout << "\n\tLa palabra \"" << palabra << "\" es palindroma" << endl;
                    else
                        cout << "\n\tLa palabra \"" << palabra << "\" NO es palindroma" << endl;
                    }
                else
                    cout << "\n\tDebes introducir una palabra antes. Opcion 1 del menu" << endl;
                cout << "\n\tOK. Pulse una tecla para continuar...";
                while(cin.get() != '\n');
                cin.get();
                break;

            case 3:
                if(n != 0)
                    cout << "\n\tLa palabra \"" << palabra << "\" tiene " << n << " letras" << endl;
                else
                    cout << "\n\tDebes introducir una palabra antes. Opcion 1 del menu" << endl;
                cout << "\n\tOK. Pulse una tecla para continuar...";
                while(cin.get() != '\n');
                cin.get();
                break;

            case 4:
                cout << "\n\tHa selecionado salir, desea continuar? (s/n): ";
                cin >> b;
                break;

            default:
        cout << "\n\tOpcion incorrecta. Pulsa una tecla para continuar...";
                while(cin.get() != '\n');
                cin.get();
            }
        }
    cout << endl << endl << endl;
return 0;
}


Saludos
Breakbeat como forma de vida

chicoserio

gracias por esa gran ayuda!!  ;-)


ya descargue el libro para ponerme las pilas en programación