做项目遇到的问题(C/C++/Java/MFC)
综合
在利用面向过程思想写程序的时候,常常遇到如果把一个函数A定义在函数B之后,就无法在B中调用A,我们可以在代码的开头部分加上函数的定义,即 void average()这种,告诉编译器后面有一个叫average的函数,这个就叫函数原型定义
C++
车型检测与车牌识别
调用百度的sdk https://ai.baidu.com/ai-doc/VEHICLE/pk3hb3gww
如您以前是百度云的老用户,其中API_KEY对应百度云的“Access Key ID”,SECRET_KEY对应百度云的“Access Key Secret”。
对这句话的理解
先登录百度云
创建应用
错误
解决
https://blog.csdn.net/pony_maggie/article/details/8588888
token无效,兄弟们
解决‘error_code‘: 110, ‘error_msg‘: ‘Access token invalid or no longer valid(百度智能云使用方法)
https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=UuCSoaD92MguDWDrep3rUwfP&client_secret=cbWvZCZO70nYobu8CWFZvVDa7jBPKozu
{“log_id”:1392381833479454720,“error_msg”:“image transcode error”,“error_code”:282100}
我们看官方提供的,这个base64是不是有点东西?
现在转Base64编码
C++实现图片的base64编码
音乐播放器项目
mciSendString 和 mciSendCommand 函数的简单使用
C++读取txt文件有些符号乱码
把txt改成ANSI格式
C++输出个别字符乱码
就是这个字符有问题你,一看,居然是个整型,强转成char也不行,直接弄成string
string s = "¥";
outFeedback +=s;//contain in guess but not in corect position
C++中string转double和int
https://blog.csdn.net/qq_32273417/article/details/88318161
string s;cin >> s;double n = atof(s.c_str());string s;cin >> s;cout << atoi(s.c_str()) << endl;
遍历被const修饰的list
被const修饰了的list是无法使用popback()的,也没办法用普通的迭代器遍历,需要用到const_iterator
void Show(const std::list<Student> & li)
{typedef std::list< Student >list_t;//list_t::iterator iter;list_t::const_iterator iter;//const string *str= &li.pop_front();/*auto it = li.begin();while (it != li.end()) {it = li.erase(it);}*///li.pop_back();for ( iter = li.begin(); iter != li.end(); iter++){std::cout << iter->no << ","<<iter->name << std::endl;}//for (list<Student>::iterator iter = li.begin(); iter != li.end(); ++iter)// cout << *iter << endl;
}
map遍历,排序,根据key查找value
按照key排序
c++ map基础知识、按键排序、按值排序
int cmp(const pair<string, unsigned>& x, const pair<string, unsigned>& y)
{return x.first < y.first;
}
void sortMapByValue(map<string, unsigned>& tMap, vector<pair<string, unsigned> >& tVector)
{for (map<string, unsigned>::iterator curr = tMap.begin(); curr != tMap.end(); curr++)tVector.push_back(make_pair(curr->first, curr->second));sort(tVector.begin(), tVector.end(), cmp);
}
void alphabetSortedFrequency(map<string, unsigned> &msu)
{vector<pair<string, unsigned>> tVector;sortMapByValue(msu, tVector);for (int i = 0; i < tVector.size(); i++)cout << tVector[i].first << ":" << tVector[i].second << endl;/*map< string, unsigned>::iterator iter;for (iter = msu.begin(); iter != msu.end(); iter++) {cout << iter->first << ":" << iter->second << endl;}*/
}
map根据key查找value
map<string, unsigned> msu;map< string, unsigned>::iterator iter;iter = msu.find(arr[i]);msu.insert(make_pair(arr[i], iter->second+1));
map遍历
/*map< string, unsigned>::iterator iter;for (iter = msu.begin(); iter != msu.end(); iter++) {cout << iter->first << ":" << iter->second << endl;}*/
利用transform函数把单词的首字母如果是大写就变成小写
#include<algorithm>
transform(word.begin(), word.begin() + 1, word.begin(), ::tolower);//首字母大写的就变成小写
no matching function for call to 'transform(std::__cxx11::basic_string
https://blog.csdn.net/fadbgfnbxb/article/details/96769096
利用stringstream判断字符串是不是全是数字
#include <sstream>
string content="12 45 5 No matter no ";
istringstream ss(content);string word;while (ss >> word) {stringstream sin(word);double d;char c;if (!(sin >> d)){transform(word.begin(), word.begin() + 1, word.begin(), ::tolower);//首字母大写的就变成小写arr.push_back(word);}if (sin >> c){transform(word.begin(), word.begin() + 1, word.begin(), ::tolower);//首字母大写的就变成小写arr.push_back(word);}}
C++读取CSV文件
double数据打印到控制台编程了整数,无法打印小数部分
我的double数据如下,
控制台显示是这样的
解决方法
#include <iomanip>
cout << fixed << setprecision(3) << point1.x << endl;
系统没给定有多少组输入的情况下,如何测试多组输入
这样就可以了
while (cin >> n)
控制台下输入字符串(含空格)
输入书名和作者时,因为会含有空格,请用cin.getline()函数,例如cin.getline(name,sizeof(name))
https://blog.csdn.net/Softwaregg/article/details/6927929
char s1[100];cin.getline(s1, sizeof(s1));char *name = (char*)malloc(strlen(s1) + 1);strcpy(name, s1);
主函数中无法访问类的静态变量?
class Student
{public:static int count; //静态成员,表示学生人数
}
int Student::count = 0;//加在main前面
JAVA
java List的add方法报空指针异常
java 输出控制台对齐的问题
System.out.printf("%-15s%-15s%-15s%-15s%-15s%-15s%-15s\n",locationList.get(i).iDNumber, locationList.get(i).type, locationList.get(i).location, locationList.get(i).surfaceArea, String.valueOf( locationList.get(i).monthlyRent), locationList.get(i).status, locationList.get(i).sellingPrice);
java 类实现Comparable接口进行比较
public class Film implements Comparable {public static final String[]Ratings={"U","PG","12U","15U","18U"};String title;int duration;String rating;
@Overridepublic int compareTo(Object o) {Film obj1 = (Film)o;// Film obj2 = (Film)o2;if (obj1.duration >= this.duration) {return -1;} else {return 1;}}}
自定义异常类
class myException extends Exception {public myException(String msg){super(msg); }
}if(ds<0||ds>100){throw new myException ("请输入[0,100]的数");}
画UML类图
可以用draw.io画,这样可以使用它的类模板
注意规范
double保留6位小数
方法1:BigDecimal.ROUND_DOWN表示直接去掉尾数。
BigDecimal b = new BigDecimal(area( x1, y1, x2, y2, x3, y3));double d = b.setScale(6, BigDecimal.ROUND_DOWN).doubleValue();System.out.println(d);
double d = 114.145;
DecimalFormat df = new DecimalFormat("#.000000");
String str = df.format(d);
System.out.println(str);
java如果没有txt就创建txt
FileOutputStream fos=new FileOutputStream("test.txt",true);//true表明会追加内容,且如果没有
//txt会自动创建
java判断字符串是否为空
if(! (line==null))if(!line.isEmpty())
在控制台运行java程序
首先在你的java文件目录下运行cmd
在cmd输入下面的指令,这是把java文件转成字节码文件
javac Sample.java
我的报错了,这是因为编码格式的问题
重新输入指令
javac -encoding UTF-8 Sample.java
就会生成class文件
然后运行class文件
java Sample
注意不是下面的指令,不需要加后缀
Java 小数点分割字符串 split(".")无效 需使用split("\.")来分割
首先抛出来2个问题:
问题1: 小数点不是转义字符, 为什么不能直接用split(.)?
问题2: 为什么非要加2个反斜杠, 只加1个不行吗?
下面给出解释
解答问题1: split里面的参数是正则表达式, 在正则表达式中, 小数点表示可以匹配任意字符, 所以不能直接用小数点.
解答问题2: 由于问题1已经解决, 很自然的想法就是加上反斜杠来进行转义, 而且这个转义语法其实只有正则表达式能够识别, Java语言中并不支持这种转义, 所以只加一个反斜杠是不行的, 再通俗点说就是, 我要告诉正则表达式2个字符, 一个是反斜杠, 一个是小数点, 反斜杠由于是特殊字符, 所以我要通过转义了告诉正则表达式, 而小数点不是特殊字符, 所以我可以直接告诉正则表达式, 最后的结果就是两个反斜杠+小数点.
————————————————
版权声明:本文为CSDN博主「Glenn甘露」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/braveloser/article/details/82499129
Map的get方法爆出空指针异常
这是因为map里面没有这个key的话用get就会空指针异常,需要先用containsKey判断是否存在,存在再用get去取出value.
Map.get()方法要注意其返回值为null
Map.getOrDefault()方法
当Map集合中有这个key时,就使用这个key对应的value值,如果没有这个key就使用默认值defaultValue
下面的代码表示当map里面没有ch这个key的话就返回0(这个0就是我们自己设置的defaultValue),如果存在,就返回key对应的value,
map.put(ch, map.getOrDefault(ch, 0) + 1);
https://blog.csdn.net/lxj_1993/article/details/79798963
C语言
判断输入的数是不是整数
bool IsConvertableToInt(char a[100])
{bool flag = true;int count = 0;int length = strlen(a);if (length > 11){flag = false;}else if (length == 0){flag = false;}else{for (int j = 0; j < length; j++){if (a[j] > 57 || a[j] < 48){count++;if (count > 0){flag = false;break;}}}}return flag;
}
double转char[]
C double转char字符串
double d = 123456.1234567899;
char s[50];sprintf(s,"%f", d);
printf("%s\n", s);sprintf(s,"%.10f", d);
printf("%s\n", s);sprintf(s,"%.2f", d);
printf("%s\n", s);
int 转char[]
char f[100];
snprintf(f, sizeof(f), "%d", i+1);
新建结构体变量提示未初始化
结构体变量声明及初始化的的那些坑
typedef struct teacher {int id;//教师号char name[20];//姓名char sex[20];//性别char companyName[100];//单位名称char address[100];//家庭住址char phone[20];//联系电话struct data *teacherData;//struct spend *teacherSpend;double payable;//应发工资double spen;//合计扣款double paidWages;//实发工资
}T;
T *teacher1;teacher1=(T *)malloc(100 * sizeof(T *));
结构体的int或者double在接受控制台输入的时候报错
出错前我是这样写的
scanf("%d", teacher1->id);
修改之后不报错(就是直接取地址)
scanf("%d", &teacher1->id);
C把double保留2位写入txt
fprintf(fp, "%d\t%0.2lf\n", data[i].id, data[i].basicWage);
注意,默认的%lf是保留6位小数
C语言中数组就算是值传递,对数组元素的操作也会改变原数组
C语言实现分屏显示
https://zhidao.baidu.com/question/23896299.html
可以在输出达到一定数量时,加入一个getch();或是system(“pause”);以实现暂停输出,按任一键后继续。
#include<stdio.h>void main(){int a,b,c;for(a=1 ;a<300;a++){printf("A=%d\n",a);if(a%20==0)system("pause");} system("pause");}
MFC
MFC项目遇到的一些问题
MFC项目遇到的问题(二)
获取编辑框的值
GetDlgItem(IDC_EDIT2)->GetWindowText(structname);
字符串写入txt当有中文的时候换行不成功
如下图,改成多字节字符集
MFC:ListCtrl不显示内容?
需要先insertItem
MFC设置按钮或者编辑框可按可编辑、不可按不可编辑
GetDlgItem(IDC_EDIT1)->EnableWindow(FALSE);
GetDlgItem(IDC_EDIT3)->EnableWindow(TRUE);
MFC 退出程序方法
exit(0)当前进程就再见了
给对话框添加菜单栏
然后在OnInitDialog()函数中添加以下代码
CMenu m_Menu;m_Menu.LoadMenu(IDR_MENU1);SetMenu(&m_Menu);
【MFC】编辑框 CEdit Ctrl控件自动换行设置
MFC中Edit Control自动换行,即文字超出控件宽度自动换行。
属性设置:
Auto HScroll : False
Auto VScroll : True
Multiline : True
Want Return : True
IDEA
错误: 编码GBK的不可映射字符
我是在控制台使用命令
javadoc annoDemo.java
出的错误如下
解决方法是
javadoc -encoding UTF-8 annoDemo.java
Android
1:给界面添加一个按钮
直接拖动就好了
不知道怎么进去xml,可以参考下面的
2:给按钮绑定响应事件
在xml文件里面绑定一下函数名字
public void onclick1(View view) //这个方法是弹出一个对话框{AlertDialog.Builder builder=new AlertDialog.Builder(this);// builder.setIcon(R.drawable.ic_launcher);//设置图标builder.setTitle("若想成功必先自宫");//设置对话框的标题builder.setMessage("你确定要自宫吗?");//设置对话框的内容builder.setPositiveButton("确定", new DialogInterface.OnClickListener() { //这个是设置确定按钮@Overridepublic void onClick(DialogInterface arg0, int arg1) {Toast.makeText(MainActivity.this, "自宫成功", Toast.LENGTH_SHORT).show();}});builder.setNegativeButton("取消", new DialogInterface.OnClickListener() { //取消按钮@Overridepublic void onClick(DialogInterface arg0, int arg1) {Toast.makeText(MainActivity.this, "取消自宫",Toast.LENGTH_SHORT).show();}});AlertDialog b=builder.create();b.show(); //必须show一下才能看到对话框,跟Toast一样的道理}private void initEvent() {findViewById(R.id.button).setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {showDialog();}});}
3:Android语音播报
https://blog.csdn.net/qq_33330887/article/details/89846459
eclipse
生成构造函数 getter setter 快捷键
alt+shift+s
run as java Application报错
因为是applet程序,所以直接run as java Applet就可以了
eclipse设置控制台字体大小
如何使用Eclipse打开已有工程
Swing
点击按钮弹出新的窗口
class subWindow extends JFrame {JTextArea text1 = new JTextArea();public subWindow() {}
}btn[0].addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {subWindow testinterfrm = new subWindow();// 新建子窗口对象testinterfrm.setVisible(true);// 子窗口可见 for (int i = 0; i < result.size(); i++) {testinterfrm.add(result.get(i));}}});
给textArea添加滚动条
class subWindow extends JFrame {JTextArea text1 = new JTextArea();public subWindow() {// setTitle("计算结果");//标题
// setBounds(400, 300, 241, 394);//父窗口的坐标和大小
// getContentPane().setLayout(null);//自由布局
//
// //text1.setBounds(0, 0, 241, 394);
// text1.setBounds(0, 0, 241,394);
// // 设置字体
// text1.setFont(new Font(null, Font.PLAIN, 20));
// // 设置大小
// //text.setPreferredSize(new Dimension(280,28));
// // 不可编辑
// text1.setEditable(false);
// getContentPane().add(text1);//按钮添加到窗口中
// setLocationRelativeTo(null);//显示在屏幕中央setTitle("计算结果");// 标题this.setLayout(null);// 实例化文本框// JTextArea text1= new JTextArea();// 在文本框上添加滚动条JScrollPane jsp = new JScrollPane(text1);// 设置矩形大小.参数依次为(矩形左上角横坐标x,矩形左上角纵坐标y,矩形长度,矩形宽度)// jsp.setBounds(13, 10, 350, 340);jsp.setBounds(13, 10, 200, 340);// 默认的设置是超过文本框才会显示滚动条,以下设置让滚动条一直显示jsp.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);// 把滚动条添加到容器里面this.add(jsp);this.setSize(240, 400);this.setVisible(true);// this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);text1.setEditable(false);text1.setFont(new Font(null, Font.PLAIN, 20));setLocationRelativeTo(null);// 显示在屏幕中央}
}
一些小技巧
qq的截图快捷键按下,某些软件本来的宽口就不见了
据我观察,大都是因为按下了Alt键,会出现这种情况,解决方法是修改qq的截图快捷键,去掉alt键,或者换一种截图工具
做项目遇到的问题(C/C++/Java/MFC)相关推荐
- Java利用jenkins做项目的自动化部署
本地的jekins密码 2722e8ea873b4cf08884c22dff732bab 这篇文章主要介绍了Java利用jenkins做项目的自动化部署,小编觉得挺不错的,现在分享给大家,也给大家做个 ...
- 谈谈最近独立做项目的一些事情,一些小经验,分享之!
可以说我是一个码农,一个纯正的码农,一个脱离了低级趣味的码农,时刻准备着要做一个对社会有贡献的码农. 平常最喜欢的事情就是在群里问问题,总是有那么一群好哥们在一起,这样可以享受装逼的乐趣. 谈了这么多 ...
- python适合做后端开发吗-转行IT做后端开发,学python还是java?
你还在纠结Java还是Python的这件事,毫无疑问,这个时候,你仍然还是一个菜鸟,甚至连门都没入. 我为什么这么说呢,先别怼我,压制你心里的怒火,继续往下 我先问大家一个问题,为什么中国人用刀又是很 ...
- 算法练习day14——190402(贪心:切金条、做项目、会议室安排)
1. 切金条 一块金条切成两半,是需要花费和长度数值一样的铜板的. 比如长度为20的金条, 不管切成长度多大的两半,都要花费20个铜板. 一群人想整分整块金条, 怎么分最省铜板? 例如,给定数组{10 ...
- STM32学了很久,我还是不会做项目。
关注.星标公众号,不错过精彩内容 素材来源:知乎 编辑整理:张巧龙 知乎有人问: Stm32学了好久了,感觉独立做项目还是有力不从心的感觉? 从51开始学习,到stm32,目前为止差不服两年的时间了, ...
- 【源码+教程】Java课设项目_12款最热最新Java游戏项目_Java游戏开发_Java小游戏_飞翔的小鸟_王者荣耀_超级玛丽_推箱子_黄金矿工_贪吃蛇
马上就要期末了,同学们课设做的如何了呢?本篇为大家带来了12款热门Java小游戏项目的源码和教程,助力大家顺利迎接暑假![源码+教程]Java课设项目_12款最热最新Java游戏项目_Java游戏开发 ...
- 拜托,大厂做项目可不简单!
揭秘一线大厂研发流程 大家好,我是鱼皮. 很多未工作过的小伙伴都很好奇:企业中做项目是怎样的流程?尤其是大厂那些百万用户的项目,和自己学编程时做项目到底有什么区别呢? 实话说,区别可大了! 自己开发项 ...
- 软件开发中,做产品与做项目有什么区别?
对于个体程序员对于产品与项目的选择性问题 在IT行业,产品和项目一直是程序员们讨论的热话题.下面是我看到的一篇文章,我觉得写的比较不错.和大家来共享一下. 我始终不能避免的是程序员的最终归宿,人都有老 ...
- 猿创征文|聊一聊我在字节跳动做项目质量改进的经验
一.引言 那一年,我刚毕业一年多,在第一家公司依然到了成长瓶颈期,一是不愿意频繁出差(做乙方的无奈):二是疲于每天重复的手工测试(团队缺乏技术氛围),技术上难有突破的机会.身边的同事基本上是安于现状的 ...
- 项目在服务器的绝对路径,java获得项目绝对路径
在jsp和class文件中调用的相对路径不同. 在jsp里,根目录是WebRoot 在class文件中,根目录是WebRoot/WEB-INF/classes 当然你也可以用System.getPro ...
最新文章
- 傻傻分不清的javascript运行机制
- 5s的app显示无法连接服务器,苹果5s无法连接app store解决方法汇总
- 10种不要钱的护肤法则 - 生活至上,美容至尚!
- 中国石油管道科技研究中心2014届应届毕业生招聘(软件工程师岗)
- windows和linux运算结果不同,从Windows和Linux读取文件会产生不同的结果(字符编码?)...
- OpenGL 绘制彩色三角形的实例
- JUnit3 结合一个除法的单元测试说明Assert.fail()的用法
- 如何查找Power BI本地报表服务器产品密钥
- ArcGIS9.2的新变化
- ddx_check绑定注意事项
- 通过实验来理解代理ARP(二)
- Java学习资料-Java容器
- Clickhouse 实现row_number、dense_rank
- Zabbix 安装教程
- 老机首选:龙行天下GHOST XP SP2万能预装系统软件自选安装终结版 201007
- 【sketchup 2021】草图大师的编辑工具1【移动工具、旋转工具、缩放工具】
- 机器学习之决策树、随机森林
- rust哪家服务器便宜稳定,rust服务器选择
- 2017年全球IDC、光器件、100G及400G数通模块市场预测
- 瀑布流布局浅析+常用插件介绍(转改编)