用c语言写一个简单的菜单程序,一个主函数至少四个子函数急求!!就像这样的。

kuaidi.ping-jia.net  作者:佚名   更新日期:2024-07-04
用c语言制作一个简单的菜单程序,一个主函数四个子函数

给你一个简单的菜单程序吧。其中的子函数,填充成楼主所需即可。
#include /*子函数1*/fun1() {printf ("子函数1
");}/*子函数2*/fun2() {printf ("子函数2
");}/*子函数3*/fun3() {printf ("子函数3
");}/*子函数4*/fun4() {printf ("子函数4
");}int main(void) {int key; /*命令编号*/do {system("cls"); /*清屏*//*打印菜单*/printf ("======================================================
");printf (" #功能详情
");printf ("------------------------------------------------------
");printf (" 1功能1
");printf (" 2功能2
");printf (" 3功能3
");printf (" 4功能4
");printf (" 5退出
");printf ("======================================================
");printf ("
");printf("请输入命令编号以开启操作:");/*输入命令编号*/scanf("%d",&key); printf ("
");/*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("程序结束!按任意键退出...

"); break; default:printf("输入错误,请重新输入!

"); break;}/*屏幕暂留*/if (key!=5) {printf ("
");printf("按Enter键继续...
");printf ("
");fflush(stdin);getch ();}} while (key!=5);/*屏幕暂留*/fflush(stdin);getch (); return 0;}运行结果



一、//调用函数事例
#include
#include
二、//计算加法函数
int add(int a, int b)
{
return a+b;
}
三、//计算减法函数
int subtract(int a, int b)
{
return a-b;
}
四、//计算乘法函数
int multiply(int a, int b)
{
return a*b;
}

扩展资料:
函数作为另一个函数调用的实际参数出现。这种情况是把该函数的返回值作为实参进行传送,因此要求该函数必须是有返回值的。例如: printf("%d",max(x,y)); 即是把max调用的返回值又作为printf函数的实参来使用的。在函数调用中还应该注意的一个问题是求值顺序的问题。
参考资料来源:百度百科-函数调用

分析:问题库(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;}运行起来后先建立问题库!

