Pregunta libreria <ctype.h>

Iniciado por Ja_90, 11 Octubre 2014, 01:16 AM

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

Ja_90

Buenas, tengo una pregunta sobre la libreria <ctype.h>
Esta libreria es estandar de C, ahora bien programando en C++.

quiero que ingresada una cadena de caracteres me cuente cuantos son mayusculas o minusculas o digitos o del alfabeto....en fin se como se hace pero la pregunta es que cuando lo hago no necesito usar la libreria <ctype.h>....por ejemplo:


Código (cpp) [Seleccionar]

/*Escribir un programa que cuente las mayusculas de una cadena de caracteres*/

#include <iostream>
using namespace std;

int main()
{
    string word;

    cout<<"Enter the word: ";
    cin>>word;

    int cont = 0;

    for(int i=0 ; i<word.length(); i++)
    {
       if(isupper(word[i])) // Si quiero ver las minusculas es con islower(word[i])
       {
           cont++;
       }
    }
    cout<<"\nThe word has: "<<cont<<"capital letters"endl;

    cin.get();cin.get();
    return 0;
}



El programa me compila y funciona perfecto....Entonces en c++ no necesito declarar esta libreria??...o en que casos debo declararla??

GRACIAS de antemano. Espero que alguien me pueda aclarar esto, para no estar usando librerias sin ser necesarias.  ;D ;D
:D  ::::Ja_90::::   :D

rir3760

En C++ (según el estándar C++98) cuando utilizas una función parte de la biblioteca estándar de C debes incluir el encabezado correspondiente (en tu caso <cctype>), si no lo haces el programa es "ill formed", en buen cristiano no hay garantías sobre su comportamiento (cualquier cosa puede pasar desde obtener los resultados esperados hasta el legendario BSOD).

Un saludo
C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language

Ja_90

Gracias por la aclaracion rir3760
:D  ::::Ja_90::::   :D