我是靠谱客的博主 酷炫御姐,最近开发中收集的这篇文章主要介绍c语言中通过指针menu,C语言函数指针练习,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

#include

#include

#include

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]!=''){

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语言中通过指针menu,C语言函数指针练习的全部内容,希望文章能够帮你解决c语言中通过指针menu,C语言函数指针练习所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(57)

评论列表共有 0 条评论

立即
投稿
返回
顶部