综合

在利用面向过程思想写程序的时候,常常遇到如果把一个函数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);

方法2

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)相关推荐

  1. Java利用jenkins做项目的自动化部署

    本地的jekins密码 2722e8ea873b4cf08884c22dff732bab 这篇文章主要介绍了Java利用jenkins做项目的自动化部署,小编觉得挺不错的,现在分享给大家,也给大家做个 ...

  2. 谈谈最近独立做项目的一些事情,一些小经验,分享之!

    可以说我是一个码农,一个纯正的码农,一个脱离了低级趣味的码农,时刻准备着要做一个对社会有贡献的码农. 平常最喜欢的事情就是在群里问问题,总是有那么一群好哥们在一起,这样可以享受装逼的乐趣. 谈了这么多 ...

  3. python适合做后端开发吗-转行IT做后端开发,学python还是java?

    你还在纠结Java还是Python的这件事,毫无疑问,这个时候,你仍然还是一个菜鸟,甚至连门都没入. 我为什么这么说呢,先别怼我,压制你心里的怒火,继续往下 我先问大家一个问题,为什么中国人用刀又是很 ...

  4. 算法练习day14——190402(贪心:切金条、做项目、会议室安排)

    1. 切金条 一块金条切成两半,是需要花费和长度数值一样的铜板的. 比如长度为20的金条, 不管切成长度多大的两半,都要花费20个铜板. 一群人想整分整块金条, 怎么分最省铜板? 例如,给定数组{10 ...

  5. STM32学了很久,我还是不会做项目。

    关注.星标公众号,不错过精彩内容 素材来源:知乎 编辑整理:张巧龙 知乎有人问: Stm32学了好久了,感觉独立做项目还是有力不从心的感觉? 从51开始学习,到stm32,目前为止差不服两年的时间了, ...

  6. 【源码+教程】Java课设项目_12款最热最新Java游戏项目_Java游戏开发_Java小游戏_飞翔的小鸟_王者荣耀_超级玛丽_推箱子_黄金矿工_贪吃蛇

    马上就要期末了,同学们课设做的如何了呢?本篇为大家带来了12款热门Java小游戏项目的源码和教程,助力大家顺利迎接暑假![源码+教程]Java课设项目_12款最热最新Java游戏项目_Java游戏开发 ...

  7. 拜托,大厂做项目可不简单!

    揭秘一线大厂研发流程 大家好,我是鱼皮. 很多未工作过的小伙伴都很好奇:企业中做项目是怎样的流程?尤其是大厂那些百万用户的项目,和自己学编程时做项目到底有什么区别呢? 实话说,区别可大了! 自己开发项 ...

  8. 软件开发中,做产品与做项目有什么区别?

    对于个体程序员对于产品与项目的选择性问题 在IT行业,产品和项目一直是程序员们讨论的热话题.下面是我看到的一篇文章,我觉得写的比较不错.和大家来共享一下. 我始终不能避免的是程序员的最终归宿,人都有老 ...

  9. 猿创征文|聊一聊我在字节跳动做项目质量改进的经验

    一.引言 那一年,我刚毕业一年多,在第一家公司依然到了成长瓶颈期,一是不愿意频繁出差(做乙方的无奈):二是疲于每天重复的手工测试(团队缺乏技术氛围),技术上难有突破的机会.身边的同事基本上是安于现状的 ...

  10. 项目在服务器的绝对路径,java获得项目绝对路径

    在jsp和class文件中调用的相对路径不同. 在jsp里,根目录是WebRoot 在class文件中,根目录是WebRoot/WEB-INF/classes 当然你也可以用System.getPro ...

最新文章

  1. 傻傻分不清的javascript运行机制
  2. 5s的app显示无法连接服务器,苹果5s无法连接app store解决方法汇总
  3. 10种不要钱的护肤法则 - 生活至上,美容至尚!
  4. 中国石油管道科技研究中心2014届应届毕业生招聘(软件工程师岗)
  5. windows和linux运算结果不同,从Windows和Linux读取文件会产生不同的结果(字符编码?)...
  6. OpenGL 绘制彩色三角形的实例
  7. JUnit3 结合一个除法的单元测试说明Assert.fail()的用法
  8. 如何查找Power BI本地报表服务器产品密钥
  9. ArcGIS9.2的新变化
  10. ddx_check绑定注意事项
  11. 通过实验来理解代理ARP(二)
  12. Java学习资料-Java容器
  13. Clickhouse 实现row_number、dense_rank
  14. Zabbix 安装教程
  15. 老机首选:龙行天下GHOST XP SP2万能预装系统软件自选安装终结版 201007
  16. 【sketchup 2021】草图大师的编辑工具1【移动工具、旋转工具、缩放工具】
  17. 机器学习之决策树、随机森林
  18. rust哪家服务器便宜稳定,rust服务器选择
  19. 2017年全球IDC、光器件、100G及400G数通模块市场预测
  20. 瀑布流布局浅析+常用插件介绍(转改编)

热门文章

  1. 用PHP实现单向链表结构
  2. 杰里之K歌宝 消除人声篇【针对692X】
  3. bert-as-service的使用
  4. ant-design之Checkbox.Group循环
  5. 地下城与勇士自动搬砖之使用yolo做DNF游戏辅助
  6. 魔兽争霸3-游戏简单剖析 No.1 单位
  7. Android系统修改默认语言为中文
  8. GSVIEW 显示不完全
  9. 汇聚音视频新能量 探索行业新蓝海
  10. 趣图:不得了,日本出版社是这样吸引死宅们学编程的