背景:一个门票费查询程序。收费规则如下
18岁及以下 | 19-60 | 61岁及以上 |
90元 | 180元 | 80元 |
下面展示代码
-
基础普通款
#include<stdio.h>
void menu()
{
printf("*************************************************************************\n");
printf("*************************欢迎登录门票费查询系统******************************\n");
printf("*************************************************************************\n");
printf("*********************** ^-^ *******************\n");
printf("*********************** @-@ *******************\n");
printf("*********************** 此处可以自行设计界面 *******************\n");
printf("*************************************************************************\n");
}
int money(int n)
{
int m;
if(n<=18)
m=90;
else if(n>=19&&n<=60)
m=180;
else
m=80;
return m;
}
main()
{
int age,pay;
menu();//调用menu函数
printf("请输入您的年龄");
scanf("%d",&age);//从键盘接受年龄存入变量age
pay=money(age);
printf("您的年龄段对应的门票费为:%d",pay);
}
tips:
1、编写C的程序中,多使用一点自定义函数然后在主程序中调用,使程序模块化,更明了。
2、menu部分的图形设计可以自行修改
这个程序是有一定的功能,但显然是没有什么健壮性的。
1⃣️它只能查询一次
2⃣️当你输入的东西不是正常的年龄,程序还是会运行。
针对这两个缺点,我们对程序进行一些改进
-
进阶款
#include<stdio.h>
void menu()
{
printf("*************************************************************************\n");
printf("*************************欢迎登录门票费查询系统******************************\n");
printf("*************************************************************************\n");
printf("*********************** ^-^ *******************\n");
printf("*********************** @-@ *******************\n");
printf("*********************** 此处可以自行设计界面 *******************\n");
printf("*************************************************************************\n");
}
int money(int n)
{
int m;
if(n<=18)
m=90;
else if(n>=19&&n<=60)
m=180;
else
m=80;
return m;
}
main()
{
int age,pay;
menu();//调用menu函数
while(1)
{
printf("请输入您的年龄(输入0退出):");
scanf("%d",&age);//从键盘接受年龄存入变量age
if(age>0&&age<120)
{
pay=money(age);
printf("您的年龄段对应的门票费为:%d\n",pay);
}
else if(age==0)
{
printf("欢迎下次使用,886!");
break;
}
else
printf("请输入正确的年龄\n");
}
}
tips:
1、显然,要想有无限次重复操作,常见的方法是用死循环,但一定要设置程序出口!此处死循环用的是while(1),很常见,需要记忆!
2、关于年龄是否正常这一点,设置分支的判断条件就好了
下一章节:简单算术刷题系统(附加章节2)
p.s.
小红书,知乎等平台搜索知识薪火站(或youzuos),也会上传相应笔记,感谢关注。
有建议欢迎提出!