热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

c语言查询余额的函数,C语言余数函数

C语言查找函数首先,指针默认只有一个地址的长度的空间,存不了那么多的字符。其次,传值和传地址一塌糊涂,完全就是乱写么。scanf的第二个参数是地址,如果本身不是指针则需要取址符。我

C语言查找函数

首先,指针默认只有一个地址的长度的空间,存不了那么多的字符。

其次,传值和传地址一塌糊涂,完全就是乱写么。

scanf的第二个参数是地址,如果本身不是指针则需要取址符。

我给你重写了算了

#includestdio.h

int Retrieve(int array[],int length,int x);/*形参x直接传值就可以了*/

int main()

{

int *a,x;

int length,i;

scanf("%d",length);

a = (int)malloc(sizeof(int)*length); /*申请一个内存空间用来存放数据,或者直接用一个大数组也可以*/

c语言中,怎样使用取余数的函数

C语言提供了一个取余数的运算符%,称之为“模”运算符,只有两个整数之间才可以进行模运算。

a % b 表示 用b来整除a,商整数,得到余数。

如:

5%3 = 2

4%3 =1

3%3 =0

扩展资料:

数学函数

double log10(double x) 返回log10x的值

double pow(double x,double y) 返回x^y的值

double pow10(int p) 返回10^p的值

double sqrt(double x) 返回+√x的值

double acos(double x) 返回x的反余弦cos-1(x)值,x为弧度

double asin(double x) 返回x的反正弦sin-1(x)值,x为弧度

double atan(double x) 返回x的反正切tan-1(x)值,x为弧度

double atoi(char *nptr) 将字符串nptr转换成整数并返回这个整数

double atol(char *nptr) 将字符串nptr转换成长整数并返回这个整数

char *ecvt(double value,int ndigit,int *decpt,int *sign),将浮点数value转换成字符串并返回该字符串

char *fcvt(double value,int ndigit,int *decpt,int *sign),将浮点数value转换成字符串并返回该字符串

参考资料来源:百度百科-C语言函数

c语言怎么从调用函数回到主函数

#include"stdio.h"

#include"string.h"

struct account

{

char name[20];

int money;

}accounts;

void plm()

printf("您账户的余额:%d",accounts.money);

}

void qwe()

{

int cunkuan;  

printf("请输入存款金额:"); 

scanf("%d",cunkuan); 

accounts.mOney=cunkuan+accounts.money;

printf("   存款成功!\n账户余额:%d\n",accounts.money);

}

void poi()

int qukuan,i;

printf("请输入取款金额:");

while(1)

{

scanf("%d",qukuan); 

if(accounts.moneyqukuan)

printf("账户余额不足!你的账户余额:%d\n请重新输入:",accounts.money); 

}

else 

{

accounts.mOney=accounts.money-qukuan;

printf("取款成功!\n账户余额:%d\n",accounts.money);

break;

}

}

void main()

