⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 customer.c

📁 主要是其于linux c编程
💻 C
字号:
#include<sys/types.h>
#include<sys/ipc.h>
#include<sys/msg.h>
#include<stdio.h>
#include<string.h>#include<stdlib.h>#define MSGKEY 75struct Msguser//used for msg{
	long mtype;	int csid;	int op;	int num;	int numbers;
   char username[50];
   char userpwd[50];
}user; struct Msgticket//used for msg{	long mtype;	int num;	char address[50];	int numbers;}ticket;int pid,msgqid,msgqid1;typedef struct Msguser MSGUSER;typedef struct Msgticket MSGTICKET;main(){	char d;	int key_in;	char temppwd[50];	pid=getpid();	msgqid = msgget(MSGKEY,0777);//set the dulei建立消息队列	msgqid1 = msgget(76,0777);//set the dulei建立消息队列	user.mtype=1;//make the mtype定义消息类开型	ticket.mtype=1;l:	         printf("--------*********   1  login      ***********-----------\n");
			   printf("--------*********   2  add user   ***********-----------\n");   			   printf("--------*********   3 list the ticket!  ***********-----------\n");//列出票
			   printf("--------*********   4 buy the ticket    ***********-----------\n");//买票				printf("--------*********   5 add the ticket    ***********-----------\n");//增加票				printf("--------*********   6 set the ticket    ***********-----------\n");//改变票数				printf("--------*********   0  exit       ***********-----------\n");			   scanf("%d",&key_in);			   if(key_in==1){
				    printf("请输入用户名\n");
				    scanf("%s",&user.username);
				    //system("cls");
				    printf("请输入密码\n");
				    scanf("%s",&user.userpwd);				    user.csid=pid;				    user.op=1;				    msgsnd(msgqid,&user,sizeof(MSGUSER),0);				    msgrcv(msgqid,&user,sizeof(MSGUSER),pid,0);				    if (user.op==1)				    	{				    		printf("Login Successful!\n");				    		goto l;				    	}				    else				    		{				    		printf("Login Failed!\n");				    		}				    		goto l;				    }				else if(key_in==2)				{
					printf("INPUT USERNAME请输入用户名n");
 					scanf("%s",&user.username);
  					printf("INPUT USERPWD请输入密码\n");
					scanf("%s",&user.userpwd);
					printf("INPUT USERPWD AGAIN请再次输入密码\n");
  					scanf("%s",&temppwd);
					while(1){
						if(strcmp(temppwd,user.userpwd)!=0){
							printf("--------two pwd is not the same两次密码不一致  -----------\n");
							printf("input pwd输入密码\n");
							scanf("%s",&user.userpwd);
							printf("input pwd again再次输入密码\n");
							scanf("%s",&temppwd);						}						else{							user.csid=pid;							user.op=2;							msgsnd(msgqid,&user,sizeof(MSGUSER),0);							msgrcv(msgqid,&user,sizeof(MSGUSER),pid,0);							if(user.op==0)							{								printf("----open user.dat failed!----------\n");							}							else if(user.op==1)							{								printf("--------add failed,sername has exist!   -----------\n");							}							else if(user.op==2)							{								printf("---------add Successful!------------\n");							}							goto l;						}					}				}				else if(key_in==3)				{					user.csid=pid;			   	user.op=3;			   	msgsnd(msgqid,&user,sizeof(MSGUSER),0);			   	printf("code    arrive_address      numbers\n ");			   	msgrcv(msgqid,&user,sizeof(MSGUSER),pid,0);			   	while(user.num)			   		{			   		printf("%8d%20s%8d\n",user.num,user.username,user.numbers);			   		msgrcv(msgqid,&user,sizeof(MSGUSER),pid,0);			   		}			   	printf("intpu 1 to return");				   	scanf("%d",&key_in);			   		goto l;				}				else if(key_in==4)				{					while(1)			   		{				   	printf("INPUT CODE AND NUMBERS YOU WANT TO BUY AS:2 10\n");				   	scanf("%d,%d",&user.num,&user.numbers);				   	user.csid=pid;				   	user.op=4;				   	msgsnd(msgqid,&user,sizeof(MSGUSER),0);				   	msgrcv(msgqid,&user,sizeof(MSGUSER),pid,0);				   	if(user.op==0)				   		{				   		printf("the numbers is lager than left,please rebuy\n");				   		}							else if(user.op==1)						{							printf("Successful buy the ticket\n");							printf("do you want to cotinue to buy?..1(Yes)..2..(No)\n");							scanf("%d",&key_in);							if(key_in==1)							{								continue;							}						}						goto l;			   				   						   	}				}				else if(key_in==5)				{					printf("INPUT ADDRESSNAME\n");			   	scanf("%s",&user.username);			   	printf("INPUT numbers\n");			   	scanf("%d",&user.numbers);			   	user.op=5;			   	user.csid=pid;			   	msgsnd(msgqid,&user,sizeof(MSGUSER),0);			   	msgrcv(msgqid,&user,sizeof(MSGUSER),pid,0);			   	if(user.op==0)					{						printf("----open ticket.dat failed!----------\n");					}					else if(user.op==1)					{						printf("--------add failed,icketname has exist!   -----------\n");					}					else if(user.op==2)					{						printf("---------addticket Successful!------------\n");					}				}				else if(key_in==6)				{					printf("INPUT TICKET CODE and TICKET NUMBERS as: 2 5\n");			   		scanf("%d%d",&user.num,&user.numbers);			   		user.csid=pid;			   		user.op=6;			   		msgsnd(msgqid,&user,sizeof(MSGUSER),0);			   		msgrcv(msgqid,&user,sizeof(MSGUSER),pid,0);			   		if(user.op==0)			   			{			   			printf("----open ticket.dat failed!----------\n");			   			}			   		else if(user.op==1)			   			{			   			printf("----set Successful!\n");			   			}			   			goto l;				}				else if(key_in==0)				{					exit(0);				}				else				{					goto l;				}	exit(0);}	

⌨️ 快捷键说明

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