Título: ayuda con lenguaje c por favor! Publicado por: mariaorlando0922 en 8 Febrero 2013, 01:14 am al ejecutar el programa no me cambia las letras de mayusculas a minusculas o al reves. necesito ayuda. que tengo mal hecho?
#include <stdlib.h> #include <conio.h> #include <stdio.h> #include <ctype.h> void es_vocal(char *txt, int *v); void transforma (char *txt, int v,int caso ); main() { char texto[100], *txt, opc,t; int i=0, contt=0, cond=0,vocal; printf("Cargue un texto menor a 100 caracteres\n"); printf("control fin de datos\n"); while ((t=getchar())!=EOF) { texto[contt]=t; contt++; } texto[contt]='\0'; txt=texto; clrscr(); do { printf("\t\t menu de opciones\n"); printf("1-> CONSONANTES DE MINUSCULAS A MAYUSCULAS\n"); printf("2-> CONSONANTES DE MAYUSCULAS A MINUESCULAS\n"); printf("3-> SALIR\n"); opc=getch(); switch(opc) { case'1': while(i<contt) { if(isalpha(*txt)>0) { es_vocal(txt, &vocal); transforma(txt,vocal,1); } *txt++; i++; } // MUESTRA for(i=0;i<contt;i++) { putchar(texto); } break; case'2':while(i<contt) { if(isalpha(*txt)>0) { es_vocal(txt, &vocal); transforma(txt,vocal,2); } *txt++; i++; } // MUESTRA for(i=0;i<contt;i++) { putchar(texto); } break; case'3':cond=1; break; default:clrscr(); printf("Opcion incorrecta\nIngrese opcion\n"); break; } }while(cond!=1 && opc!=3); system("PAUSE"); return ; } void es_vocal(char *txt, int *v) { switch(*txt) { case'a': case'e': case'i': case'o': case'u': case'A': case'E': case'I': case'O': case'U': *v=1; break; default: *v=0; break; } } void transforma (char *txt, int v,int caso) { switch(caso) { case'1': if((v)==0) { if(isupper(*txt)<=0) { *txt=toupper(*txt); } else *txt=tolower(*txt); } break; case'2': if((v)==0) { if(isupper(*txt)>0) { *txt=tolower(*txt); } else *txt=toupper(*txt); } break; default: break; } return; } Título: Re: ayuda con lenguaje c por favor! Publicado por: rir3760 en 8 Febrero 2013, 01:58 am Lo primero que debes hacer es evitar el uso de la biblioteca conio de borland y cambiar la definición de la función main. Mas información en el tema |Lo que no hay que hacer en C/C++. Nivel basico| (http://foro.elhacker.net/programacion_cc/lo_que_no_hay_que_hacer_en_cc_nivel_basico-t277729.0.html).
Para ser honesto no lo revise a fondo pero un error importante se encuentra en la función "transforma", ahí los casos se indican con caracteres: Código Debes cambiarlo para que utilice enteros: Código Empieza con eso, seguro alguien mas lo revisa con calma. Un saludo Título: Re: ayuda con lenguaje c por favor! Publicado por: mariaorlando0922 en 11 Febrero 2013, 14:36 pm gracia!
|