{

char name[20]; 

char mima[20]; 

int q;

printf("====================================================\n"); 

printf("====================================================\n");

printf("==================欢迎你使用银行系统================\n");

printf("====================================================\n"); 

printf("====================================================\n\n");

printf("请输入你的账户名:"); 

gets(name);

printf("请输入密码:");

gets(mima);

printf("\n");

if(strcmp(name,"zengxin")==0strcmp(mima,"12345")==0)

printf("登陆成功!\n");

int t=1;

while(t)//主函数加上一个while循环就好了,t表示是否继续使用系统,选择0时,t=1,即可退出系统了

{

printf("   1 存款   2 取款  3 开户\n"); 

printf("   4 销户   5 查询  0 退出\n请选择:"); 

scanf("%d",q); 

switch (q) 

case 1:

{

qwe();

break;

case 2:

{

poi();

break;

case 3:

break; 

case 4:

break;  

case 5:

{

plm();

break;

}     

case 0:

{

t=0;

break;

}

}

}

else 

printf("输入的账户名和密码错误!!");

}

用c语言编写ATM的程序,实现开户、存款、取款、查询余额、转账的业务逻辑。

#include stdio.h

#include stdlib.h

#include conio.h

#include string.h

void regist();

void login();

void quite();

void inputpassword(char mima[]);

void service();

struct bank

{

char name[20];

char password[7];

int account;

double money;

}kehu;

int find;

int a[10];

struct bank one;

FILE *fp;

void main()

{

int i;

int t=1;

for(i=0;i100;i++)

{

printf("\t\t\t\t\t\t欢迎使用青软ATM系统\n");

printf("\t\t\t\t\t\t正在进入主界面,请稍等");

int j;

for(j=1;jt;j++)

{

printf(".");

}

t++;

if(t==10)

{

t=1;

}

printf("\n\t\t\t\t\t\t%d%%",i);

system("cls");

}

while(1)

{

printf("\t\t\t\t\t\t服务类型: \n");

printf("\t\t\t\t\t\t[a]: 用户注册\n");

printf("\t\t\t\t\t\t[b]: 用户登录\n");

printf("\t\t\t\t\t\t[c]: 退出系统\n");

printf("\t\t\t\t\t\t请选择服务: ");

fflush(stdin);

char xz;

scanf("%c",xz);

if(xz=='a'||xz=='A')

{

regist();

} else if (xz=='b'||xz=='B')

{

login();

} else if(xz=='c'||xz=='C')

{

quite();

} else

{

printf("输入有误,请重新输入");

}

getch();

system("cls");

}

}

void inputpassword(char mima[])

{

int i=0;

char ch;

while(1)

{

ch=getch();

if(ch!='\r')

{

if(ch!='\b'){

mima[i]=ch;

i++;

printf("*");

}else{

if(i0){

i--;

printf("\b \b");

}

}

}else{

break;

}

}

mima[i]='\0';

printf("\n");

}

void regist()

{

fp=fopen("atm.txt","ab+");

if(fp==NULL)

{

printf("\n\t\t\t文件打开失败!");

return;

}

system("cls");

printf("\t\t\t现在执行的是注册函数的使用\n");

printf("\t\t请输入用户名: ");

fflush(stdin);

gets(kehu.name);

char password1[7];

while(1)

{

while(1)

{

printf("\n\n\t\t请输入密码:");

fflush(stdin);

inputpassword(kehu.password);

int n=strlen(kehu.password);

if(n==6)

{

break;

}else

{

printf("\n\t\t密码必须为6位!");

}

}

printf("\n\t\t请输入正确密码!: ");

fflush(stdin);

inputpassword(password1);

if(strcmp(kehu.password,password1)==0)

{

break;

}else{

printf("\n\n\t\t两次密码必须相同!");

}

}

rewind(fp);

struct bank k;

if(fread(k,sizeof(struct bank),1,fp)==1)

{

fseek(fp,-sizeof(k),2);

fread(k,sizeof(k),1,fp);

kehu.account=k.account+1;

}else{

kehu.account=20170001;

}

kehu.mOney=0;

fseek(fp,0,2);

fwrite(kehu,sizeof(struct bank),1,fp);

fclose(fp);

printf("\n\n\t\t开户成功! ");

printf("\n\t\t您的账号为%d!",kehu.account);

printf("\n\t\t现在请您重新登录!");

}

void searchmoney()

{

system("cls");

printf("您现在使用的是查询余额功能: \n");

printf("\n\n\t\t您的余额是%0.2lf",one.money);

}

void savemoney()

{

system("cls");

double inmoney;

printf("请您选择您要存款的金额 \n");

scanf("%lf",inmoney);

int q;

int r=1;

for(q=0;q100;q++)

{

int w;

for(w=1;wr;w++)

{

printf(".");

}

r++;

if(r==10)

{

r=1;

}

printf("\n\t\t\t\t\t\t正在存款%d%%",q);

system("cls");

}

one.mOney=one.money+inmoney;

fseek(fp,-sizeof(one),1);

fwrite(one,sizeof(one),1,fp);

printf("\n\n\t\t\t\t\t\t您已存款成功!");

}

void withdrawalmoney()

{

system("cls");

double outputsomemoney;

printf("请您选择您要取款的金额 \n");

scanf("%lf",outputsomemoney);

if(one.moneyoutputsomemoney){

printf("您的余额已不足,请您注意!");

}else {

int q;

int r=1;

for(q=0;q100;q++)

{

int w;

for(w=1;wr;w++)

{

printf(".");

}

r++;

if(r==10)

{

r=1;

}

printf("\n\t\t\t\t\t\t正在取款%d%%",q);

system("cls");

}

one.mOney=one.money-outputsomemoney;

fseek(fp,-sizeof(one),1);

fwrite(one,sizeof(one),1,fp);

printf("\n\n\t\t\t\t\t\t您已取款成功!请点清钞票!");

printf("\n\n\t\t\t\t\t\t您现在的余额为%lf",one.money);

}

}

void transfermoney()

{

system("cls");

int duifang;

int qian;

fflush(stdin);

printf("\n\n\n\t\t您现在使用的是转账功能");

printf("\n\t\t\t请输入您要转账的账户:");

scanf("%d",duifang);

int n=ftell(fp);

rewind(fp);

int flag=0;

struct bank temp;

while(fread(temp,sizeof(temp),1,fp)==1)

{

if(temp.account==duifang)

{

flag=1;

break;

}

}

if(flag==1)

{

printf("请输入转账金额:");

scanf("%d",qian);

if(one.mOney=qian)

{

int q;

int r=1;

for(q=0;q100;q++)

{

int w;

for(w=1;wr;w++)

{

printf(".");

}

r++;

if(r==10)

{

r=1;

}

printf("\n\t\t\t\t\t\t正在转账,请稍后!%d%%",q);

system("cls");

}

temp.mOney=temp.money+qian;

fseek(fp,-sizeof(temp),1);

fwrite(temp,sizeof(temp),1,fp);

one.mOney=one.money-qian;

fseek(fp,n-sizeof(one),0);

fwrite(one,sizeof(one),1,fp);

printf("\n\t\t\t\t转账成功!");

}else{

printf("\n\t\t\t\t您的余额已不足!");

}

}

}

void xiugai(){

system("cls");

printf("\n\n\t\t 现在进行的是修改密码功能\n");

char oldpassword[7];

char newpassword[7];

char newpassword1[7];

int i;

for(i=0;i3;i++){

printf("\n\t\t\t 请输入旧密码:\n");

inputpassword(oldpassword);

if(strcmp(oldpassword,one.password)==0){

printf("\n\t\t\t 输入成功!\n");

break;

}else{

printf("\n\t\t\t 密码输入有误,请重新输入!\n");

}

}

if(i3){

while(1){

printf("\n\t\t\t 请输入您的新密码:\n");

inputpassword(newpassword);

printf("\n\t\t\t 请输入您的确认密码:\n ");

inputpassword(newpassword1);

if(strcmp(newpassword,newpassword1)==0){

strcpy(one.password,newpassword);

fseek(fp,-sizeof(one),1);

fwrite(one,sizeof(one),1,fp);

printf("\n\t\t\t 密码修改成功!");

break;

}else{

printf("\n\t\t\t 两次密码输入不一致!");

}

}

}else{

printf("\n\t\t\t 密码输入错误!");

}

}

int zhuxiaozhanghao()

{

system("cls");

int zhuxiaoxitong;

char sf;

printf("你要注销的账号是%d",one.account);

printf("你是否要对此账号进行注销?\n\n\t\t请您选择:注销(Y)or不注销(N):");

fflush(stdin);

scanf("%c",sf);

if(sf=='y'||sf=='Y')

{

printf("正在为您注销!\n",one.account);

zhuxiaoxitOng=1;

}else{

printf("不注销系统!\n",one.account);

}

return zhuxiaoxitong;

}

void service()

{

while(1){

system("cls");

printf("\n\n\n\t\t\t\t\t\t现在是服务系统,本系统有以下服务");

printf("\n\t\t\t\t\t\t[a] 查询余额\n");

printf("\n\t\t\t\t\t\t[b] 存款服务\n");

printf("\n\t\t\t\t\t\t[c] 转账服务\n");

printf("\n\t\t\t\t\t\t[d] 取款服务\n");

printf("\n\t\t\t\t\t\t[e] 修改密码\n");

printf("\n\t\t\t\t\t\t[f] 注销 \n");

printf("\n\t\t\t\t\t\t[g] 退出系统\n");

char e;

printf("\n\t\t\t\t\t\t您要选择的服务是:");

fflush(stdin);

scanf("%c",e);

switch(e)

{ case'A':

case'a': searchmoney() ;break;

case'B':

case'b': savemoney() ;break;

case'C':

case'c': transfermoney() ;break;

case'D':

case'd': withdrawalmoney() ;break;

case'E':

case'e': xiugai() ;break;

case'F':

case'f': {int zhuxiaoxitOng=zhuxiaozhanghao();{if(zhuxiaoxitOng==1) return;}break;}

case'G':

case'g': quite();break;

}

printf("\n\n\n\t\t\t\t按任意键继续......\n");

getch();

}

}

void login()

{

fp=fopen("atm.txt","rb+");

if(fp==NULL)

{

printf("\n\n\n\t\t\t\t文件打开失败!");

return;

}

system("cls");

printf("\n\t\t\t\t\t\t现在执行的是登录函数的使用\n");

int zhanghao;

printf("\n\t\t\t\t\t\t请输入账号:");

scanf("%d",zhanghao);

int flag=0;

while(fread(one,sizeof(one),1,fp)==1)

{

if(zhanghao==one.account){

flag=1;

break;

}

}

char password2[7];

if(flag==1){

int h;

for(h=0;h3;h++){

printf("\n\t\t\t\t\t\t请输入密码:");

fflush(stdin);

inputpassword(password2);

if(strcmp(password2,one.password)==0)

{

printf("\n\t\t\t\t\t\t登陆成功!");

service();

break;

}else{

printf("密码不正确!");

}

}

if(h==3){

printf("\n\t\t\t您的密码三次输入有误,返回");

}

}else{

printf("无此账号!");

}

fclose(fp);

}

void quite()

{

system("cls");

printf("\t\t\t现在执行的是退出函数的使用\n");

exit(0);

}

怎样用c语言编写ATM系统

真正的ATM系统不可能只是用C语言编写的,它应该是一套完整独立的系统,核心代码更机密,不会轻易的泄露。

C语言可以写一个类似于ATM系统的框架,用以模拟ATM机上的各种操作。

框架代码如下:

    #includeiostream.h  

    #includestdio.h  

       

    int main()   

    {  

        int choice =- 1;   

          

        while(1) {  

            printf("请选择\n1.login\t2.regist\n");  

                scanf("%d", choice);  

            switch(choice) {  

                case 1:  

                     login();  

                     break;  

                case 2:  

                     regist();  

                     break;  

                default:  

                     printf("输入有误,重新输入\n");  

                     break;  

            }  

        }  

        return 0;

    }  

      

    void login() {  

        printf("IN LOGIN\n");  

        int flag = -1;  

        int X = -1;  

        printf("输入账户和密码\n");  

        flag = search();  

        if(falg == 1) {  

            printf("存在,进入主页面\n");  

            X = menu();  

            if(X == 1)  

                 return;  

        }  

        else if(flag == 0) {  

            printf("账户或密码错误\n");  

            return;       

        }  

    }  

      

    int regist() {  

        printf("IN REGIST\n");  

        return 1;  

    }  

      

    int menu() {  

        printf("IN MENU\n");  

        int key = -1;  

        int N = -1;  

        while(1) {  

            printf("请选择业务:1.refer\t2.deposit\t3.withdraw\t4.transfer\t5.resetPW\t6.退出\n");  

                scanf("%d", key);  

            switch(key) {  

                case 1:  

                    N = refer();  

                    break;  

                case 2:  

                    N = deposit();  

                    break;  

                case 3:  

                    N = withdraw();  

                    break;  

                case 4:  

                    N = transfer();  

                    break;  

                case 5:  

                    N = resetPW();  

                    break;  

                case 6:  

                    N = 6;  

                    return 1;  

                    break;  

                default:  

                    printf("输入有误,重新选择:\n");   

                    break;  

            }  

            if(N%2 == 0) {  

                printf("Error!\n");  

            }   

        }  

    }  

      

    int refer() {  

        printf("IN REFER\n");  

        //输出余额   

        return 1;  

    }  

      

    int deposit() {  

        printf("IN DEPOSIT\n");  

        //存钱   

        return 3;  

    }  

      

    int withdraw() {  

        printf("IN WITHDRAW\n");  

        //取钱   

        return 5;  

    }  

      

    int transfer() {  

        ptintf("IN TRANSFER\n");  

        //转账   

        return 7;  

    }  

      

    int resetPW() {  

        prtintf("IN RESETPW\n");  

        //重设密码   

        return 9;  

    }

c语言。结构体已经获得了数据,怎么调用自定义函数来处理这个结构体的数据?就是自定义函数要怎么写

我写了个程序,你可以看一下,代码放附件里了,下面是运行的部分截图。基本你说的功能都有,如果有其他需要可以自行补充,方法都差不多。希望能帮到你。

int login(struct mesinfo *); //登入账户函数

void check(struct mesinfo *);  //  查询账户余额和透支额函数

void transfer(struct mesinfo *); //  转账函数                  

void draw(struct mesinfo *); //      提取现金函数              

void store(struct mesinfo *);    //    存入现金函数                

void printList(char *id,int type,int money,char *time);//     打印凭条函数

void quit(struct mesinfo *);//    退出函数


推荐阅读
  • 实现一个通讯录系统,可添加、删除、修改、查找、显示、清空、排序通讯录信息
    本文介绍了如何实现一个通讯录系统,该系统可以实现添加、删除、修改、查找、显示、清空、排序通讯录信息的功能。通过定义结构体LINK和PEOPLE来存储通讯录信息,使用相关函数来实现各项功能。详细介绍了每个功能的实现方法。 ... [详细]
  • C语言注释工具及快捷键,删除C语言注释工具的实现思路
    本文介绍了C语言中注释的两种方式以及注释的作用,提供了删除C语言注释的工具实现思路,并分享了C语言中注释的快捷键操作方法。 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • 本文介绍了Perl的测试框架Test::Base,它是一个数据驱动的测试框架,可以自动进行单元测试,省去手工编写测试程序的麻烦。与Test::More完全兼容,使用方法简单。以plural函数为例,展示了Test::Base的使用方法。 ... [详细]
  • 1,关于死锁的理解死锁,我们可以简单的理解为是两个线程同时使用同一资源,两个线程又得不到相应的资源而造成永无相互等待的情况。 2,模拟死锁背景介绍:我们创建一个朋友 ... [详细]
  • 猜字母游戏
    猜字母游戏猜字母游戏——设计数据结构猜字母游戏——设计程序结构猜字母游戏——实现字母生成方法猜字母游戏——实现字母检测方法猜字母游戏——实现主方法1猜字母游戏——设计数据结构1.1 ... [详细]
  • [大整数乘法] java代码实现
    本文介绍了使用java代码实现大整数乘法的过程,同时也涉及到大整数加法和大整数减法的计算方法。通过分治算法来提高计算效率,并对算法的时间复杂度进行了研究。详细代码实现请参考文章链接。 ... [详细]
  • 本文介绍了南邮ctf-web的writeup,包括签到题和md5 collision。在CTF比赛和渗透测试中,可以通过查看源代码、代码注释、页面隐藏元素、超链接和HTTP响应头部来寻找flag或提示信息。利用PHP弱类型,可以发现md5('QNKCDZO')='0e830400451993494058024219903391'和md5('240610708')='0e462097431906509019562988736854'。 ... [详细]
  • 前景:当UI一个查询条件为多项选择,或录入多个条件的时候,比如查询所有名称里面包含以下动态条件,需要模糊查询里面每一项时比如是这样一个数组条件:newstring[]{兴业银行, ... [详细]
  • Go GUIlxn/walk 学习3.菜单栏和工具栏的具体实现
    本文介绍了使用Go语言的GUI库lxn/walk实现菜单栏和工具栏的具体方法,包括消息窗口的产生、文件放置动作响应和提示框的应用。部分代码来自上一篇博客和lxn/walk官方示例。文章提供了学习GUI开发的实际案例和代码示例。 ... [详细]
  • 本文介绍了Linux Shell中括号和整数扩展的使用方法,包括命令组、命令替换、初始化数组以及算术表达式和逻辑判断的相关内容。括号中的命令将会在新开的子shell中顺序执行,括号中的变量不能被脚本余下的部分使用。命令替换可以用于将命令的标准输出作为另一个命令的输入。括号中的运算符和表达式符合C语言运算规则,可以用在整数扩展中进行算术计算和逻辑判断。 ... [详细]
  • Imtryingtofigureoutawaytogeneratetorrentfilesfromabucket,usingtheAWSSDKforGo.我正 ... [详细]
  • 先看官方文档TheJavaTutorialshavebeenwrittenforJDK8.Examplesandpracticesdescribedinthispagedontta ... [详细]
  • 海马s5近光灯能否直接更换为H7?
    本文主要介绍了海马s5车型的近光灯是否可以直接更换为H7灯泡,并提供了完整的教程下载地址。此外,还详细讲解了DSP功能函数中的数据拷贝、数据填充和浮点数转换为定点数的相关内容。 ... [详细]
author-avatar
mimiku2z_818
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有