tmp.c

来自「多用户银行系统」· C语言 代码 · 共 149 行

C
149
字号
/******************************************//**        functions for server          **//******************************************/#include "../include/serverlib.h"#include "../include/operdb.h"#include "../include/structs.h"#include "../include/stddef.h"#include <stdio.h>#include <unistd.h>#include <signal.h>void query(int index){	SHM *shm;	USER user;		int shmid;	shmid = shmget(KEY , SHM_SIZE , 0600);	shm = (SHM*)shmat(shmid , 0 , 0);	operdb(&user , (shm->swap_arr)[index].swap.inta);		strcpy( (shm->swap_arr)[index].swap.chara , user.name);	strcpy( (shm->swap_arr)[index].swap.charb , user.pwd);		(shm->swap_arr)[index].swap.inta = user.id;	(shm->swap_arr)[index].swap.intb = user.money;		shmdt(shm);	return ;};void changepwd(int index){	USER user;	SHM *shm;	int shmid;	shmid = shmget(KEY,SHM_SIZE,0600);	shm = (SHM*)shmat(shmid,0,0);	operdb(&user, (shm->swap_arr)[index].swap.inta);		if((strcmp((shm->swap_arr)[index].swap.chara , (user.pwd)))==0){		if((strcmp((shm->swap_arr)[index].swap.charb,(shm->swap_arr)[index].swap.charc))==0){			strcpy(user.pwd,(shm->swap_arr)[index].swap.charb);			operdb(&user,1);			(shm->swap_arr)[index].swap.ok=1;			return;		}else{			(shm->swap_arr)[index].swap.ok=2;			return;		}	}else{		(shm->swap_arr)[index].swap.ok = 3;	}}/*void from_to(int index){        //int shmid;        //key_t key;        extern SHM *shm;        USER *user1 = (USER *)malloc(sizeof(USER));        USER *user2 = (USER *)malloc(sizeof(USER));        key = ftok("/root/test.c", 0);        shmid = shmget(key, SHM_SIZE, 0600);        shm = (SHM *)shmat(shmid, NULL, 0);	        operdb(user1, (shm->swap_arr)[index].swap.inta);        operdb(user2, (shm->swap_arr)[index].swap.intb);       // if( strlen(user1) != 0 )        {        //        if( strlen(user2) == 0 )                {                        (shm->swap_arr)[index].swap.ok = 1;			//printf("no user exist with id %d\n", (shm->swap_arr)[index].swap.intb);                }                else                {                        if( user2->money < (shm->swap_arr)[index].swap.intc )                        {                                //printf("money not enough.\n");				(shm->swap_arr)[index].swap.ok = 2;                        }                        else                        {                                user1->money -= (shm->swap_arr)[index].swap.intc;                                user2->money += (shm->swap_arr)[index].swap.intc;								(shm->swap_arr)[index].swap.intc = user1->money;				                                operdb(user1, 1);                                operdb(user2, 1);                        }                }        }        else        {                //printf("no user exit with id %d\n", (shm->swap_arr)[index].swap.inta);		(shm->swap_arr)[index].swap.ok = 3;        }}void withdraw(int index){		USER *user = (USER *)malloc(sizeof(USER));	extern SHM *shm;	int b;		operdb(user,(shm->swap_arr)[index].swap.inta);		b = strcpy((shm->swap_arr)[index].swap.charb,user->pwd);	if(b == 0){		if((shm->swap_arr)[index].swap.inta >user->money){			//printf("you have no enough money to draw,please try again!\n");			(shm->swap_arr)[index].swap.ok = 1;			return;			}			user->money -= (shm->swap_arr)[index].swap.inta;		(shm->swap_arr)[index].swap.inta = user->money;		operdb(user,1);	}else{		//printf("wrong password!!\n");			(shm->swap_arr)[index].swap.ok = 2;		return;	}}void save(int index){        extern SHM * shm;        USER *user = (SHM *)malloc(sizeof(USER));        operdb(user, (shm->swap_arr)[index].swap.inta);        if(strcpy( user->pwd, (shm->swap_arr)[index].swap.charb) == 0)        {                user->money += (shm->swap_arr)[index].swap.intb;                operdb(user, 1);                (shm->swap_arr)[index].swap.intb = user->money;        }        else        {                //printf("pwd wrong!\n");		(shm->swap_arr)[index].swap.ok = 1;        }}*/

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?