Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: carlosbds4 en 2 Diciembre 2012, 16:25 pm



Título: porque no me coplia el programa lenguaje #C
Publicado por: carlosbds4 en 2 Diciembre 2012, 16:25 pm
Que tal estoy haciendo un programa que determine si una palabra o frase fue escrita en mayúscula, minúscula o mixta aqui tengo mis codigos pero tengo una falla que no se que paso si sera que me faltara una libreria o que porfavor ayuda se los agradezco :)

#include <stdio.h>
#include <conio.h>
#include <iostream>
#include <string.h>
#define EXIT_SUCCESS 0
#define mt 500
using namespace std;
char txt[mt];
int len , Uper = 0 , Lower = 0;
    int main(){
    cout << "Inserte su texto( 500 chrs ): " << endl;
    cin >> txt;
     
    len = strlen( txt );
     
    for ( int i = 0; i < len; i++ ){
        if ((txt >="a") && (txt <="z")) Lower++;
           else
        if ((txt >="A") && (txt <="Z")) Uper++;
        }
     
    if ( Uper == 0 && Lower > 0 && len > 0 ) cout << "Todas son minúsculas."; else
    if ( Uper > 0 && Lower == 0 && len > 0 ) cout << "Todas son mayúsculas."; else
    if ( Uper > 0 && Lower && len > 0) cout << "Es mixto."; else
    if ( len == 0 ) cout << "Su texto no tine chrs.";
     
    system( "pause > nul" );
     
    return EXIT_SUCCESS;
    }


Título: Re: porque no me coplia el programa lenguaje #C
Publicado por: avesudra en 2 Diciembre 2012, 16:40 pm
¿Puede ser esta?
Código
  1. #include <windows.h>

PD: No sabía que conio existiese para C#

¡Un saludo!


Título: Re: porque no me coplia el programa lenguaje #C
Publicado por: carlosbds4 en 2 Diciembre 2012, 17:03 pm
no el problema sigue :( uso devc y el codeblocks pero en ninguno copila


Título: Re: porque no me coplia el programa lenguaje #C
Publicado por: pMV2ere en 2 Diciembre 2012, 17:12 pm
yo hace poco hice un ejercicio de mayusculas y minusculas...

quiza podria ayudarte tratar los caracteres como numeros(cada letra tiene un numero asociado)

a..z=97..122
A..Z=65..90


Título: Re: porque no me coplia el programa lenguaje #C
Publicado por: rir3760 en 2 Diciembre 2012, 17:15 pm
no el problema sigue :( uso devc y el codeblocks pero en ninguno copila
Supongo el lenguaje utilizado es C++, ¿Correcto?

Deficiencias hay muchas. Errores importantes se encuentran en la sentencia condicional:
Código
  1. if ((txt >="a") && (txt <="z"))
  2.   Lower++;
  3. else if ((txt >="A") && (txt <="Z"))
  4.   Uper++;
  5.  
Ya que estas comparando direcciones de memoria, para solucionarlo la comparación debe ser entre caracteres indicando el indice en el array para el primer operando y usando caracteres literales para el segundo. De esta forma:
Código
  1. if (txt[i] >= 'a' && txt[i] <= 'z')
  2.   Lower++;
  3. else if (txt[i] >= 'A' && txt[i] <= 'Z')
  4.   Uper++;

Otros errores que se deben corregir: cambiar los encabezados por los correctos, eliminar la inclusion de conio ya que no la utilizas en tu programa, etc.

Un saludo