#include<stdio.h>
#define N 10
struct SSTUDENT { char name[20]; float score; };
int mMenu()
{ int rt=0;
char str[80];
  printf("

*********************

");
printf("  选择菜单
");
printf("------------
");
printf(" 1.输入成绩
 2.排序输出
 3.不及格列表
 0.退出
");
printf("请输入功能项前的数字:"); scanf("%s",str);
if ( str[0]>='0' && str[0]<='3' ) rt=str[0]-'0';
return rt;
}
int mInputScore(SSTUDENT *mStu,int n)
{ int i;
printf("
请顺序输入学生姓名和成绩(用空格分开):
"); 
for ( i=0;i<n;i++ ) { printf("%d) ",i+1); scanf("%s %f",mStu[i].name,&mStu[i].score); }
return n;
}
void mSort(SSTUDENT *mStu,int n)
{ int i,j,k,index[N];
  if ( n>0 && n<=N )

for ( i=0;i<n;i++ ) index[i]=i;
for ( i=0;i<n-1;i++ )
for ( j=i+1;j<n;j++ )
if ( mStu[index[i]].score<mStu[index[j]].score )
{ k=index[i]; index[i]=index[j]; index[j]=k; }
printf("
成绩统计列表:
");
for ( i=0;i<n;i++ ) printf("%s%.1f
",mStu[index[i]].name,mStu[index[i]].score);
}
}
void mEList(SSTUDENT *mStu,int n)
{ int i;
if ( n>0 && n<=N )
{ printf("
不及格学生名单:
");
for ( i=0;i<n;i++ ) if ( mStu[i].score<60 ) printf("%s
",mStu[i].name);
}
}
void main()
{
int loop=1,s,n;
SSTUDENT mStu[N];
n=0;
while ( loop )
{ s=mMenu();
switch ( s )
{
case 0: loop=0; break;
case 1: n=mInputScore(mStu,N); break;
case 2: mSort(mStu,n); break;
case 3: mEList(mStu,n); break;
default: break;
}
}
}


1 函数sum应该定义在main之外. 2 参数类型应写在sum的括号里面. 而不是函数内部. 3 调用sum时, 应先声明. 4 调用sum参数应为x,y 而不是x+y 5 x y应先赋值或输入. 修正 void main(){ int x=1,y=2; int sum(int a, int b); printf("%d\n", sum(x,y...

#includemain(){printf{"111+222=%d",111+222);getch();}

嗯嗯 简单程序 4个子函数 我能实现

  • 怎样用C语言编写菜单
    答:直接通过不断刷新输出来模拟菜单行为。例程:include <stdio.h>#include <stdlib.h> #include <string.h>int n,t,k;int m;char s1[20],s2[20],c;char **l;char *num[]={"one","two","three","four","five","six","seven","eight","nine","ten"};void menu(){ printf("\n...
  • c语言用switch语句实现菜单程序
    答:int count(a,b,sign){ int num;switch (sign) { case '+':num=(a+b);break;case '-':num=(a-b);break;case '*':num=(a*b);break;case '/':num=a/b;break;default:break;} return num;} int main(void){ char sign;int ch,a,b,num;// double num;printf("1. a,b...
  • C语言 菜单选择的程序怎么做 (用switch 语句)
    答:printf("请输入三个判断的数字:");scanf("%d %d %d",&n,&m,&k);max=n;if(max<m)max=m;if(max<k)max=k;printf("最大的数为:%d\n",max);} void do3(){ int i,n,m=1;printf("请输入要求的数字:");scanf("%d",&n);for(i=1;i<=n;i++)m*=i;printf("%d的阶乘是%d...
  • 设计一个c语言程序 据要求设计菜单程序 好的话可以追加哦
    答:printf("输入一个整数(-1 结束):");while(scanf("%d",&x) == 1 && x != -1) {p->next = (pNode)malloc(sizeof(struct node));p->next->data = x;p = p->next;printf("输入一个整数(-1 结束):");}p->next= NULL;}void AppendNode(LinkList head, int x) {pNode p ...
  • 编写一个C语言程序,显示如下菜单并实现相应的菜单选择功能
    答:main();/*这里是简单的调用主函数来返回初始选择列表,还有其他方法实现*/ } lifanggen(n){ double val=n;double time=0.333333333333333;/*这里为近似的1/3的值,因为要求 一个数字的立方根需要用到求立方根的算法,这里为求省事没有给出 ,百度里边可以搜到*/ printf("%lf\n\n\n",pow(val...
  • c语言:编写一个菜单调用程序,调用前边编写的4个小程序
    答:void chengxu2(){printf("chengxu2\n");};void chengxu3(){printf("chengxu3\n");};void chengxu4(){printf("chengxu4\n");};void display(){ printf("输入1,2,3,4选择菜单\n");printf("___\n");printf("1:chengxu1\n");printf("2:chengxu2\n");printf("3:chengxu3...
  • 跪求c语言大神!一个简单的菜单制作
    答:include <stdio.h>struct mi{ char menuItem[20]; float menuPrize;};struct mi menuList[3]={ {"Egg",1}, {"Rice",5}, {"Nuddle",6}};void order()//定菜 算帐单 { int i[3],j,k; double sum=0; double texafter; printf("\nyou could choose ...
  • c语言编写菜单程序
    答:/*画图做菜单*/ cleardevice();switch(choice){ case 1: setlinestyle(0,0,3);rectangle(170,115,400,145);settextstyle(3,0,3);outtextxy(140,120,"A. The Mock Clock.");settextstyle(3,0,3);outtextxy(140,150,"B. The Digital Clock.");outtextxy(140,180,"C. Exit.");break;...
  • C语言编程做一个简单的菜单
    答:include <stdio.h>#include <stdlib.h>void menu() //菜单绘制{ printf("---\n"); printf("\t\t 0.退出\n"); printf("\t\t 1.录入信息\n"); printf("\t\t 2.查找信息\n"); printf("\t\t 3.删除信息\n"); printf("\t\t 4.浏览信息\n"); pr...
  • c语言设计菜单程序的结构体(只是最简单的菜单)(c语言菜单选择程序设计...
    答:实现步骤:1,在LV的编辑菜单中选择‘运行时菜单’菜单 2,在出现的对话框中选择菜单类型为自定义,然后编辑自己的菜单 3,在程序框图中中添加事件结构,选择添加结构,事件类型为:本VI-菜单选择(用户)4,编辑条件结构处理各个菜单标识符对应的事件 ...