Day3 循环结构及函数调用的延伸

Day3 循环结构及函数调用的延伸#函数:

1.函数的好处:

1.代码结构太复杂,不利于阅读 不利于移植
2.代码块 一个代码块解决一个问题
3.代码块就是{ }{ }
4.可以模板化

2.怎么用

返回值 函数名称(参数,参数){
}

例1: int add(int a,int b){

int result=a+b;
return result;
}

例2:void test(void){

}

注意:return作用:1.返回值2.提前终止函数(在void函数里也可以使用)

先在主函数前面声明
实现的话在主函数后面

3.银行取款的demo(把函数放在头文件里面 然后主函数调用 会十分简洁)

主函数

#include"atm.h"
int main()
{
    printf("**************\n");
    printf("欢迎使用\n");
    printf("**************\n");
    printf("请输入密码\n");
    mimayanzheng(); 
    while (1) {
            menu(); 
            caozuoxuanxiang();
        switch (choice) {
        case 1:
            quqian();
            break;
        case 2:
            cunkuan();
            break;
        case 3:         
            printf("请输入密码:");
            mimayanzheng();
            mimagenggai();
            break;
        default:
            exit(EXIT_FAILURE);         
        }
    }
}

自己设置的函数放进头文件中:

#include <iostream>
#include <stdlib.h>  
int choice, choice1;
int password = 123;
int money = 1000;
int putmoney = 0;
int money1 = 1000;
void mimayanzheng(void) {
   int totalTime = 4;
   int inputPwd = 0;
   int password = 123;
   while (1) {
       scanf_s("%d", &inputPwd);
       if (inputPwd == password) {

           break;
       }
       else {
           totalTime--;
           if (totalTime == 0) {
               printf("此卡已冻结 请联系客服!\n");
               exit(EXIT_FAILURE);
           }
           else {
               printf("密码不正确 请重新输入:");
           }
       }
   }

}
void mimagenggai(void) {
   int newpassword1 = 0;
   int newpassword2 = 0;
   while (1) {
       printf("请更正密码\n");
       scanf_s("%d", &newpassword1);
       printf("请确认密码\n");
       scanf_s("%d", &newpassword2);
       if (newpassword1 == newpassword2)
       {
           printf("密码修改成功\n");

           break;
       }
       else

       {
           printf("两次密码不同,请重新操作\n");
       }

   }
}
void menu(void)
{
   printf("**************\n");
   printf("1.取款");
   printf("2.存款");
   printf("3.修改密码");
   printf("4.退出\n");
   printf("**************\n");
}
void caozuoxuanxiang(void) {
   while (1) {
       printf("请进行选择\n");


       scanf_s("%d", &choice);

       if (choice >= 1 && choice <= 4)
       {
           break;
       }
       else {
           printf("输入不合法");
       }
   }
}
void quqian(void)//实现取钱
{
   while (1) {

       printf("请输入取款金额\n");
       scanf_s("%d", &putmoney);
       {if (putmoney <= money1)
       {
           money1 -= putmoney;

           printf("取款成功,剩下余额为:%d", money1);
       }
       else {
           printf("取款失败");
       }
       }
       printf("是否继续 n/y\n");
       getchar();
       choice1 = getchar();
       if (choice1 == 'n')
       {
           break;

       }
   }
}
void cunkuan(void) {
   while (1) {

       printf("请输入存款金额\n");
       scanf_s("%d", &putmoney);
       money1 += putmoney;
       printf("取款成功,剩下余额为:%d\n", money1);

       printf("是否继续 n/y:");
       getchar();
       choice1 = getchar();
       if (choice1 == 'n')
       {
           break;
       }
   }
}

心得体会:

更加熟练地掌握了银行取款这个很有意义的demo,知道了函数调用的实用性以及优越性,并且开始在这个demo中尝试使用函数调用的方式让整个程序更加模板化 增加的可读性 同时让自己的逻辑思维得到加强

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容