加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
interface.c 1.92 KB
一键复制 编辑 原始数据 按行查看 历史
胡宇彪 提交于 2019-09-02 18:03 . ATM 网络版的基本实现代码
#include<stdio.h>
#include<string.h>
#include<stdbool.h>
#include<stdlib.h>
#include<getch.h>
#include<unistd.h>
#include<sys/types.h>
#include<sys/ipc.h>
#include<sys/msg.h>
#include"struct.h"
#include"interface.h"
#include"tools.h"
void register_interface(C_to_s* c)
{
system("clear");
printf("***********开户***************\n");
User user = {};
printf("请输入姓名\n");
scanf("%s",c->user.name);
printf("请输入身份证号:\n");
scanf("%s",c->user.ident);
printf("请输入设置密码:\n");
scanf("%s",c->user.pass);
c->user.money = 0;
c->user.lock = 0;
//发送消息
int cgid = msgget(ftok(".",500),0);
msgsnd(cgid,c,sizeof(C_to_s)-sizeof(c->type),0);
//获取消息队列
S_to_c s = {c->user.pid};
int sgid = msgget(ftok(".",520),0);
msgrcv(sgid,&s,sizeof(S_to_c),c->user.pid,0);
printf("%s\n",s.buf);
anyone_key();
}
//销户
void cancel_interface(C_to_s* c)
{
system("clear");
printf("*************销户***************\n");
User user = {};
printf("请输入账号\n");
scanf("%d",&c->user.id);
printf("请输入密码:");
scanf("%s",c->user.pass);
scanf("%*c");
printf("是否确认注销(Y/N):");
c->user.ch = getchar();
int cgid = msgget(ftok(".",500),0);
msgsnd(cgid,c,sizeof(C_to_s)-sizeof(c->type),0);
//获取消息队列
S_to_c s = {c->user.pid};
int sgid = msgget(ftok(".",520),0);
msgrcv(sgid,&s,sizeof(S_to_c),c->user.pid,0);
printf("%s\n",s.buf);
anyone_key();
}
//解锁
void deblock_interface(C_to_s* c)
{
system("clear");
printf("*************解锁界面**************\n");
User user = {};
printf("请输入账号\n");
scanf("%d",&c->user.id);
printf("请输入身份证号:");
scanf("%s",c->user.ident);
int cgid = msgget(ftok(".",500),0);
msgsnd(cgid,c,sizeof(C_to_s)-sizeof(c->type),0);
//获取消息队列
S_to_c s = {c->user.pid};
int sgid = msgget(ftok(".",520),0);
msgrcv(sgid,&s,sizeof(S_to_c),c->user.pid,0);
printf("%s\n",s.buf);
anyone_key();
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化