成绩查询系统c语言,学生成绩查询系统C语言代码(分服务器端和客户端).doc

学生成绩查询系统C语言代码(分服务器端和客户端)

客户端:#include#include#include #pragma comment(lib , "Wsock32.lib ") #define MAX_PWD_LEN 32#define MAX_USN_LEN 32char username[MAX_USN_LEN];char password[MAX_PWD_LEN];SOCKET sockClient;int all=0;char recvn[50];int connect(char *SrvIP,int SrvPort){WSADATA wsaData;if(WSAStartup(0x101,&wsaData)){printf("初始化错误\n");return 1;}sockClient=socket(AF_INET,SOCK_STREAM,0);if(sockClient == SOCKET_ERROR){printf("建立套接字错误\n");return 2;}

SOCKADDR_IN addrSrv;addrSrv.sin_addr.s_addr=inet_addr(SrvIP);addrSrv.sin_family=AF_INET;addrSrv.sin_port=htons(SrvPort);

if(connect(sockClient,(SOCKADDR*)&addrSrv,sizeof(SOCKADDR))){printf("连接服务器失败,请检查服务器是否运行\n");return 3;}printf("成功连接服务器\n\n");send(sockClient,"CONNECT",strlen("CONNECT")+1,0);return 0;}

void getspwd(char * pwdin){char ctemp;int itemp = 0;printf("密 码:");while((ctemp = getch())!='\r'){printf("*");pwdin[itemp] = ctemp;itemp++;}pwdin[itemp] = 0;printf("\n");}

int login(char *username){send(sockClient,"LOGIN",strlen("LOGIN")+1,0);printf("用户名:%s\n",username);send(sockClient,username,strlen(username)+1,0);recv(sockClient,recvn,50,0);if(!strcmp(recvn,"1")){printf("无此用户,请检查\n");return 1;}getspwd(password);send(sockClient,password,strlen(password)+1,0);recv(sockClient,recvn,50,0);if(!strcmp(recvn,"1")){printf("密码错误,请检查\n");return 2;}printf("登陆成功\n");return 0;}

int query(char *clsnum){send(sockClient,"QUERY",strlen("QUERY")+1,0);send(sockClient,clsnum,strlen(clsnum)+1,0);recv(sockClient,recvn,50,0);printf("%s\n",recvn);return 0;}

int queryavg(){send(sockClient,"QUERYAVG",strlen("QUERYAVG")+1,0);recv(sockClient,recvn,50,0);printf("%s\n",recvn);return 0;}

int quit(){send(sockClient,"QUIT",strlen("QUIT")+1,0);closesocket(sockClient);WSACleanup();exit(0);}

int main(){printf("******成绩查询系统 客户机******\n\n");while(1){char com[255];char option[32]