#include <stdio.h>
#include <string.h>
#include <ctype.h>
char showmenu(void);
void eatline(void);
void show(void (* fp)(char *),char * str);
void ToUpper(char *);
void ToLower(char *);
void Transpose(char *);
void Dummy(char *);
int main(void){
char line[81];
char copy[81];
char choice;
void (*pfun)(char *);
puts("Enter a string(empty line to quit):");
while(gets(line)!=NULL&&line[0]!='\0'){
while((choice=showmenu())!='\n'){
switch(choice){
case 'u':pfun=ToUpper;break;
case 'l':pfun=ToLower;break;
case 't':pfun=Transpose;break;
case 'o':pfun=Dummy;break;
}
strcpy(copy,line);
show(pfun,copy);
}
puts("Enter a string (empty line to quit)");
}
puts("Bye!\n");
return 0;
}
char showmenu(void){
char ans;
puts("Enter menu choice:");
puts("u) uppercase l) lowercase");
puts("t) transposed case 0) original case");
puts("n) next string");
ans=getchar();
ans=tolower(ans);
eatline();
while(strchr("ulton",ans)==NULL){
puts("Please enter a u,l,t,o or n:");
ans=tolower(getchar());
eatline();
}
return ans;
}
void eatline(void){
while(getchar()!='\n'){
continue;
}
}
void ToUpper(char * str){
while(*str){
*str=toupper(*str);
str++;
}
}
void ToLower(char * str){
while(*str){
*str=tolower(*str);
str++;
}
}
void Transpose(char * str){
if(islower(*str)){
*str=toupper(*str);
}else if(isupper(*str)){
*str=tolower(*str);
}
str++;
}
void Dummy(char * str){
}
void show(void(* fp)(char *),char * str){
(*fp)(str);
puts(str);
}
C语言函数指针练习
原创
©著作权归作者所有:来自51CTO博客作者hackfreer的原创作品,请联系作者获取转载授权,否则将追究法律责任
上一篇:C语言枚举联练习
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
C语言指针的基本认识
C语言指针的基本认识
指针变量 指针类型 指针数组 -
C语言指针的使用和原理(超详细)
详细介绍C语言指针的使用和原理,简单易懂
指针变量 #include 数据 -
【C 语言练习】指向函数的指针
函数指针;
#include 赋值 -
C语言指针练习2
1.编写一个使指针交换两个数的值。#includevoid main(){ int num1=2,num2=5; int *ptr1,*ptr2; int
语言 c i++ #include 冒泡排序 -
C语言指针编程题练习
每个问题都有自己的挑战和考察点。这些问题将帮助你或任何其他学习者更好地理解和掌握C语言中的指针概念和应用。
c语言 开发语言 #include 数组 i++ -
【C语言】进阶指针Ⅵ 指针和数组练习。
【C语言】进阶指针Ⅵ 指针和数组练习。
数组 数组名 bc -
C语言---函数指针
函数指针详解
开发语言 c语言 函数指针 操作数 驱动程序 -
c语言指针函数
总之,C语言的指针函数是一种强大的工具,可以让你在程序的不同部分之间传递和操作数据。在这个例子中,create_array是一个指针函数,它返回一个指向
c语言 开发语言 指针函数 数组 内存空间 -
[C语言] 函数指针
函数指针
函数指针