资源简介
这是一个网络课设,题目是仿真telnet.用socket编程实现客户端与服务器通信,计算四则远算(包括浮点数)。采用图形化界面。带有登录功能。亲自测试,可用,并且作为课设上交检查通过。
代码片段和文件信息
#include
#include
#include
#include
using namespace std;
int getPri(char c);
float calculate(float opDataLfloat opDataR char operation);
float main2(string line)
{
stack opStack;
stack dataStack;
vector lineVector;
//getline(cinline);
while (line.size() > 0)
{
if (line[0] == ‘+‘ || line[0] == ‘-‘ || line[0] == ‘*‘ || line[0] == ‘/‘ || line[0] == ‘(‘ || line[0] == ‘)‘)
{
string str(1 line[0]);
lineVector.push_back(str);
line.erase(0 1);
}
else
{
int i;
for (i = 0; i < line.size(); i++)
{
if ((line[i] != ‘.‘) && (line[i]<‘0‘ || line[i]>‘9‘))
break;
}
lineVector.push_back(line.substr(0 i));
line.erase(0 i);
}
}
//显示
/*for (auto str : lineVector)
cout << str<
string str;
vector::iterator it;
for(it=lineVector.begin(); it != lineVector.end(); it++)
{
str = *it;
if (str == “+“ || str == “-“ || str == “*“ || str == “/“ || str == “(“ || str == “)“) //若为操作符
{
while (true)
{
if (opStack.empty() == true)
{
opStack.push(str[0]);
cout << “操作符入栈 “< break;
}
else
{
if ( getPri(str[0]) > getPri(opStack.top()) || str[0] == ‘(‘ ) //若将要插入的操作符的优先级比栈顶操作符的优先级要高,则插入;
{
opStack.push(str[0]);
cout << “操作符入栈 “ << str[0] << “ “ << endl;
break;
}
else //否则,栈顶操作符出栈,进行计算;
{
char operation = opStack.top();
opStack.pop();
cout << “操作符出栈 “ << operation << “ “ << endl;
if (operation == ‘(‘)
break;
else
{
float opdataR = dataStack.top(); dataStack.pop(); cout << “操作数出栈 “ << opdataR << “ “ << endl;
float opdataL = dataStack.top(); dataStack.pop(); cout << “操作数出栈 “ << opdataL << “ “ << endl;
float opAnswer = calculate(opdataL opdataR operation);
dataStack.push(opAnswer); cout << “操作数入栈 “ << opAnswer << “ “ << endl;
}
}
}
}
}
else //否则为操作数;
{
dataStack.push(stof(str)); cout << “操作数入栈 “ << stof(str) << “ “ << endl;
}
}
//清仓
while (opStack.empty() == false)
{
char operation = opStack.top(); opStack.pop(); cout << “操作符出栈 “ << operation << “ “ << endl;
float opdataR = dataStack.top(); dataStack.pop(); cout << “操作数出栈 “ << opdataR << “ “ << endl;
float opdataL = dataStack.top(); dataStack.pop(); cout << “操作数出栈 “ << opdataL << “ “ << endl;
float opAnswer = calculate(opdataL opdataR operation);
dataStack.push(opAnswer); cout << “操作数入栈 “ << opAnswer << “ “ << endl;
}
//cout << “THe answer is “ << dataStack.top() << “;“ << endl;
/*cout << “操作数栈:“ << endl;
while (dataStack.empty() != true)
{
cout< dataStack.pop();
}
cout < whil
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 176640 2016-05-03 23:37 登录\Debug\登录.exe
文件 1100236 2016-05-03 23:37 登录\Debug\登录.ilk
文件 4983808 2016-05-03 23:37 登录\Debug\登录.pdb
文件 88735744 2016-05-03 23:58 登录\ipch\登录-14bbc25f\登录-5ad38cbc.ipch
文件 2552 2016-05-03 19:47 登录\登录\CalcuDlg.cpp
文件 421 2016-05-03 18:38 登录\登录\CalcuDlg.h
文件 118424 2016-05-03 23:37 登录\登录\Debug\CalcuDlg.obj
文件 2790 2016-05-03 23:37 登录\登录\Debug\cl.command.1.tlog
文件 55834 2016-05-03 23:37 登录\登录\Debug\CL.read.1.tlog
文件 1902 2016-05-03 23:37 登录\登录\Debug\CL.write.1.tlog
文件 2 2016-05-03 23:37 登录\登录\Debug\li
文件 2 2016-05-03 23:37 登录\登录\Debug\li
文件 2 2016-05-03 23:37 登录\登录\Debug\li
文件 2 2016-05-03 23:37 登录\登录\Debug\li
文件 2 2016-05-03 23:37 登录\登录\Debug\li
文件 2 2016-05-03 23:37 登录\登录\Debug\li
文件 2 2016-05-03 23:37 登录\登录\Debug\li
文件 2 2016-05-03 23:37 登录\登录\Debug\li
文件 2 2016-05-03 23:37 登录\登录\Debug\li
文件 2 2016-05-03 23:37 登录\登录\Debug\li
文件 2 2016-05-03 23:37 登录\登录\Debug\li
文件 2 2016-05-03 23:37 登录\登录\Debug\li
文件 2 2016-05-03 23:37 登录\登录\Debug\li
文件 2 2016-05-03 23:37 登录\登录\Debug\li
文件 2 2016-05-03 23:37 登录\登录\Debug\li
文件 2 2016-05-03 23:37 登录\登录\Debug\li
文件 2 2016-05-03 23:37 登录\登录\Debug\li
文件 2 2016-05-03 23:37 登录\登录\Debug\li
文件 2 2016-05-03 23:37 登录\登录\Debug\li
文件 2 2016-05-03 23:37 登录\登录\Debug\li
............此处省略126个文件信息
相关资源
- 实战Linux+Socket编程.pdf
- Streamedian WS RTSP Proxy Server 1.8.5.exe
- SpringMVC+Redis+Activiti+Fastdfs+Thirft+Websoc
- kukaTCP通讯、ETHERNETKRL2.8
- 基于TCP的Socket编程服务器和客户端代
- newgcWebSockets 4.1.0.Full.Source稳定版
- TCP/IP网络编程 尹圣雨源代码+PDF书籍
- 基于QT的socket TCP通信原创
- CSocket多线程聊天室源码
- 基于websocket的即时通讯H5App源码.rar
- QT下多线程 UDP socket
- sgcWebSockets421.zip
- 局域网 视频 播放 控制 socket TCP UDP 指
- qt socket 一对多,多线程 广发
- TCPIP服务器连接组件,快速开发高性能
- 数据结构课程设计-长整数四则运算
- 《NIO与Socket编程技术指南》_高洪岩
- 单通道视频融合 支持局域网网络Soc
- WebSocket.pdf
- 基于superSocket——AForge的UDP摄像并传输
- socket 客户端 通信 上位机 部分
- 基于socket网络编程的聊天室
- 基于socket协议的DDos入侵检测系统
- 俄罗斯方块2.0版 支持局域网联机对战
- 编译原理——简单的四则运算
- 使用socket实现的五子棋游戏
- Socket实现qq聊天
- arp(地址解析协议)示范
- Socket5服务器源代码
- LR1 文法 四则运算分析表的构造
评论
共有 条评论