elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Apuntadores, calcular cuantas vocales, consonantes y letras tiene un texto.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Apuntadores, calcular cuantas vocales, consonantes y letras tiene un texto.  (Leído 8,657 veces)
Alex Seahorse

Desconectado Desconectado

Mensajes: 5


Yo solo se que no se nada.


Ver Perfil WWW
Apuntadores, calcular cuantas vocales, consonantes y letras tiene un texto.
« en: 19 Abril 2012, 19:27 pm »

Hola de nuevo amigos del foro, bueno ahora vengo con este pequeño problema que me ha surgido, ya que el pasado tema de arreglos fue todo un éxito, me gustaría saber como se puede hacer dicho programa pero usando apuntadores en Dev.

De antemano se los agradecería mucho y pues les dejo mi código normal, para que más o menos se den una idea de lo que estoy buscando.

#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
    char c='l',texto[200];
    int x=0, cont_voc=0, cont_cons=0, cont_pal=0, cont_car=0,a=0,e=0,i=0,o=0,u=0;
    while(c!='.')
    {
          c=getchar();
          texto
=c;
          x++;
         
          if(c==' '||c=='.')
          cont_pal = cont_pal +1;
          if(c=='a'||c=='e'||c=='i'||c=='o'||c=='u'||c=='A'||c=='E'||c=='I'||c=='O'||c=='U')
          cont_voc = cont_voc +1;
          else
          cont_cons = cont_cons +1;
          switch(c)
          {
          case 'a':
          case 'A':
          a=a+1;
          break;
          case 'e':
          case 'E':
          e=e+1;
          break;
          case 'i':
          case 'I':
          i=i+1;
          break;
          case 'o':
          case 'O':
          o=o+1;
          break;
          case 'u':
          case 'U':
          u=u+1;
          break;                             
          }
    }
    cont_cons = cont_cons - cont_pal;
    texto
='\0';
    system("cls");
    printf("\n\n%s\n\n",texto);
    printf("TOTAL DE VOCALES: %d\n",cont_voc);
    printf("TOTAL DE CONSONANTES: %d\n",cont_cons);
    printf("TOTAL DE PALABRAS: %d\n\n\n",cont_pal);
    printf("TOTAL DE LETRAS A: %d\n",a);
    printf("TOTAL DE LETRAS E: %d\n",e);
    printf("TOTAL DE LETRAS I: %d\n",i);
    printf("TOTAL DE LETRAS O: %d\n",o);
    printf("TOTAL DE LETRAS U: %d\n",u);               
    system("PAUSE");
    return EXIT_SUCCESS;
}

Saludos.


En línea

Alex Seahorse

Desconectado Desconectado

Mensajes: 5


Yo solo se que no se nada.


Ver Perfil WWW
Re: Apuntadores, calcular cuantas vocales, consonantes y letras tiene un texto.
« Respuesta #1 en: 19 Abril 2012, 20:23 pm »

Más o menos me va quedando así:

#include <string.h>
#include <stdio.h>
#include <cstdlib>
#include <iostream>

using namespace std;

void inicio()

        {
         int ji=0, conti=0,i=0;
            int res=0,edad=0,filas=0;
         int a=0;
            int id_cont = 1;
            int respuesta=0;
            char nombres[50][20],nom[20];
            double peso;
           
         int ID[50];
            int fecha[50]={0};
            int estatura[50];
   
            do
            {
            system("cls");
                printf("Elija una opcion: \n\n");
                printf("1.- Altas\n");
                printf("2.- Bajas\n");
                printf("3.- Reporte Individual\n");
                printf("4.- Reporte General\n");
                printf("5.- Salir \n\n");
            scanf("%d",&a);
            int f = 0;
                switch (a)
                {
                    case 1:
                        for (ji = 0; ji <= 49; ji++)
                        {
                       
                        }
                        int b;
                        printf("Cuantos datos va a ingresar:? \n\n");
                        scanf("%d",&b);
                     
                        for(filas=0;filas<b;filas++)
                        {
                            system("cls");
                            printf("Introduzca el nombre:  %d  \n\n",filas+1);
                            scanf("%s",&nombres[filas]);
                            printf("Ano de nacimiento: \n\n");
                     scanf("%d",&fecha[filas]);
                            printf("Estatura en centimetros: \n\n");
                            scanf("%d",&estatura[filas]);
                            ID[filas] = id_cont;
                            id_cont++;
                           
                        }
                       
                  respuesta=1;
                  
                        break;
                       
                    case 2:
                  int id_eliminar;
                        printf("Que nombre desea eliminar? \n\n");
                  scanf("%d",&id_eliminar);
                        for (i = 0; i < 50; i++)
                        {
                           
                            if (ID == id_eliminar)
                            {
                                printf("Registro Eliminado \n\n");
                            }
                            else
                            {
                                ID[f] = ID;
                             
                                fecha[f] = fecha;
                                estatura[f] = estatura;
                                f++;
                            }
                        }
                  system("PAUSE");
                  respuesta=1;
                            break;
                           
                    case 3:                       
                        do
                        {
                            printf("Que nombre desea ver?");
                                int id_consulta=0;
                        scanf("%d",&id_consulta);
                                id_consulta = id_consulta - 1;
                                edad = 2012 - fecha[id_consulta];
                                double peso = ((estatura[id_consulta] - 100) * .90);
                                printf("ID\t Nombre\t Edad\t Año de Nacimiento\t Estatura\t peso\n");
                                printf("%d\t %s\t %d años\t %d\t\t %d\t\t %.2f\n", ID[id_consulta], nombres[id_consulta], edad, fecha[id_consulta], estatura[id_consulta], peso);
                                printf("Desea ver otro dato? (1)si (0)no\n");
                        scanf("%d",&res);
                        } while ( res == 1);
                        break;
                       
                    case 4:
                        int j,cont;
                        cont = 0;
                        for (j = 0; j <=49; j++)
                        {
                       
                     if (ID[j]>0)
                     {
                        cont++;
                     }
                     else
                     {
                     }
                        }
                       
                       printf("ID\t Nombre\t Edad\t Ano de nacimiento\t Estatura\t Peso\n");
                       
                        for (i = 0; i < cont;i++ )
                        {
                            edad = 2012 - fecha;
                            peso = ((estatura - 100) * .90);
                            printf("%d\t %s\t %d años\t %d\t\t %d\t\t %.2f\n",ID, nombres, edad, fecha, estatura, peso);

                        }
                       
                  system("PAUSE");
                  respuesta=1;
                        break;
                       
               case 5:
                  respuesta=0;
                  break;
                }   
            }
            while ( respuesta == 1);
        }
int main(int argc, char *argv[])
{
    inicio();
    system("PAUSE");
    return EXIT_SUCCESS;
}

Aunque en la opción 4 me sale basura...

Ya me bloquee...


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines