文档详情

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

发布:2017-12-25约5.79千字共8页下载文档
文本预览下载声明
客户端: #includestdio.h #includeconio.h #include winsock.h #pragma comment(lib , Wsock32.lib ) #define MAX_PWD_LEN 32 #define MAX_USN_LEN 32 char 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]={0}; char para[5][32]={0}; gets(com); int i=0, j=0, k=0;
显示全部
相似文档