- 1、本文档共17页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
食堂刷卡系统
食堂刷卡系统
fun.h
#include stdio.h
#include stdlib.h
#include string.h
#include unistd.h
#include fcntl.h
#include netdb.h
#include signal.h
#include syslog.h
#include sys/stat.h
#include sys/ipc.h
#include sys/msg.h
#include sys/types.h
#include sys/wait.h
#include errno.h
#include netinet/in.h
#include sys/socket.h
#include sys/wait.h
#include arpa/inet.h
#include sys/time.h
#include sys/un.h
#include sys/ioctl.h
#include setjmp.h
server.c
#include fun.h
#include list.h
#define MAXBUF 1024
//用户消费
typedef struct client_info
{
int cli_fd;//初始值都为0,上线再根据事实的fd进行修改,下线重新置0
char cli_number[10];//学号
float cli_balance;//余额
struct list_head list;
}Online;
//打印
void client_all_printf(struct list_head *head)
{
Online *ptr;
struct list_head *p;
printf(fd 学号 余额\n);
list_for_each(p, head)
{
ptr = list_entry(p, Online, list);
printf( %d %s %.2f\n, ptr - cli_fd, ptr - cli_number, ptr - cli_balance);
}
// INIT_LIST_HEAD(head);
}
//将学号和余额读入链表
void client_all(struct list_head *head)
{
FILE *fp;
Online *ptr;
struct list_head *p;
if((fp = fopen(student.txt, rt)) == NULL)
{
printf(FILE open error!\n);
exit(0);
}
ptr = (Online *)malloc(sizeof(Online));
while(/*!feof(fp)*/fscanf(fp,%d,ptr-cli_fd)!=-1)
{
// ptr = (Online *)malloc(sizeof(Online));
// fscanf(fp, %d, ptr - cli_fd);
fscanf(fp, %s, ptr - cli_number);
fscanf(fp, %f, ptr - cli_balance);
list_add_tail((ptr - list), head);
ptr = (Online *)malloc(sizeof(Online));
}
//client_all_printf(head);
}
void client_all_save(struct list_head *head) //信息保存到文件
{
FILE *fp;
Online *ptr;
struct list_head *p;
if((fp = fopen(student.txt, w)) == NULL)
{
printf(FILE open error!\n);
exit(0);
}
list_for_each(p, head)
{
ptr = list_entry(p, Online, list);
fprintf(fp, %d %s %f\n,ptr - cli_fd, ptr - cli_number, ptr - cli_balance);//用户信息写入文件
}
fclose(fp);
INIT_LIST_HEAD(head);
}
int main(int argc,char *argv[])
{
int server_sockfd, client_sockfd;
int server_len, client
您可能关注的文档
最近下载
- 在线网课学习课堂《水资源规划与管理(河海大学)》单元测试考核答案.docx
- 浙江省金兰教育合作组织2023-2024学年高二下学期4月期中考试化学试题含答案.docx VIP
- 《唱歌吹起羌笛跳锅庄课件》小学音乐人教2001课标版五年级下册课件.ppt
- 报销票据粘贴方法课件.ppt
- 慕尼黑电子展报告-电池储能与风储一体化能源系统-电力电子创新论坛-上海交通大学-李睿.pdf
- 小学生主题班会课件—我是时间小主人 通用版(共21张PPT).ppt
- 剑桥(join in)版三年级上册英语全册教学课件(配2024年秋改版教材).pptx
- 产品技术评审-TR5检查表(规格).doc
- 我国数字金融纾解中小企业融资约束的问题及对策研究.pdf
- 2023年国防科技大学计算机科学与技术专业《操作系统》科目期末试卷A(有答案).docx VIP
文档评论(0)