用c语言写一个简单的菜单程序 , 一个主函数至少四个子函数急求?。【拖裾庋?。分析:问题库(QAS)用外部的配置文件保存,每次运行前先载入库中已经建立的问题 。然后再进入操作选择 。完整代码如下:/*1.暂时不考虑汉字;2.可以用链表优化;3.将每一种操作封装成一个函数;*/#include#include#include#include////////////////////////////////////////////////////////////////////////////字符串最大长度#defineMAX_STR_LEN2048//题库上限#defineMAX_QAS_LEN1024//配置文件路径#defineQAS_FILE_PATH"d:\\qasconfig.txt"////////////////////////////////////////////////////////////////////////////问题结点typedefstructtagQASNode{charQuestion[MAX_STR_LEN];charAnswer[MAX_STR_LEN];doubleScore;boolIsAnswered;}QASNode;//问题库QASNode*g_QASLib[MAX_QAS_LEN];intg_QASIndex=0;////////////////////////////////////////////////////////////////////////////添加boolInsertToLib(char*pQuestion,char*pAnswer,doublescore){if(pQuestion==NULL||strcmp(pQuestion,"")==0||pAnswer==NULL)returnfalse;QASNode*pNewNode=(QASNode*)malloc(sizeof(QASNode));memset(pNewNode,0L,sizeof(QASNode));strcpy_s(pNewNode-Question,pQuestion);strcpy_s(pNewNode-Answer,pAnswer);pNewNode-Score=score;g_QASLib[g_QASIndex++]=pNewNode;returntrue;}//随机一个不重复的序号intGetQuestionIndex(){intretVal=-1;inttryCnt=0;while(tryCnt++IsAnswered){retVal=randVal;break;}}returnretVal;}//////////////////////////////////////////////////////////////////////////intmain(){//打开配置文件FILE*pStream=NULL;if(fopen_s(pStream,QAS_FILE_PATH,"a+")!=0){printf_s("Opentheconfigfilefailed.\n");return-1;}//加载已有的QASfseek(pStream,0L,SEEK_END);intfileSize=ftell(pStream);fseek(pStream,0L,SEEK_SET);while(!feof(pStream)fileSize){if(g_QASIndexQuestion);printf_s("Inputanswer:");chartempA[MAX_STR_LEN]={0};fflush(stdin);gets_s(tempA,MAX_STR_LEN);if(strcmp(tempA,g_QASLib[currentIndex]-Answer)==0){printf("Right!\n");totalSocore+=g_QASLib[currentIndex]-Score;g_QASLib[currentIndex]-IsAnswered=true;}else{printf("Wrong!\n");}}else{printf("你已经答对了所有的问题!\n");}}break;case2:{if(currentIndex!=-1){printf("Quest:%s\nScore=%.2f\n",g_QASLib[currentIndex]-Question,g_QASLib[currentIndex]-Score);}else{printf("请先选择\"回答问题\"!\n");}}break;case3:{//一次只添加一个问题if(g_QASIndexQuestion,g_QASLib[i]-Answer,g_QASLib[i]-Score);}}break;default:break;}}printf("\n");return0;}运行起来后先建立问题库!
用c语言制作一个简单的菜单程序,一个主函数四个子函数给你一个简单的菜单程序吧 。其中的子函数,填充成楼主所需即可 。
#include
/*子函数1*/
fun1() {
printf ("子函数1\n");
}
/*子函数2*/
fun2() {
printf ("子函数2\n");
}
/*子函数3*/
fun3() {
printf ("子函数3\n");
}
/*子函数4*/
fun4() {
printf ("子函数4\n");
}
int main(void) {
int key; /*命令编号*/
do {
system("cls"); /*清屏*/
/*打印菜单*/
printf ("======================================================\n");
【c语言4个子函数代码 c语言4个子函数代码表示】printf ("#\t功能详情\n");
printf ("------------------------------------------------------\n");
printf ("1\t功能1\n");
printf ("2\t功能2\n");
printf ("3\t功能3\n");
printf ("4\t功能4\n");
printf ("5\t退出\n");
printf ("======================================================\n");
printf ("\n");
printf("请输入命令编号以开启操作:");
/*输入命令编号*/
scanf("%d",key);
printf ("\n");
/*switch函数实现输入功能序号执行相应函数*/
switch (key) {
case 1: fun1(); break; /*子函数1*/
case 2: fun2(); break; /*子函数2*/
case 3: fun3(); break; /*子函数3*/
case 4: fun4(); break; /*子函数4*/
case 5: printf("程序结束!按任意键退出...\n\n"); break;
推荐阅读
- 直播手机买苹果还是华为,直播手机买苹果还是华为好
- oracle导出dump形式,oracle导出结果
- ChatGPT指什么,ChatGPT指什么?
- 封面直播海报素材,封面直播海报素材
- go语言实战pdf go语言实战epub
- 传播智客jquery,传播智客linux资源
- 现代战略游戏排名,现代战略游戏推荐
- word如何筛选,word如何筛选重复内容
- linux下载svn命令 linux svn安装包