怎样用C语言编写菜单?

怎样用C语言编写菜单?,第1张

程序如下:

#include<stdio.h>

#include<string.h>

intMENU_Print(ints32QuerNum)

{

switch(s32QuerNum)

{

case1:

printf(\"您选择的题目如下:\")

printf(\"1、以下可以正确表示标识符的是:()\")

printf(\"A、Data,Double\")

printf(\"B、case,Big\")

printf(\"C、2011A,hi_ok\")

printf(\"D、_2011,year-month-data\")

break

case2:

printf(\"您选择的题目如下:\")

printf(\"2、以下运算符优先级最低的是:()\")

printf(\"A、?:\")

printf(\"B、++\")

printf(\"C、&&\")

printf(\"D、+=\")

break

case3:

printf(\"您选择的题目如下:\")

printf(\"2、以下选项中不能正确赋值的是:()\")

printf(\"A、chars[20]s=\"ABCDE\"\")

printf(\"B、chars[]=\"ABCDE\"\")

printf(\"C、chars[20]={\"ABCDE\"}\")

printf(\"D、chars[20]={'A','B','C'}\")

break

default:

break

}

return0

}

intmain()

{

ints32ChooseNum=0

while(1)

{

printf(\"题号范围为1-3,请输入题号:\")

scanf(\"%d

#include<stdio.h>

#include<stdlib.h>

#include<string.h>struct record

{

char xuehao[10]//学号

char name[20]//姓名

char sex[3]//性别

int ke1//数学

int ke2 //语文

int ke3//英语

int pin

}stu[50]

int k=1,n,mvoid readfile()

void seek()

void insert()

void del()

void save()

void menu()

void seek()

{int i,j,item,flag<br>char s1[20]<br>printf("------------------\n")<br>printf("1.按学号查询\n")<br>printf("2.退出本菜单\n")<br>printf("------------------\n")<br>while(1)<br>{ printf("请选择子菜单编号:")<br>scanf("%d",&item)<br>flag=0<br>switch(item)<br>{<br>case 1:<br>printf("请输入要查询的学生的学号:\n")<br>scanf("%s",s1)<br>for(i=0i<ni++)<br>if(strcmp(stu[i].xuehao,s1)==0)<br>{ flag=1<br>printf("该学生学号,姓名,性别,数学,语文,英语 分别为:\n")<br>printf("%s%s%s %d%d%d",stu[i].xuehao,stu[i].name,<br>stu[i].sex,stu[i].ke1,stu[i].ke2,stu[i].ke3)<br>}

if(flag==0)

printf("该学号不存在!\n")break

case 2:return

default:printf("请在1-2之间选择\n")

}

}

}

void insert()

{ int i=n,j,flag

printf("请输入待增加的学生数:\n")

scanf("%d",&m)

do

{ flag=1

while(flag)

{ flag=0

printf("请输入第 %d 个学生的学号:\n",i+1)

scanf("%s",stu[i].xuehao)

for(j=0j<ij++)

if(strcmp(stu[i].xuehao,stu[j].xuehao)==0)

{ printf("已有该学号,请检查后重新录入!\n")

flag=1

break

}

}

printf("请输入第 %d 个学生的姓名:",i+1)

scanf("%s",stu[i].name)

printf("\n请输入第 %d 个学生的性别:",i+1)

scanf("%s",stu[i].sex)

printf("\n请输入第 %d 个学生的数学成绩:",i+1)

scanf("%d",&stu[i].ke1)

printf("\n请输入第 %d 个学生的语文成绩:",i+1)

scanf("%d",&stu[i].ke2)

printf("\n请输入第 %d 个学生的英语成绩:",i+1)

scanf("%d",&stu[i].ke3)if(flag==0)

{ i=i

i++

}

}while(i<n+m)

n+=m

printf("录入完毕!\n\n")

}void del()

{ int i,j,flag=0

char s1[20]

printf("请输入要删除学生的学号:\n")

scanf("%s",s1)

for(i=0i<ni++)

if(strcmp(stu[i].xuehao,s1)==0)

{ flag=1

for(j=ij<n-1j++)

stu[j]=stu[j+1]

}

if(flag==0)

printf("该学号不存在!\n")

if(flag==1)

{ printf("删除成功,显示结果请选择菜单6\n")

n--

}

}

void readfile()

{

char buf[80],*p="student.dat"

FILE *fp

int i=0

if ((fp=fopen("student.dat","r"))==NULL)

{ printf("Open file %s error! Strike any key to exit!",p)

system("pause")

exit(0)

}

while(fscanf(fp,"%s%s%s%d%d%d",stu[i].xuehao,stu[i].name,

stu[i].sex,&stu[i].ke1,&stu[i].ke2,&stu[i].ke3)==6)

{ i++

i=i

}

fclose(fp)

n=i

printf("录入完毕!\n")

}void save()

{ int i,j,k,flag=0

FILE *fp

fp=fopen("student.dat","w")

for(i=0i<mi++)

{

fprintf(fp,"%s%s%d%d%d",stu[i].xuehao,stu[i].name,stu[i].sex,&stu[i].ke1,

&stu[i].ke2,&stu[i].ke3)

fclose(fp)

printf("已储存")

}

}

void paixu()

{

int i,j,k,t

for(i=0i<mi++)

{

stu[i].pin=(stu[i].ke1+stu[i].ke2+stu[i].ke3)/3

}

for(i=0i<=m-2i++)

{

k=i

for(j=i+1j<=m-1j++)

if(stu[j].pin<stu[k].pin)

k=j

if(k!=i)

{

t=stu[k].pin

stu[k].pin=stu[i].pin

stu[i].pin=t

}

}

for(i=0i<mi++)

{printf("第 %d 个学生的姓名%s:",i+1,stu[i].name)<br> printf("\n第 %d 个学生的性别:%s",i+1,stu[i].sex)<br> printf("\n第 %d 个学生的数学成绩:%d",i+1,stu[i].ke1)<br> printf("\n第 %d 个学生的语文成绩:%d",i+1,stu[i].ke2)<br> printf("\n第 %d 个学生的英语成绩:%d",i+1,stu[i].ke3)<br> printf("\n第 %d 个学生的平均成绩:%d",i+1,stu[i].pin)<br>}

}

void menu()

{ int nub

printf(" \n\n学生成绩管理系统\n\n")

printf("*****系统功能菜单*****\n")

printf("----------------------\n")

printf("1.输入学生信息\n")

printf("2.查询学生信息\n")

printf("3.按学号删除信息\n")

printf("4.读入学生信息\n")

printf("5.保存信息(要把修改保存到文件,退出程序前必须执行本项)\n")

printf("6.查询学生平均成绩信息\n")

printf("0.退出系统\n")

printf("----------------------\n")

printf("请选择菜单编号:")

scanf("%d",&nub)

switch(nub)

{

case 1:insert()break

case 2:seek()break

case 3:del()break

case 4:readfile()break

case 5:save()break

case 6:paixu()break

case 0:k=0break

default:printf("请在0-6之间选择\n")

}}

void main()

{

while(k)

menu()

}

//平均数是排序后,输出的,如果你不想直接输入,那就不要对每个学生进行选择排序了

#include "stdio.h"

#include "stdlib.h"

#include "dos.h"

#include "windows.h"

char choice1

void main()

{

void menue1()

printf("欢迎进入Ben的作业查询系统!")

menue1()

}

void menue1()

{

void choicemenue1()

printf("\n请按照以下列表选择您想要查看的章节:")

printf("\n编号\t章节\n 1\t第一章\n 2\t第二章\n")

printf("请输入编号进行选择:")

choicemenue1()

}

void choicemenue1()

{

choice1=getch()

switch(choice1)

{

void menuechapter1()

void menuechapter2()

void menue1()

case '1':menuechapter1()break

case '2':menuechapter2()break

default:printf("\n输入错误!请重新选择!\n"),menue1()

}}

void menuechapter1()

{

char choiceex

printf("\n您选择的是第%c章",choice1)

printf("\n现在请选择本章节的题目。")

printf("\n请按照以下列表选择题目:")

printf("\n编号\t题目编号\n1\t第1题\n2\t第2题\n")

printf("请选择:")

switch(choiceex=getch())

{

void c1_1()

void c1_2()

case '1':c1_1()break

case '2':c1_2()break

default:

printf("\n你个白痴!这也能选错!不让你重选了!")

printf("\n按任意键以退出!")

getch()

exit(0)

}

}

void menuechapter2()

{

char choiceex

printf("\n您选择的是第%c章",choice1)

printf("\n现在请选择本章节的题目。")

printf("\n请按照以下列表选择题目:")

printf("\n编号\t题目编号\n1\t第1题\n2\t第2题\n")

printf("\n请选择:")

switch(choiceex=getch())

{

void c2_1()

void c2_2()

case '1':c2_1()break

case '2':c2_2()break

default:

printf("\n你个白痴!这也能选错!不让你重选了!")

printf("\n按任意键以退出!")

getch()

exit(0)

}

}

void c1_1()

{

char howtorun

printf("现在请选择考察方式:")

printf("\n编号\t考察方式\n 1\t运行程序\n 2\t查看源代码\n 3\t返回主菜单\n 4\t退出程序\n")

printf("请选择:")

switch(howtorun=getch())

{

void runc1_1()

void menue1()

case '1':runc1_1()break

case '2':printf("\n"),system("type \\caidan\\chapter1\\c1_1.c"),printf("\n"),getch()break

case '3':menue1()break

case '4':exit(0)break

default:

printf("程序即将结束!哈哈哈……")

printf("按任意键以结束程序!")

getch()

exit(0)

}}

void c1_2()

{

printf("c1_2 is OK!")

}void c2_1()

{

printf("c2_1 is OK!")

}void c2_2()

{

printf("c2_2 is OK!")

}

void runc1_1()

{

int a,b,max

printf("\nPlease input two integer numbers:")

printf("a=?,b=?\n")

scanf("%d,%d",&a,&b)

max=a>b?a:b

printf("The max number is %d",max)

}

大概就是这样做的。。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11220505.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存