Visual Studio 2015报“应输入声明错误”

前面定义变量等的时候啥问题都没有就到这个while循环就有错误了

// 图书管理.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include <iostream>
using namespace std;

struct Day //定义日期结构体
{
    int year;
    int moth;
    int day;
};

struct TheBook //定义TheBook结构体
{
    char BookName[10];   //书名
    char WriterName[10]; //作者名
    char PressName[10]; //出版社
    Day Date; //日期
};
TheBook Books[100];//Books数组
int i2 = 1;
while (i2 <= 100)
{
    Books[i2] = { BookName[10] = { -,-,-,-,-,-,-,-,-,-},WriterName[10] = { -,-,-,-,-,-,-,-,-,-},PressName[10] = { -,-,-,-,-,-,-,-,-,-},day[3] = { 0,0,0 } };
    ++i2;
}

请问哪里有错误请指出(表示第一次写C++)

3个回答

你的代码里没有主函数,具体的代码逻辑用该写在函数中

Pumpkin_233
Pumpkin_233 哦 还有除了没有放主函数外还有什么错误么???
接近 4 年之前 回复

楼上正解 ,源文件中可以有声明和定义,其它语句应该实现为函数

Books[i2] = { BookName[10] = { -,-,-,-,-,-,-,-,-,-},WriterName[10] = { -,-,-,-,-,-,-,-,-,-},PressName[10] = { -,-,-,-,-,-,-,-,-,-},day[3] = { 0,0,0 } };
这个不能这么写

修改后的程序

 #include <iostream>
#include <string>
using namespace std;

struct Day //定义日期结构体
{
    int year;
    int month;
    int day;
};

struct TheBook //定义TheBook结构体
{
    char BookName[10];   //书名
    char WriterName[10]; //作者名
    char PressName[10]; //出版社
    Day Date; //日期
};
int main()
{
TheBook Books[100];//Books数组
int i2 = 1;
while (i2 <= 100)
{
strcpy(Books[i2].BookName, "---------");
strcpy(Books[i2].WriterName, "---------");
strcpy(Books[i2].PressName, "---------");
Books[i2].Date.year = 0;
Books[i2].Date.month = 0;
Books[i2].Date.day = 0;
++i2;
}
}
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
visual studio2017 应输入;和应输入声明是怎么回事啊

![图片说明](https://img-ask.csdn.net/upload/201810/24/1540363528_6413.png)

Microsoft Visual Studio 2010 求个大神解决一下问题 帮帮忙啊!!菜鸟在线等

源文件 void menu() { int quanxianflag = 0; char name1[10]; char password1[15]; show(); initial_stuff(); initial_goods(); printf("请输入用户名:\n"); scanf("%s",name1); printf("请输入用户密码:\n"); scanf("%s",password1); stuffnode *p2; p2 = stuffhead; while(p2->next != NULL) { if ((strcmp( p2->s.name, name1) == 0 && strcmp( p2->s.password, password1) == 0 ) && ((strcmp( p2->s.quanxian, "y") == 0 || strcmp( p2->s.quanxian, "Y") == 0 ))) { quanxianflag = 1; break; } else { p2 = p2->next; } } 结构体 struct stuff //员工数据结构体 { char name[10]; char password[10]; char quanxian[2]; }; struct goods //货品数据结构体 { char number[20]; char name[20]; int quantity; char cost[20]; char volume[20]; char weight[20]; }; typedef struct a { struct stuff s; struct a *next; }stuffnode; typedef struct b { struct goods g; struct b *next; }goodsnode; stuffnode *stuffhead = NULL; //全局结构体链表指针变量头指针 stuffnode *stuffp1 = NULL; goodsnode *goodshead = NULL; goodsnode *goodsp1 = NULL; 显示错误 错误 23 error C2065: “p2”: 未声明的标识符 警告 25 warning C4047: “=”:“int”与“stuffnode *”的间接级别不同 错误 22 error C2275: “stuffnode”: 将此类型用作表达式非法 错误 27 error C2223: “->next”的左侧必须指向结构/联合 错误 33 error C2198: “strcmp”: 用于调用的参数太少 错误 29 error C2223: “->s”的左侧必须指向结构/联合

这是我写的快速排序的算法,为什么编译时出错并提示“swap函数应输入两个参数,却提供了3个”啊

求助!这是我写的快速排序的算法,为什么编译时出错并提示“swap函数应输入两个参数,却提供了3个”啊~~谢谢大家啦! #include<iostream> using namespace std; inline int findpivot(int arr[],int i,int j){ return (i+j)/2; } inline int partition(int arr[],int l,int r,int pivot){ do{ while(arr[++l]>pivot); while((l<r)&&(pivot>arr[--r])); swap(arr,l,r); }while(l<r); return l; } inline void swap(int arr[],int i,int j){ int t; t=arr[i]; arr[i]=arr[j]; arr[j]=arr[i]; } void qsort(int arr[],int i,int j){ if(j<=i) return; int pivotindex =findpivot(arr,i,j); swap(arr,pivotindex,j); int k=partition(arr,i-1,j,arr[j]); swap(arr,k,j); qsort(arr,i,k-1); qsort(arr,k+1,j); } int main(){ int a[10]; for(int i=0;i<10;i++) cin>>a[i]; qsort(a,0,9); for(int i=0;i<10;i++) cout<<a[i]<<" "; } 错误信息如下: 1>------ 已启动生成: 项目: test1_4, 配置: Debug Win32 ------ 1>生成启动时间为 2015/5/13 18:03:47。 1>InitializeBuildStatus: 1> 正在对“Debug\test1_4.unsuccessfulbuild”执行 Touch 任务。 1>ClCompile: 1> test_4.cpp 1>e:\vs2010\exercise\test1_4\test1_4\test_4.cpp(12): error C2780: “void std::swap(std::basic_iostream<_Elem,_Traits> &,std::basic_iostream<_Elem,_Traits> &)”: 应输入 2 个参数,却提供了 3 个 1> d:\program files (x86)\microsoft visual studio 10.0\vc\include\istream(970) : 参见“std::swap”的声明 1>e:\vs2010\exercise\test1_4\test1_4\test_4.cpp(12): error C2780: “void std::swap(std::basic_istream<_Elem,_Traits> &,std::basic_istream<_Elem,_Traits> &)”: 应输入 2 个参数,却提供了 3 个 1> d:\program files (x86)\microsoft visual studio 10.0\vc\include\istream(865) : 参见“std::swap”的声明 1>e:\vs2010\exercise\test1_4\test1_4\test_4.cpp(12): error C2780: “void std::swap(std::basic_ostream<_Elem,_Traits> &,std::basic_ostream<_Elem,_Traits> &)”: 应输入 2 个参数,却提供了 3 个 1> d:\program files (x86)\microsoft visual studio 10.0\vc\include\ostream(609) : 参见“std::swap”的声明 1>e:\vs2010\exercise\test1_4\test1_4\test_4.cpp(12): error C2780: “void std::swap(std::basic_string<_Elem,_Traits,_Alloc> &&,std::basic_string<_Elem,_Traits,_Alloc> &)”: 应输入 2 个参数,却提供了 3 个 1> d:\program files (x86)\microsoft visual studio 10.0\vc\include\xstring(2056) : 参见“std::swap”的声明 1>e:\vs2010\exercise\test1_4\test1_4\test_4.cpp(12): error C2780: “void std::swap(std::basic_string<_Elem,_Traits,_Alloc> &,std::basic_string<_Elem,_Traits,_Alloc> &&)”: 应输入 2 个参数,却提供了 3 个 1> d:\program files (x86)\microsoft visual studio 10.0\vc\include\xstring(2047) : 参见“std::swap”的声明 1>e:\vs2010\exercise\test1_4\test1_4\test_4.cpp(12): error C2780: “void std::swap(std::basic_string<_Elem,_Traits,_Alloc> &,std::basic_string<_Elem,_Traits,_Alloc> &)”: 应输入 2 个参数,却提供了 3 个 1> d:\program files (x86)\microsoft visual studio 10.0\vc\include\xstring(2038) : 参见“std::swap”的声明 1>e:\vs2010\exercise\test1_4\test1_4\test_4.cpp(12): error C2780: “void std::swap(std::pair<_Ty1,_Ty2> &&,std::pair<_Ty1,_Ty2> &)”: 应输入 2 个参数,却提供了 3 个 1> d:\program files (x86)\microsoft visual studio 10.0\vc\include\utility(294) : 参见“std::swap”的声明 1>e:\vs2010\exercise\test1_4\test1_4\test_4.cpp(12): error C2780: “void std::swap(std::pair<_Ty1,_Ty2> &,std::pair<_Ty1,_Ty2> &&)”: 应输入 2 个参数,却提供了 3 个 1> d:\program files (x86)\microsoft visual studio 10.0\vc\include\utility(286) : 参见“std::swap”的声明 1>e:\vs2010\exercise\test1_4\test1_4\test_4.cpp(12): error C2780: “void std::swap(std::pair<_Ty1,_Ty2> &,std::pair<_Ty1,_Ty2> &)”: 应输入 2 个参数,却提供了 3 个 1> d:\program files (x86)\microsoft visual studio 10.0\vc\include\utility(279) : 参见“std::swap”的声明 1>e:\vs2010\exercise\test1_4\test1_4\test_4.cpp(12): error C2780: “void std::swap(_Ty &,_Ty &)”: 应输入 2 个参数,却提供了 3 个 1> d:\program files (x86)\microsoft visual studio 10.0\vc\include\utility(100) : 参见“std::swap”的声明 1> 1>生成失败。 1> 1>已用时间 00:00:00.64 ========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========

VS2010编译出错。。声明了啊,为什么还是出错

#include<iostream> #include<ctype.h> #include<time.h> using namespace std; void getRandomNumbers(short,short&,short&); void displayProblem(char,short&,short&); short calCorrectAnswer(char,short,short); void main() { short gradeLevel=0; char operation=' '; short num1=0,num2=0,correctAnswer=0,userAnswer=0; cout<<"Enter grade level(1 or 2)"; cin>>gradeLevel; cout<<"Enter operation(a or s)"; cin>>operation; operation=toupper(operation); getRandomNumbers(gradeLevel,num1,num2); displayProblem(operation,num1,num2); cin>>userAnswer; correctAnswer=calCorrectAnswer(operation,num1,num2); if(userAnswer==correctAnswer) cout<<"You are right."; else cout<<"Sorry,the correct answeris "<<correctAnswer<<endl; } void getRandomNumber(short level,short&firstNum,short&secondNum) { srand((unsigned int)time(NULL)); if(level==1) { firstNum=1+rand()%(10-1+1); secondNum=1+rand()%(10-1+1); } else { firstNum=1+rand()%(100-10+1); secondNum=1+rand()%(100-1+1); } } void diaplayProblem(char operation,short&firstNum,short&secondNum) { if(operation=='A') cout<<firstNum<<"+"<<secondNum<<"="; else { if(firstNum<secondNum) { short temp=0; temp=firstNum; firstNum=secondNum; secondNum=temp; } } } short calCorrectionAnswer(char operation,short firstNum,short secondNum) { short answer=0; if(operation=='A') answer=firstNum+secondNum; else answer=firstNum-secondNum; return answer; } 1>------ 已启动生成: 项目: 初, 配置: Debug Win32 ------ 1>RandomQ.obj : error LNK2019: 无法解析的外部符号 "short __cdecl calCorrectAnswer(char,short,short)" (?calCorrectAnswer@@YAFDFF@Z),该符号在函数 _main 中被引用 1>RandomQ.obj : error LNK2019: 无法解析的外部符号 "void __cdecl displayProblem(char,short &,short &)" (?displayProblem@@YAXDAAF0@Z),该符号在函数 _main 中被引用 1>RandomQ.obj : error LNK2019: 无法解析的外部符号 "void __cdecl getRandomNumbers(short,short &,short &)" (?getRandomNumbers@@YAXFAAF0@Z),该符号在函数 _main 中被引用 1>D:\VS2010\初\Debug\初.exe : fatal error LNK1120: 3 个无法解析的外部命令 ========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========

vs2015环境下的c3861错误

![图片说明](https://img-ask.csdn.net/upload/201608/04/1470285248_337808.png) 如图所示,这样的代码为什么会显示找不到标识符错误,在dc下可以编译通过 #include "stdafx.h" #include"iostream" using namespace std; int main() { int sum = 0; int i; cout << "输入一串数字或者空格" << endl; while (cin >> i) { sum += i; while (cin.peek() == ' ') { cin.get(); } if (cin.peek() == '\n') { break; } } cout << sum << endl; return 0; }

/(ㄒoㄒ)/~~菜鸟遇到了一个错误

matlab报错:未定义与 'char' 类型的输入参数相对应的函数 'data'。 这是什么原因?

C++使用类的成员函数作为友元函数

题目是:定义Student类和Score类,输出一个学生的成绩单(包括学号、姓名、高数、英语、政治、C++成绩)要求使用Student成员函数作为友元函数 我是这样写的(用的是VS2013): **Student.h** ``` #pragma once #include<string> using namespace std; class Student { public: Student(string num, string name) { this->num = num; this->name = name; } ~Student(); void ShowData(Score &); private: string num; string name; }; ``` **Student.cpp** ``` #include "stdafx.h" #include "Student.h" #include "Score.h" #include <iostream> using namespace std; Student::~Student() { } void Student::ShowData(Score &stu) { cout << "=====学生信息=====\n"; cout << "学号:\t" << num; cout << "\n姓名:\t" << name; cout << "\n高数:\t" << stu.Math; cout << "\n英语:\t" << stu.English; cout << "\n政治:\t" << stu.Politics; cout << "\nC++:\t" << stu.Cplusplus; cout << "\n===================\n"; } ``` **Score.h** ``` #pragma once class Student; class Score { public: Score(float Math, float English, float Politics, float Cplusplus) { this->Math = Math; this->English = English; this->Politics = Politics; this->Cplusplus = Cplusplus; } ~Score(); friend void Student::ShowData(Score &); private: float Math; float English; float Politics; float Cplusplus; }; ``` **Score.cpp** ``` #include "stdafx.h" #include "Score.h" Score::~Score() { } ``` **实验三.cpp** ``` #include "stdafx.h" #include "Score.h" #include "Student.h" #include <string> #include <iostream> using namespace std; int _tmain(int argc, _TCHAR* argv[]) { string num, name; float math, english, politics, cpluslus; cout<<"请输入学号,姓名以及数学,英语,政治和C++成绩:\n"; cin >> num >> name >> math >> english >> politics >> cpluslus; Student stu(num,name); Score stu1(math,english,politics,cpluslus); stu.ShowData(stu1); return 0; } ``` 但是在Student.cpp文件中的ShowData函数中引用Score的数据成员时显示错误 ![图片说明](https://img-ask.csdn.net/upload/201604/24/1461509513_125770.png) 然后调试的时候编译器就提示有下面的错误: > 错误 1 error C2027: 使用了未定义类型“Student” c:\users\xxxx\documents\visual studio 2013\projects\实验三\实验三\score.h 17 1 实验三 > > 错误 2 error C2061: 语法错误: 标识符“Score” c:\users\xxxx\documents\visual studio 2013\projects\实验三\实验三\student.h 16 1 实验三 > > 错误 3 error C2245: 将不存在的成员函数“Student::ShowData”指定为友元(成员函数签名与所有重载都不匹配) c:\users\xxxx\documents\visual studio 2013\proje > cts\实验三\实验三\score.h 17 1 实验三 > > 错误 4 error C2511: “void Student::ShowData(Score &)”:“Student”中没有找到重载的成员函数 c:\users\xxxx\documents\visual studio 2013\projects\实验三\实验三\student.cpp 12 1 实验三 > > 错误 5 error C2597: 对非静态成员“Student::num”的非法引用 c:\users\xxxx\documents\visual studio 2013\projects\实验三\实验三\student.cpp 14 1 实验三 > > 错误 6 error C2597: 对非静态成员“Student::name”的非法引用 c:\users\xxxx\documents\visual studio 2013\projects\实验三\实验三\student.cpp 15 1 实验三 > > 错误 7 error C2248: “Score::Math”: 无法访问 private 成员(在“Score”类中声明) c:\users\xxxx\documents\visual studio 2013\projects\实验三\实验三\student.cpp 16 1 实验三 > > 错误 8 error C2248: “Score::English”: 无法访问 private 成员(在“Score”类中声明) c:\users\xxxx\documents\visual studio 2013\projects\实验三\实验三\student.cpp 17 1 实验三 > > 错误 9 error C2248: “Score::Politics”: 无法访问 private 成员(在“Score”类中声明) c:\users\xxxx\documents\visual studio 2013\projects\实验三\实验三\student.cpp 18 1 实验三 > > 错误 10 error C2248: “Score::Cplusplus”: 无法访问 private 成员(在“Score”类中声明) c:\users\xxxx\documents\visual studio 2013\projects\实验三\实验三\student.cpp 19 1 实验三 > > 错误 11 error C2027: 使用了未定义类型“Student” c:\users\xxxx\documents\visual studio 2013\projects\实验三\实验三\score.h 17 1 实验三 > 12 IntelliSense: 不允许使用不完整的类型 c:\Users\xxxx\Documents\Visual Studio 2013\Projects\实验三\实验三\Score.h 17 14 实验三 请问哪里不对呢,那两个类该怎么声明和引用啊?

c++中类访问权限的问题

#include "stdafx.h" #include "iostream" using namespace std; class Score{ public: void Input(); void Sum(); void Show(); private: double No,fMath,fPhi,fDate,fSum; char Name[10]; } void Score::Input(){ cout<<"请输入学生学号:"<<endl; cin>>No; cout<<"请输入学生名字:"<<endl; cin>>Name; cout<<"请输入数学成绩:"<<endl; cin>>fMath; cout<<"请输入物理成绩:"<<endl; cin>>fPhi; cout<<"请输入数据结构成绩:"<<endl; cin>>fDate; } void Score::Sum(){ fSum=fMath+fPhi+fDate; cout<<"总分为"<<fSum<<endl; } void Score::Show(){ cout<<Name<<endl; cout<<"数学成绩是:"<<fMath<<endl; cout<<"物理成绩是:"<<fPhi<<endl; cout<<"数据结构成绩是:"<<fDate<<endl; } int main(){ Score a; a.Input(); a.Sum(); a.Show(); return 0; } 问题: >e:\visual studio workspace\1\1\1.cpp(13): error C2628: “Score”后面接“void”是非法的(是否忘记了“;”?) 1>e:\visual studio workspace\1\1\1.cpp(13): error C2556: “Score Score::Input(void)”: 重载函数与“void Score::Input(void)”只是在返回类型上不同 1> e:\visual studio workspace\1\1\1.cpp(6) : 参见“Score::Input”的声明 1>e:\visual studio workspace\1\1\1.cpp(13): error C2371: “Score::Input”: 重定义;不同的基类型 1> e:\visual studio workspace\1\1\1.cpp(6) : 参见“Score::Input”的声明 1>e:\visual studio workspace\1\1\1.cpp(37): error C2264: “Score::Input”: 函数定义或声明中有错误;未调用函数 求助呀!!!!!!

C#写了一个很简单的程序出现错误 CS1504

------ 已启动生成: 项目: Ch05Ex02, 配置: Debug x86 ------ 错误 CS1504: 源文件“C:\Users\Ji\Desktop\Code\Ch05Ex02\Ch05Ex02\Program.cs”未能打开(“此实现不是 Windows 平台 FIPS 验证的加密算法的一部分。”) 编译完成 -- 1 个错误,0 个警告 生成启动时间为 2016/7/25 22:36:16。 GenerateTargetFrameworkMonikerAttribute: 正在跳过目标“GenerateTargetFrameworkMonikerAttribute”,因为所有输出文件相对于输入文件而言都是最新的。 CoreCompile: C:\Windows\Microsoft.NET\Framework\v4.0.30319\Csc.exe /noconfig /nowarn:1701,1702 /nostdlib+ /platform:x86 /errorreport:prompt /warn:4 /define:DEBUG;TRACE /errorendlocation /preferreduilang:zh-CN /highentropyva- /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\Microsoft.CSharp.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\mscorlib.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\System.Core.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\System.Data.DataSetExtensions.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\System.Data.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\System.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\System.Xml.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\System.Xml.Linq.dll" /debug+ /debug:full /filealign:512 /optimize- /out:obj\x86\Debug\Ch05Ex02.exe /target:exe /utf8output Program.cs Properties\AssemblyInfo.cs "C:\Users\Ji\AppData\Local\Temp\.NETFramework,Version=v4.0.AssemblyAttributes.cs" 生成失败。 已用时间 00:00:00.02 ========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========

scanf函数用%f读取double类型时,为什么会出现错误?

问题一: #include <stdio.h> double power (double n,int p); int main (void) { double x,xpow; int exp; printf("Enter a number and the positive integer power"); printf("to which will be raised . enter q"); printf("to quit.\n"); while (scanf("%1f%d",&x,&exp)==2) { xpow=power(x,exp); printf("%.3g to the power %d is %.5g\n",x,exp,xpow); printf("enter next pair of numbers or q to quit. \n"); } printf("HOPE you enjoy this power trip --bye!\n"); return 0; } double power (double n,int p) { double pow=1; int i; for (i=1;i<=p;i++) pow*=n; return pow; } 1)这个程序是《c primer plus》书上的一个例子,但是并不能计算出浮点数的整数次方,想了一天也没有看出是哪里的问题,若把double 换成float ,可以计算整数的整数次幂,还是计算不了浮点数的整数次方,这是为什么啊? 2)声明一下,用的是visual studio 编译器。 问题二: #include <stdio.h> int main(void) { double num; printf("please enter the number:\n"); scanf("%f",&num); printf("your enter number is %f",num); return 0; } 这个程序输入num=1.2时,为什么不能打印出1.2,而是与之完全不想关的很大的数?

C语言结构体在VS2013输入时候遇到的问题

IDE:VS2013 OS:Windows7 源码附上: ``` #include<windows.h> #include<stdio.h> int main() { //定义一个People类型的结构体 struct People{ char name[10];//名字 char sex[5];//性别 int age;//年龄 int Class;//班级 }me; //将me声明为People类型的结构体变量 printf("Please Input Your Name\n"); scanf_s("%s", &me.name); printf("Please Input Your sex\n"); scanf_s("%s", &me.sex); printf("Please Input Your age\n"); scanf_s("%d", &me.age); printf("Please Input Your Class\n"); scanf_s("%d", &me.Class); printf("%s", me.name); printf("%s", me.sex); printf("%d", me.age); printf("%d", me.Class); system("pause"); return 0; } ``` 问题概述 输入名字后 程序直接没了 然后直接打印出后面的三句话了 按程序来说 应该是打印一句话 然后停下来让我输入的啊 怎么我输入一个 下面三句话都打印出来了 运行结果: ![图片说明](https://img-ask.csdn.net/upload/201512/19/1450459187_263278.png) 改了下程序 把scanf_s _s去掉后 在Devc++中就可以正常使用 在Devc++中的运行结果 ![图片说明](https://img-ask.csdn.net/upload/201512/19/1450459313_572972.jpg) 请问各位C前辈 是不是因为VS2013中 对键盘缓冲区进行了特殊的处理呢?

VS2019运行单链表的插入和删除操作时引发异常?

代码运行时具体异常如下: ![图片说明](https://img-ask.csdn.net/upload/202005/19/1589850127_110144.png)![图片说明](https://img-ask.csdn.net/upload/202005/19/1589850178_771306.png)!![图片说明](https://img-ask.csdn.net/upload/202005/19/1589850290_893366.png)![图片说明](https://img-ask.csdn.net/upload/202005/19/1589850300_200185.png) 具体代码如下 ``` /*======开发环境:Windows10,Visual Studio Community 2019 版本:16.5.4===========*/ /*=================头文件=====================*/ #include <stdio.h> #include <string.h> #include <malloc.h> #include <stdlib.h> typedef struct node //定义结点 { char data[10]; //结点的数据域为字符串 struct node* next; //结点的指针域 }ListNode; typedef ListNode* LinkList; //自定义LinkList单链表类型 /*=====================函数声明=========================*/ LinkList CreatListR1(); //用头插入法建立带头结点的函数 ListNode* LocateNode(LinkList head, char* key); //函数,按值查找结点 void insertlist(LinkList head, int i, char key); //函数,插入结点 void deletelist(LinkList head, char* key); //函数,删除指定值的结点 void printlist(LinkList head); //函数,打印链表中的所有值 void deleteall(LinkList head); //函数,删除整个链表 /*====================主函数=======================*/ int main() { char* ch; char num[4]; char b[8]; ch = &b[0]; int i; LinkList head; head = CreatListR1(); //用头插入法建立单链表,返回头指针 printlist(head); printf("输入y或n选择是否插入结点。\n"); scanf("%s", num); if (strcmp(num, "y") == 0 || strcmp(num, "Y") == 0) { printf("请输入要插入的字符串:"); scanf("%s", ch); printf("\n请输入要插入的位置:"); scanf("%d", &i); insertlist(head, i, ch); printlist(head); } printf("输入y或n选择是否删除结点。\n"); scanf("%s", num); if (strcmp(num, "y") == 0 || strcmp(num, "Y") == 0) { printf("请输入要删除的字符串:"); scanf("%s", ch); deletelist(head, ch); printlist(head); } deleteall(head); system("pause"); } /*============用头插入法建立带头结点的函数==============*/ /*@param void*/ /*@return 返回头指针*/ /*@note 让用户自己输入字符串,创建单链表*/ LinkList CreatListR1(void) { char* ch; char a[8]; ch = &a[0]; LinkList head = (LinkList)malloc(sizeof(ListNode)); //创建头结点 ListNode* s, * r, * pp; r = head; r->next = NULL; //初始为空链表 printf("输入“#”代表输入结束。\n"); printf("请输入不重复的字符串:\n"); scanf("%s", ch); while (strcmp(ch, "#") != 0) { pp = LocateNode(head, ch); //查找是否输入的字符串已经存在 if (pp == NULL) { s = (ListNode*)malloc(sizeof(ListNode)); //创建新的结点 strcpy(s->data, ch); s->next = r->next; r->next = s; //将新结点插入表中 } else { printf("输入了重复的字符串。\n"); } printf("输入“#”代表输入结束。\n"); printf("请输入不重复的字符串:\n"); scanf("%s", ch); } return head; //返回头指针 } /*============按值查找结点,找到则返回结点位置,否则返回NULL==================*/ /*@param LinkList head:要查找的单链表的头指针*/ /*@param char* key:要查找的字符串*/ /*@return 若未查找到,返回NULL,如果查找到,返回字符串的结点位置*/ /*@note 按值查找结点*/ ListNode* LocateNode(LinkList head, char* key) { ListNode* p = head->next; //开始结点比较 while (p && (p->data != key)) //直到p=NULL或者p->data==key为止 p = p->next; //扫描下一个结点 return p; //若p=NULL则查找失败,返回NULL,否则p指向查找的字符串的结点位置 } /*=================向指定结点插入指定值===================*/ /*@param LinkList head:要插入指定值的单链表的头指针*/ /*@param int i:要插入字符串的位置*/ /*@param char* key:要删除的字符串*/ /*@return void*/ /*@note 在指定位置插入指定字符串*/ void insertlist(LinkList head, int i, char* key) { ListNode* p, * t, * pp; int j; p = head; j = 0; pp = LocateNode(head, key); //查找是否输入的字符串已存在 if (pp == NULL) { while (p != NULL && j < i - 1) //寻找第i-1个结点 { p = p->next; j++; } if (j != i - 1) { printf("错误的插入位置。\n"); return; } t = (ListNode*)malloc(sizeof(ListNode)); strcpy(t->data, key); //将字符串s赋值给数据域 t->next = p->next; p->next = t; } else printf("输入的字符串已存在。\n"); } /*===================删除指定值的结点=======================*/ /*@param LinkList head:要删除指定值的单链表的头指针*/ /*@param char* key:要删除的字符串*/ /*@return void*/ /*@note 删除指定字符串的结点*/ void deletelist(LinkList head, char* key) { ListNode* p, * r, * q = head; p = LocateNode(head, key); //按照key值查找结点 if (p = NULL) //若没有找到key值,退出 { printf("输入的字符串不存在。\n"); exit(0); } while (q->next != p) //p为要删除的结点,q为p的前结点 q = q->next; r = q->next; q->next = r->next; //将r的指针域赋值给q的指针域 free(r); //释放结点 } /*==============打印单链表=============*/ /*@param LinkList head:要打印的单链表的头指针*/ /*@return void*/ /*@note 打印单链表*/ void printlist(LinkList head) { ListNode* p = head->next; //从开始结点打印 while (p) { printf("%s, ", p->data); p = p->next; } printf("\n"); } /*==================删除整个单链表,释放空间=================*/ /*@param LinkList head:要删除的单链表的头指针*/ /*@return void*/ /*@note 删除整个单链表*/ void deleteall(LinkList head) { ListNode* p = head, * r; while (p->next) { r = p->next; free(p); p = r; } free(p); } ```

出现这个错误怎么解决error C2679: binary '=' :.......of type 'const int'

问题出在最后一行 G.arcs[i][j]=INFINITY 就报错,我不知道该怎么改。 ``` #include <stdio.h> #define INFINITY 2147483647 //最大值∞ #define MAX_VERTEX_NUM 20 //最大顶点数 //图的种类 typedef enum{ DG,DN,UDG,UDN //有向图,有向网,无向图,无向网 }GraphKind; //弧的定义 typedef struct Arc{ int arcvalue; //弧值 //这里可加 *info表示弧的其它信息 }Arc,AdjMatrix[MAX_VERTEX_NUM][MAX_VERTEX_NUM]; //图的结构 typedef struct MGraph{ int vexs[MAX_VERTEX_NUM]; //顶点值 AdjMatrix arcs; //邻接矩阵 int vexnum,arcnum; //图当前的顶点数和弧数 GraphKind kind; //图的种类标志 }MGraph; //建立图的邻接表,邻接矩阵 void CreateUDG(MGraph &G); //构造邻接矩阵 void CreateGraph(MGraph &G) { scanf("%s",&G.kind); //输入图的种类 switch(G.kind){ case UDG:CreateUDG(G); default:printf("输入错误,请输入(DG,DN,UDG,UDN)"); } } //构造无向图 void CreateUDG(MGraph &G) { int i,j; scanf("%d %d",&G.vexnum,&G.arcnum); //这里可以加个&IncInfo来表示弧有没有其它信息(0或1) for(i=0;i<G.vexnum;i++) scanf("%d",&G.vexs[i]); //构造顶点向量; for(i=0;i<G.vexnum;i++) for(j=0;j<G.vexnum;j++) G.arcs[i][j]=INFINITY; } ```

c++类的使用出了问题,在主函数中调用类中成员函数时编译报错

#include<iostream> using namespace std; #define PI 3.141592657 class cylinder { public: void Set(double x,double y); double Volume(); void showVolume(); private: double R,H,V; }; void cylinder::Set(double x,double y) { R=x; H=y; } double cylinder::Volume() { return (PI*R*R*H); } void cylinder::showVolume() { cout<<"体积为:"<<Volume()<<endl; } int main() { double a,b; cin>>a>>b; cylinder.Volume(a,b); return 0; } 上述代码执行会一直提示cylinder.Volume(a,b)处有语法错误,找了很久找不到问题所在。

ssms安装失败是怎么回事啊

第一次安装时由于其他软件正在安装,导致安装失败。现在每次安装时都是这个样子 ![图片说明](https://img-ask.csdn.net/upload/201906/30/1561858582_371795.png) 日志: [2F6C:2804][2019-06-30T09:36:38]i001: Burn v3.8.1128.0, Windows v6.3 (Build 9600: Service Pack 0), path: C:\Users\鲁元博\Downloads\SSMS-Setup-CHS (1).exe, cmdline: '-burn.unelevated BurnPipe.{0A675724-EDF1-4111-B250-5037B43ED2B1} {A79C7EF2-219A-402E-866A-D7013734C967} 12992' [2F6C:2804][2019-06-30T09:36:38]i000: Initializing string variable 'SSMSINSTALLROOT' to value '[ProgramFilesFolder]Microsoft SQL Server Management Studio 18' [2F6C:2804][2019-06-30T09:36:38]i000: Initializing string variable 'SSMSInstallExists' to value '0' [2F6C:2804][2019-06-30T09:36:38]i000: Initializing string variable 'SSMSInstalledLanguageMatch' to value 'false' [2F6C:2804][2019-06-30T09:36:38]i000: Initializing string variable 'SSMS18PreReleaseDetected' to value 'false' [2F6C:2804][2019-06-30T09:36:38]i000: Initializing string variable 'SSMS18InstalledVersion' to value '' [2F6C:2804][2019-06-30T09:36:38]i000: Initializing string variable 'ProductVersionVar' to value '15.0.18131.0' [2F6C:2804][2019-06-30T09:36:38]i000: Initializing string variable 'HeaderText' to value '版本 18.1' [2F6C:2804][2019-06-30T09:36:38]i000: Initializing string variable 'SubHeaderText' to value 'Microsoft SQL Server Management Studio' [2F6C:2804][2019-06-30T09:36:38]i000: Initializing string variable 'LicenseTermsUrl' to value 'https://go.microsoft.com/fwlink/?LinkID=620835&clcid=0x[System.Convert]::ToInt32(2052)' [2F6C:2804][2019-06-30T09:36:38]i000: Initializing string variable 'PreviewStatementUrl' to value 'https://go.microsoft.com/fwlink/?LinkID=824140' [2F6C:2804][2019-06-30T09:36:38]i000: Initializing string variable 'TelemetryDocumentationUrl' to value 'https://go.microsoft.com/fwlink/?LinkID=869476' [2F6C:2804][2019-06-30T09:36:38]i000: Initializing numeric variable 'InstallerLcid' to value '2052' [2F6C:2804][2019-06-30T09:36:38]i000: Initializing string variable 'CancelText' to value '取消' [2F6C:2804][2019-06-30T09:36:38]i000: Initializing string variable 'CloseText' to value '关闭(_C)' [2F6C:2804][2019-06-30T09:36:38]i000: Initializing string variable 'ContinuePastWarningText' to value '是否要继续?' [2F6C:2804][2019-06-30T09:36:38]i000: Initializing string variable 'InstallText' to value '安装(_I)' [2F6C:2804][2019-06-30T09:36:38]i000: Initializing string variable 'LicenseTermsText' to value '许可条款' [2F6C:2804][2019-06-30T09:36:38]i000: Initializing string variable 'LoadingPackagesText' to value '正在加载程序包。请稍候...' [2F6C:2804][2019-06-30T09:36:38]i000: Initializing string variable 'OverallProgressText' to value '总体进度' [2F6C:2804][2019-06-30T09:36:38]i000: Initializing string variable 'PackageProgressText' to value '程序包进度' [2F6C:2804][2019-06-30T09:36:38]i000: Initializing string variable 'PrivacyStatementText' to value '隐私声明' [2F6C:2804][2019-06-30T09:36:38]i000: Initializing string variable 'TelemetryDocumentationText' to value '文档' [2F6C:2804][2019-06-30T09:36:38]i000: Initializing string variable 'PrivacyDisclaimerText' to value '为了有助于改进产品,SQL Server Management Studio 会向 Microsoft 传输安装体验信息,以及其他使用情况和性能数据。若要详细了解数据处理和隐私控制,以及在安装后禁用收集此信息,请参阅 {documentation}。' [2F6C:2804][2019-06-30T09:36:38]i000: Initializing string variable 'RepairText' to value '修复' [2F6C:2804][2019-06-30T09:36:38]i000: Initializing string variable 'RestartText' to value '重新启动' [2F6C:2804][2019-06-30T09:36:38]i000: Initializing string variable 'SetupBlockedDescriptionText' to value '出了点问题,导致安装程序无法继续。' [2F6C:2804][2019-06-30T09:36:38]i000: Initializing string variable 'SetupBlockedText' to value '已阻止安装程序' [2F6C:2804][2019-06-30T09:36:38]i000: Initializing string variable 'SetupCanceledDescriptionText' to value '已取消安装操作。' [2F6C:2804][2019-06-30T09:36:38]i000: Initializing string variable 'SetupCanceledText' to value '已取消安装程序' [2F6C:2804][2019-06-30T09:36:38]i000: Initializing string variable 'SetupCompletedText' to value '已完成安装程序' [2F6C:2804][2019-06-30T09:36:38]i000: Initializing string variable 'SetupFailedDescriptionText' to value '安装过程中出错了。' [2F6C:2804][2019-06-30T09:36:38]i000: Initializing string variable 'SetupFailedText' to value '安装失败' [2F6C:2804][2019-06-30T09:36:38]i000: Initializing string variable 'SetupHelpDescriptionText' to value '/install | /repair | /uninstall - 安装、修复或卸载。安装为默认操作。 /passive | /quiet - 在无提示的情况下显示最小 UI 或不显示 UI 和提示。默认显示 UI 和所有提示。 /norestart - 取消任何重启尝试。默认情况下,UI 会在重启前显示提示。 /log <日志文件前缀> - SSMS 安装程序日志的前缀。默认在 %TEMP%\SSMSSetup 下创建日志文件。 SSMSInstallRoot=<SSMS 位置的路径>。 默认情况下为 {0}。' [2F6C:2804][2019-06-30T09:36:38]i000: Initializing string variable 'SetupHelpText' to value '安装程序帮助' [2F6C:2804][2019-06-30T09:36:38]i000: Initializing string variable 'SetupInstalledText' to value '已成功安装所有指定的组件。' [2F6C:2804][2019-06-30T09:36:38]i000: Initializing string variable 'SetupLayoutText' to value '已完成布局操作。' [2F6C:2804][2019-06-30T09:36:38]i000: Initializing string variable 'SetupLogText' to value '单击此处查看日志文件。' [2F6C:2804][2019-06-30T09:36:38]i000: Initializing string variable 'SetupProgressText' to value '安装进度' [2F6C:2804][2019-06-30T09:36:38]i000: Initializing string variable 'SetupRepairedText' to value '已成功修复所有指定的组件。' [2F6C:2804][2019-06-30T09:36:38]i000: Initializing string variable 'SetupRestartDescriptionText' to value '需要先重启计算机,然后安装程序才能继续。' [2F6C:2804][2019-06-30T09:36:38]i000: Initializing string variable 'SetupRestartText' to value '需要重启才能完成安装程序。' [2F6C:2804][2019-06-30T09:36:38]i000: Initializing string variable 'SetupUninstalledText' to value '已成功卸载所有指定的组件。' [2F6C:2804][2019-06-30T09:36:38]i000: Initializing string variable 'SetupWarningDescriptionText' to value '以下问题可能会影响已安装的应用程序。' [2F6C:2804][2019-06-30T09:36:38]i000: Initializing string variable 'SetupWarningText' to value '安装警告' [2F6C:2804][2019-06-30T09:36:38]i000: Initializing string variable 'TermsAndConditionText' to value '单击“安装”按钮即表明本人接受 {License Terms} 和 {Privacy Statement}。' [2F6C:2804][2019-06-30T09:36:38]i000: Initializing string variable 'UninstallText' to value '卸载' [2F6C:2804][2019-06-30T09:36:38]i000: Initializing string variable 'WelcomeInstallText' to value '欢迎使用。单击“安装”,立即开始体验吧。' [2F6C:2804][2019-06-30T09:36:38]i000: Initializing string variable 'YesText' to value '是' [2F6C:2804][2019-06-30T09:36:38]i000: Initializing string variable 'RestartAlreadyPending' to value '挂起的重启正在阻止完成安装过程。请重启计算机并再次运行安装程序。' [2F6C:2804][2019-06-30T09:36:38]i000: Initializing string variable 'AnotherInstallRunning' to value '由于当前正在运行另一个安装,安装程序被阻止。请先完成另一个安装,然后在必要时重启计算机。' [2F6C:2804][2019-06-30T09:36:38]i000: Initializing string variable 'SSMSCurrentlyRunning' to value 'SSMS 当前正在运行。请关闭 SSMS 所有已打开的实例并重新运行此安装程序。' [2F6C:2804][2019-06-30T09:36:38]i000: Initializing string variable 'MinimizeButtonAccessibleName' to value '最小化' [2F6C:2804][2019-06-30T09:36:38]i000: Initializing string variable 'Win10OrWS2016NotSupported' to value '不支持此版本的 Windows 10 或 Windows Server 2016。请升级到版本 1607 或更高版本。' [2F6C:2804][2019-06-30T09:36:38]i000: Initializing string variable 'IsUpgradeScenario' to value 'false' [2F6C:2804][2019-06-30T09:36:38]i000: Initializing string variable 'ChangeText' to value '更改(_H)' [2F6C:2804][2019-06-30T09:36:38]i000: Initializing string variable 'LocationText' to value '位置(_L):' [2F6C:2804][2019-06-30T09:36:38]i000: Initializing string variable 'InvalidLocationText' to value '位置无效。请输入有效的位置以继续。' [2F6C:2804][2019-06-30T09:36:38]i000: Setting string variable 'WixBundleLog' to value 'C:\Users\鲁元博\AppData\Local\Temp\SsmsSetup\SSMS-Setup-CHS_20190630093638.log' [2F6C:2804][2019-06-30T09:36:38]i000: Setting string variable 'WixBundleOriginalSource' to value 'C:\Users\鲁元博\Downloads\SSMS-Setup-CHS (1).exe' [2F6C:2804][2019-06-30T09:36:38]i000: Setting string variable 'WixBundleName' to value 'Microsoft SQL Server Management Studio - 18.1' [2F6C:2804][2019-06-30T09:36:38]i000: Loading managed bootstrapper application. [2F6C:2804][2019-06-30T09:36:38]i000: Creating BA thread to run asynchronously. [2F6C:2E80][2019-06-30T09:36:39]i000: ManagedBootstrapperApp.Run: Launching the managed bootstrapper application. [2F6C:2E80][2019-06-30T09:36:39]i000: BootstrapperMetadataModel.Initialize: Start loading the bootstrapper app data xml file [2F6C:1078][2019-06-30T09:36:39]i000: ManagedBootstrapperApp.LogUserEnvironmentInfoInBackground: OS Caption: Microsoft Windows 10 家庭中文版 [2F6C:1078][2019-06-30T09:36:39]i000: ManagedBootstrapperApp.LogUserEnvironmentInfoInBackground: OS Version: 10.0.16299 [2F6C:1078][2019-06-30T09:36:39]i000: ManagedBootstrapperApp.LogUserEnvironmentInfoInBackground: NetFx4 Version: 4.7.03062 [2F6C:1078][2019-06-30T09:36:39]i000: ManagedBootstrapperApp.LogUserEnvironmentInfoInBackground: OS UI Culture: Chinese (Simplified, China) (2052) [2F6C:2E80][2019-06-30T09:36:39]i000: BootstrapperMetadataModel.Initialize: Completed loading the bootstrapper app data xml file content: <BootstrapperApplicationData xmlns="http://schemas.microsoft.com/wix/2010/BootstrapperApplicationData"> <WixBalCondition Condition="SSMS18PreReleaseDetected = 0" Message="无法安装正式版(GA) SQL Server Management Studio (SSMS) v18.0,因为计算机上安装了预发布版 SSMS。请在控制面板的“添加/删除程序”中卸载预发布版 SSMS,并再次运行 SSMS 安装程序。" /> <WixBalCondition Condition="(SSMS18PreReleaseDetected = 1) OR (SSMSInstallExists = 0) OR SSMSInstalledLanguageMatch" Message="只能通过安装匹配语言包来升级 SSMS。请使用匹配版本的安装程序,或卸载当前版本的 SSMS 并再次运行 SSMS 安装程序。" /> <WixBalCondition Condition="NOT Msix64" Message="SSMS 只能安装在 64 位版本的 Windows 上。" /> <WixBalCondition Condition="RebootPending = 0" Message="安装程序检测到有一个挂起的计算机重启操作。请重启计算机,然后再次运行安装程序" /> <WixBalCondition Condition="(VersionNT = v6.1 AND ServicePackLevel = 1) OR VersionNT &gt; v6.1" Message="不支持当前操作系统。此应用程序至少需要 Windows 7 SP1 或 Windows Server 2008 R2 SP1 才能运行。" /> <WixBalCondition Condition="Installed OR (VersionNT &lt;&gt; v6.2) OR (InstallationType &lt;&gt; &quot;Client&quot;)" Message="不支持 Windows 8。请升级操作系统,然后再继续。" /> <WixBalCondition Condition="(VersionNT &lt;&gt; v6.3) OR (KB2919355_amd64_CurrentState = 112 OR KB2919355_x86_CurrentState = 112)" Message="The update corresponding to KB2919355 needs to be installed before you can install this product on Windows 8.1 or Windows Server 2012 R2. Please refer to https://support.microsoft.com/en-us/kb/2919355/ to obtain and install this update." /> <WixBundleProperties DisplayName="Microsoft SQL Server Management Studio - 18.1" LogPathVariable="WixBundleLog" Compressed="no" Id="{88251298-f74d-4665-aec9-1d88d509fc5b}" UpgradeCode="{C55E865B-F94F-42FC-A95A-00F24602F1C2}" PerMachine="yes" /> <WixMbaPrereqInformation PackageId="NetFx45Web" LicenseUrl="http://go.microsoft.com/fwlink/?LinkID=260867" /> <WixPackageProperties Package="VCRedistD12x86" Vital="no" DisplayName="Microsoft Visual C++ 2013 Redistributable (x86) - 12.0.30501" Description="Microsoft Visual C++ 2013 Redistributable (x86) - 12.0.30501" DownloadSize="6503984" PackageSize="6503984" InstalledSize="6503984" PackageType="Exe" Permanent="yes" LogPathVariable="WixBundleLog_VCRedistD12x86" RollbackLogPathVariable="WixBundleRollbackLog_VCRedistD12x86" Compressed="yes" DisplayInternalUI="no" /> <WixPackageProperties Package="VCRedistD14x86" Vital="no" DisplayName="Microsoft Visual C++ 2017 Redistributable (x86) - 14.16.27029" Description="Microsoft Visual C++ 2017 Redistributable (x86) - 14.16.27029" DownloadSize="14673288" PackageSize="14673288" InstalledSize="14673288" PackageType="Exe" Permanent="yes" LogPathVariable="WixBundleLog_VCRedistD14x86" RollbackLogPathVariable="WixBundleRollbackLog_VCRedistD14x86" Compressed="yes" DisplayInternalUI="no" /> <WixPackageProperties Package="VCRedistD14x64" Vital="no" DisplayName="Microsoft Visual C++ 2017 Redistributable (x64) - 14.16.27029" Description="Microsoft Visual C++ 2017 Redistributable (x64) - 14.16.27029" DownloadSize="15354672" PackageSize="15354672" InstalledSize="15354672" PackageType="Exe" Permanent="yes" LogPathVariable="WixBundleLog_VCRedistD14x64" RollbackLogPathVariable="WixBundleRollbackLog_VCRedistD14x64" Compressed="yes" DisplayInternalUI="no" /> <WixPackageProperties Package="HelpViewer2_3" Vital="yes" DisplayName="Microsoft Help Viewer 2.3" DownloadSize="3149592" PackageSize="3149592" InstalledSize="13682786" PackageType="Msi" Permanent="no" LogPathVariable="WixBundleLog_HelpViewer2_3" RollbackLogPathVariable="WixBundleRollbackLog_HelpViewer2_3" Compressed="yes" DisplayInternalUI="no" /> <WixPackageProperties Package="HelpViewer2_3_LP" Vital="yes" DisplayName="Microsoft Help Viewer 2.3 语言包 - 简体中文" DownloadSize="556625" PackageSize="556625" InstalledSize="812913" PackageType="Msi" Permanent="no" LogPathVariable="WixBundleLog_HelpViewer2_3_LP" RollbackLogPathVariable="WixBundleRollbackLog_HelpViewer2_3_LP" Compressed="yes" DisplayInternalUI="no" /> <WixPackageProperties Package="DotNet47" Vital="yes" DisplayName="Microsoft .NET Framework 4.7.2" Description="Microsoft .NET Framework 4.7.2 Setup" DownloadSize="83943272" PackageSize="83943272" InstalledSize="83943272" PackageType="Exe" Permanent="yes" LogPathVariable="WixBundleLog_DotNet47" RollbackLogPathVariable="WixBundleRollbackLog_DotNet47" Compressed="yes" DisplayInternalUI="no" /> <WixPackageProperties Package="NetFx45Web" Vital="yes" DisplayName="Microsoft .NET Framework 4.5" Description="Microsoft .NET Framework 4.5 Setup" DownloadSize="1005568" PackageSize="1005568" InstalledSize="1005568" PackageType="Exe" Permanent="yes" LogPathVariable="NetFx45FullWebLog" RollbackLogPathVariable="WixBundleRollbackLog_NetFx45Web" Compressed="no" DisplayInternalUI="no" /> <WixPackageProperties Package="sqlncli.msi" Vital="yes" DisplayName="Microsoft SQL Server 2012 Native Client " DownloadSize="5107712" PackageSize="5107712" InstalledSize="10813810" PackageType="Msi" Permanent="no" LogPathVariable="WixBundleLog_sqlncli.msi" RollbackLogPathVariable="WixBundleRollbackLog_sqlncli.msi" Compressed="yes" DisplayInternalUI="no" /> <WixPackageProperties Package="msodbcsql.msi" Vital="yes" DisplayName="Microsoft ODBC Driver 17 for SQL Server" DownloadSize="3657728" PackageSize="3657728" InstalledSize="10917884" PackageType="Msi" Permanent="no" LogPathVariable="WixBundleLog_msodbcsql.msi" RollbackLogPathVariable="WixBundleRollbackLog_msodbcsql.msi" Compressed="yes" DisplayInternalUI="no" /> <WixPackageProperties Package="msoledbsql.msi" Vital="yes" DisplayName="Microsoft OLE DB Driver for SQL Server" DownloadSize="5390336" PackageSize="5390336" InstalledSize="12212300" PackageType="Msi" Permanent="no" LogPathVariable="WixBundleLog_msoledbsql.msi" RollbackLogPathVariable="WixBundleRollbackLog_msoledbsql.msi" Compressed="yes" DisplayInternalUI="no" /> <WixPackageProperties Package="adalsql_x64" Vital="yes" DisplayName="适用于 SQL Server 的 Active Directory 验证库" DownloadSize="2871296" PackageSize="2871296" InstalledSize="3357210" PackageType="Msi" Permanent="yes" LogPathVariable="WixBundleLog_adalsql_x64" RollbackLogPathVariable="WixBundleRollbackLog_adalsql_x64" Compressed="yes" DisplayInternalUI="no" /> <WixPackageProperties Package="sql_as_oledb_x64" Vital="yes" DisplayName="Microsoft Analysis Services OLE DB 提供程序" DownloadSize="74444800" PackageSize="74444800" InstalledSize="478359608" PackageType="Msi" Permanent="no" LogPathVariable="WixBundleLog_sql_as_oledb_x64" RollbackLogPathVariable="WixBundleRollbackLog_sql_as_oledb_x64" Compressed="yes" DisplayInternalUI="no" /> <WixPackageProperties Package="sql_as_oledb_x86" Vital="yes" DisplayName="Microsoft Analysis Services OLE DB 提供程序" DownloadSize="36139008" PackageSize="36139008" InstalledSize="232289266" PackageType="Msi" Permanent="no" LogPathVariable="WixBundleLog_sql_as_oledb_x86" RollbackLogPathVariable="WixBundleRollbackLog_sql_as_oledb_x86" Compressed="yes" DisplayInternalUI="no" /> <WixPackageProperties Package="VS2017IsoShellForSSMS" Vital="yes" DisplayName="Visual Studio 2017 Isolated Shell for SSMS" DownloadSize="142082048" PackageSize="142082048" InstalledSize="418962877" PackageType="Msi" Permanent="no" LogPathVariable="WixBundleLog_VS2017IsoShellForSSMS" RollbackLogPathVariable="WixBundleRollbackLog_VS2017IsoShellForSSMS" Compressed="yes" DisplayInternalUI="no" /> <WixPackageProperties Package="VS2017IsoShellForSSMS_LP" Vital="yes" DisplayName="用于 SSMS LangPack 的 Visual Studio 2017 Shell (独立) - 简体中文" DownloadSize="6905856" PackageSize="6905856" InstalledSize="31787409" PackageType="Msi" Permanent="no" LogPathVariable="WixBundleLog_VS2017IsoShellForSSMS_LP" RollbackLogPathVariable="WixBundleRollbackLog_VS2017IsoShellForSSMS_LP" Compressed="yes" DisplayInternalUI="no" /> <WixPackageProperties Package="VSTA2017" Vital="yes" DisplayName="Microsoft Visual Studio Tools for Applications 2017" Description="Microsoft Visual Studio Tools for Applications 2017" DownloadSize="13647984" PackageSize="13647984" InstalledSize="13647984" PackageType="Exe" Permanent="yes" LogPathVariable="WixBundleLog_VSTA2017" RollbackLogPathVariable="WixBundleRollbackLog_VSTA2017" Compressed="yes" DisplayInternalUI="no" /> <WixPackageProperties Package="sql_ssms_x64" Vital="yes" DisplayName="SQL Server Management Studio" DownloadSize="47964160" PackageSize="47964160" InstalledSize="208078967" PackageType="Msi" Permanent="no" LogPathVariable="WixBundleLog_sql_ssms_x64" RollbackLogPathVariable="WixBundleRollbackLog_sql_ssms_x64" Compressed="yes" DisplayInternalUI="no" /> <WixPackageProperties Package="sql_ssms_loc_x64_Loc" Vital="yes" DisplayName="SQL Server Management Studio" DownloadSize="7376896" PackageSize="7376896" InstalledSize="32747110" PackageType="Msi" Permanent="no" LogPathVariable="WixBundleLog_sql_ssms_loc_x64_Loc" RollbackLogPathVariable="WixBundleRollbackLog_sql_ssms_loc_x64_Loc" Compressed="yes" DisplayInternalUI="no" /> <WixPackageProperties Package="ssms_rs_x64" Vital="yes" DisplayName="SQL Server Management Studio for Reporting Services" DownloadSize="8765440" PackageSize="8765440" InstalledSize="27019353" PackageType="Msi" Permanent="no" LogPathVariable="WixBundleLog_ssms_rs_x64" RollbackLogPathVariable="WixBundleRollbackLog_ssms_rs_x64" Compressed="yes" DisplayInternalUI="no" /> <WixPackageProperties Package="ssms_as_x64" Vital="yes" DisplayName="SQL Server Management Studio for Analysis Services" DownloadSize="73297920" PackageSize="73297920" InstalledSize="320197605" PackageType="Msi" Permanent="no" LogPathVariable="WixBundleLog_ssms_as_x64" RollbackLogPathVariable="WixBundleRollbackLog_ssms_as_x64" Compressed="yes" DisplayInternalUI="no" /> <WixPackageProperties Package="ssms_as_loc_x86" Vital="yes" DisplayName="SQL Server Management Studio for Analysis Services Localization" DownloadSize="3825664" PackageSize="3825664" InstalledSize="16651908" PackageType="Msi" Permanent="no" LogPathVariable="WixBundleLog_ssms_as_loc_x86" RollbackLogPathVariable="WixBundleRollbackLog_ssms_as_loc_x86" Compressed="yes" DisplayInternalUI="no" /> <WixPackageProperties Package="ssms_rs_loc_x86" Vital="yes" DisplayName="SQL Server Management Studio for Reporting Services Localization" DownloadSize="1548288" PackageSize="1548288" InstalledSize="4713000" PackageType="Msi" Permanent="no" LogPathVariable="WixBundleLog_ssms_rs_loc_x86" RollbackLogPathVariable="WixBundleRollbackLog_ssms_rs_loc_x86" Compressed="yes" DisplayInternalUI="no" /> <WixPackageProperties Package="ssms_is" Vital="yes" DisplayName="Integration Services" DownloadSize="32272384" PackageSize="32272384" InstalledSize="119146899" PackageType="Msi" Permanent="no" LogPathVariable="WixBundleLog_ssms_is" RollbackLogPathVariable="WixBundleRollbackLog_ssms_is" Compressed="yes" DisplayInternalUI="no" /> <WixPackageProperties Package="SsmsPostInstall_x64" Vital="yes" DisplayName="SSMS Post Install Tasks" DownloadSize="303104" PackageSize="303104" InstalledSize="0" PackageType="Msi" Permanent="no" LogPathVariable="WixBundleLog_SsmsPostInstall_x64" RollbackLogPathVariable="WixBundleRollbackLog_SsmsPostInstall_x64" Compressed="yes" DisplayInternalUI="no" /> <WixPayloadProperties Payload="VCRedistD12x86" Package="VCRedistD12x86" Container="WixAttachedContainer" Name="2013\vcredist_x86.exe" Size="6503984" DownloadUrl="https://aka.ms/vs/15/release/vc_redist.x86.exe" LayoutOnly="no" /> <WixPayloadProperties Payload="VCRedistD14x86" Package="VCRedistD14x86" Container="WixAttachedContainer" Name="2017\VC_redist.x86.exe" Size="14673288" DownloadUrl="https://aka.ms/vs/15/release/vc_redist.x86.exe" LayoutOnly="no" /> <WixPayloadProperties Payload="VCRedistD14x64" Package="VCRedistD14x64" Container="WixAttachedContainer" Name="2017\VC_redist.x64.exe" Size="15354672" DownloadUrl="https://aka.ms/vs/15/release/vc_redist.x64.exe" LayoutOnly="no" /> <WixPayloadProperties Payload="HelpViewer2_3" Package="HelpViewer2_3" Container="WixAttachedContainer" Name="redist\help3_vs_net.msi" Size="311296" LayoutOnly="no" /> <WixPayloadProperties Payload="cabE503715EC9048140D7380B4A179097EF" Package="HelpViewer2_3" Container="WixAttachedContainer" Name="redist\cab1.cab" Size="2838296" LayoutOnly="no" /> <WixPayloadProperties Payload="HelpViewer2_3_LP" Package="HelpViewer2_3_LP" Container="WixAttachedContainer" Name="redist\help3_LP_net.msi" Size="294912" LayoutOnly="no" /> <WixPayloadProperties Payload="cab96EEBCEEC415A2FC7E4C6265548D48E5" Package="HelpViewer2_3_LP" Container="WixAttachedContainer" Name="redist\cab1.cab" Size="261713" LayoutOnly="no" /> <WixPayloadProperties Payload="DotNet47" Package="DotNet47" Container="WixAttachedContainer" Name="redist\NDP472-KB4054530-x86-x64-AllOS-ENU.exe" Size="83943272" LayoutOnly="no" /> <WixPayloadProperties Payload="NetFx45Web" Package="NetFx45Web" Name="redist\dotNetFx45_Full_setup.exe" Size="1005568" DownloadUrl="http://go.microsoft.com/fwlink/?LinkId=225704" LayoutOnly="no" /> <WixPayloadProperties Payload="sqlncli.msi" Package="sqlncli.msi" Container="WixAttachedContainer" Name="x64\sqlncli.msi" Size="5107712" DownloadUrl="http://go.microsoft.com/fwlink/?LinkId=718112" LayoutOnly="no" /> <WixPayloadProperties Payload="msodbcsql.msi" Package="msodbcsql.msi" Container="WixAttachedContainer" Name="x64\msodbcsql.msi" Size="3657728" DownloadUrl="http://go.microsoft.com/fwlink/?LinkId=718071" LayoutOnly="no" /> <WixPayloadProperties Payload="msoledbsql.msi" Package="msoledbsql.msi" Container="WixAttachedContainer" Name="x64\msoledbsql.msi" Size="5390336" LayoutOnly="no" /> <WixPayloadProperties Payload="adalsql_x64" Package="adalsql_x64" Container="WixAttachedContainer" Name="x64\adalsql.msi" Size="2871296" DownloadUrl="http://go.microsoft.com/fwlink/?LinkId=718064" LayoutOnly="no" /> <WixPayloadProperties Payload="sql_as_oledb_x64" Package="sql_as_oledb_x64" Container="WixAttachedContainer" Name="x64\sql_as_oledb.msi" Size="74444800" LayoutOnly="no" /> <WixPayloadProperties Payload="sql_as_oledb_x86" Package="sql_as_oledb_x86" Container="WixAttachedContainer" Name="x86\sql_as_oledb.msi" Size="36139008" LayoutOnly="no" /> <WixPayloadProperties Payload="VS2017IsoShellForSSMS" Package="VS2017IsoShellForSSMS" Container="WixAttachedContainer" Name="redist\vs2017_isoshell_for_ssms.msi" Size="142082048" LayoutOnly="no" /> <WixPayloadProperties Payload="VS2017IsoShellForSSMS_LP" Package="VS2017IsoShellForSSMS_LP" Container="WixAttachedContainer" Name="redist\vs2017_isoshell_for_ssms_lp.msi" Size="6905856" LayoutOnly="no" /> <WixPayloadProperties Payload="VSTA2017" Package="VSTA2017" Container="WixAttachedContainer" Name="redist\vsta_setup.exe" Size="13647984" DownloadUrl="http://go.microsoft.com/fwlink/?LinkId=799679" LayoutOnly="no" /> <WixPayloadProperties Payload="sql_ssms_x64" Package="sql_ssms_x64" Container="WixAttachedContainer" Name="x64\sql_ssms.msi" Size="47964160" DownloadUrl="http://go.microsoft.com/fwlink/?LinkId=718090" LayoutOnly="no" /> <WixPayloadProperties Payload="sql_ssms_loc_x64_Loc" Package="sql_ssms_loc_x64_Loc" Container="WixAttachedContainer" Name="x64\sql_ssms_loc.msi" Size="7376896" DownloadUrl="http://go.microsoft.com/fwlink/?LinkId=718096" LayoutOnly="no" /> <WixPayloadProperties Payload="ssms_rs_x64" Package="ssms_rs_x64" Container="WixAttachedContainer" Name="x64\ssms_rs.msi" Size="8765440" LayoutOnly="no" /> <WixPayloadProperties Payload="ssms_as_x64" Package="ssms_as_x64" Container="WixAttachedContainer" Name="x64\ssms_as.msi" Size="73297920" LayoutOnly="no" /> <WixPayloadProperties Payload="ssms_as_loc_x86" Package="ssms_as_loc_x86" Container="WixAttachedContainer" Name="x86\ssms_as_loc.msi" Size="3825664" LayoutOnly="no" /> <WixPayloadProperties Payload="ssms_rs_loc_x86" Package="ssms_rs_loc_x86" Container="WixAttachedContainer" Name="x86\ssms_rs_loc.msi" Size="1548288" LayoutOnly="no" /> <WixPayloadProperties Payload="ssms_is" Package="ssms_is" Container="WixAttachedContainer" Name="x86\ssms_is.msi" Size="32272384" LayoutOnly="no" /> <WixPayloadProperties Payload="SsmsPostInstall_x64" Package="SsmsPostInstall_x64" Container="WixAttachedContainer" Name="x64\SsmsPostInstall.msi" Size="303104" LayoutOnly="no" /> <WixStdbaOverridableVariable Name="SSMSINSTALLROOT" /> </BootstrapperApplicationData> [2F6C:2E80][2019-06-30T09:36:40]i000: MainViewModel.CheckFailedConditions: Check whether OS is Windows 10 / Windows Server 2016 pre-RS1 (build <= 10586). OSVersion = 10.0.16299 [2F6C:2E80][2019-06-30T09:36:40]i000: ManagedBootstrapperApp.SetCommandLineProperties: Begin [2F6C:2E80][2019-06-30T09:36:40]i000: ManagedBootstrapperApp.SetCommandLineProperties: End [2F6C:2804][2019-06-30T09:36:41]i100: Detect begin, 24 packages [2F6C:2804][2019-06-30T09:36:41]i000: Setting string variable 'NETFRAMEWORK45' to value '461814' [2F6C:2804][2019-06-30T09:36:41]i000: Registry value not found. Key = 'SOFTWARE\Microsoft\Microsoft SQL Server Management Studio\18', Value = 'Version' [2F6C:2804][2019-06-30T09:36:41]i000: Registry key not found. Key = 'SOFTWARE\Microsoft\SQL Server Management Studio\18' [2F6C:2804][2019-06-30T09:36:41]i000: Setting numeric variable 'SSMS18PreReleaseDetected' to value 0 [2F6C:2804][2019-06-30T09:36:41]i000: Setting numeric variable 'SSMSInstallExists' to value 1 [2F6C:2804][2019-06-30T09:36:41]i052: Condition 'SSMSInstallExists' evaluates to true. [2F6C:2804][2019-06-30T09:36:41]i000: Setting string variable 'SSMSINSTALLROOT' to value 'C:\Program Files (x86)\Microsoft SQL Server Management Studio 18\' [2F6C:2804][2019-06-30T09:36:41]i052: Condition 'SSMSInstallExists' evaluates to true. [2F6C:2804][2019-06-30T09:36:41]i000: Registry value not found. Key = 'SOFTWARE\Microsoft\Microsoft SQL Server Management Studio\18', Value = 'Version' [2F6C:2804][2019-06-30T09:36:41]i052: Condition 'SSMSInstallExists' evaluates to true. [2F6C:2804][2019-06-30T09:36:41]i000: Registry key not found. Key = 'SOFTWARE\Microsoft\Microsoft SQL Server Management Studio\18\Language' [2F6C:2804][2019-06-30T09:36:41]i000: Setting numeric variable 'SSMSInstalledLanguageMatch' to value 0 [2F6C:2804][2019-06-30T09:36:41]i000: Setting numeric variable 'VCRedist_D12x86_KeyExists' to value 1 [2F6C:2804][2019-06-30T09:36:41]i000: Setting string variable 'VCRedist_D14x64_Bld' to value '27024' [2F6C:2804][2019-06-30T09:36:41]i000: Setting numeric variable 'VCRedist_D14x64_KeyExists' to value 1 [2F6C:2804][2019-06-30T09:36:41]i000: Setting string variable 'VCRedist_D14x64_Major' to value '14' [2F6C:2804][2019-06-30T09:36:41]i000: Setting string variable 'VCRedist_D14x64_Minor' to value '16' [2F6C:2804][2019-06-30T09:36:41]i000: Setting string variable 'VCRedist_D14x86_Bld' to value '27024' [2F6C:2804][2019-06-30T09:36:41]i000: Setting numeric variable 'VCRedist_D14x86_KeyExists' to value 1 [2F6C:2804][2019-06-30T09:36:41]i000: Setting string variable 'VCRedist_D14x86_Major' to value '14' [2F6C:2804][2019-06-30T09:36:41]i000: Setting string variable 'VCRedist_D14x86_Minor' to value '16' [2F6C:2804][2019-06-30T09:36:41]i000: Registry key not found. Key = 'HKLM\Software\Microsoft\DevDiv\vsta\Servicing\15.0\hosting' [2F6C:2804][2019-06-30T09:36:41]i000: Registry key not found. Key = 'SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\Packages\Package_for_KB2919355~31bf3856ad364e35~amd64~~6.3.1.14' [2F6C:2804][2019-06-30T09:36:41]i000: Setting string variable 'Netfx4FullReleaseX64' to value '461814' [2F6C:2804][2019-06-30T09:36:41]i000: Setting string variable 'InstallationType' to value 'Client' [2F6C:2804][2019-06-30T09:36:41]i000: Setting string variable 'Netfx4ClientReleaseX64' to value '461814' [2F6C:2804][2019-06-30T09:36:41]i000: Registry key not found. Key = 'SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\Packages\Package_for_KB2919355~31bf3856ad364e35~x86~~6.3.1.14' [2F6C:2804][2019-06-30T09:36:41]i052: Condition 'VCRedist_D12x86_KeyExists' evaluates to true. [2F6C:2804][2019-06-30T09:36:41]i052: Condition 'VCRedist_D14x86_KeyExists AND (VCRedist_D14x86_Major >= 14) AND (VCRedist_D14x86_Minor >= 10) AND (VCRedist_D14x86_Bld >= 25008)' evaluates to true. [2F6C:2804][2019-06-30T09:36:41]i052: Condition 'VCRedist_D14x64_KeyExists AND (VCRedist_D14x64_Major >= 14) AND (VCRedist_D14x64_Minor >= 10) AND (VCRedist_D14x64_Bld >= 25008)' evaluates to true. [2F6C:2804][2019-06-30T09:36:41]i052: Condition '(Netfx4FullReleaseX64 >= 461808) OR (NetFx4ClientReleaseX64 >= 461808)' evaluates to true. [2F6C:2804][2019-06-30T09:36:41]i052: Condition 'NETFRAMEWORK45 >= 378389' evaluates to true. [2F6C:2804][2019-06-30T09:36:41]i052: Condition 'VSTA2017Installed' evaluates to false. [2F6C:2804][2019-06-30T09:36:41]i101: Detected package: VCRedistD12x86, state: Present, cached: None [2F6C:2804][2019-06-30T09:36:41]i101: Detected package: VCRedistD14x86, state: Present, cached: None [2F6C:2804][2019-06-30T09:36:41]i101: Detected package: VCRedistD14x64, state: Present, cached: None [2F6C:2804][2019-06-30T09:36:41]i101: Detected package: HelpViewer2_3, state: Present, cached: None [2F6C:2804][2019-06-30T09:36:41]i101: Detected package: HelpViewer2_3_LP, state: Present, cached: None [2F6C:2804][2019-06-30T09:36:41]i101: Detected package: DotNet47, state: Present, cached: None [2F6C:2804][2019-06-30T09:36:41]i101: Detected package: NetFx45Web, state: Present, cached: None [2F6C:2804][2019-06-30T09:36:41]i101: Detected package: sqlncli.msi, state: Present, cached: None [2F6C:2804][2019-06-30T09:36:41]i101: Detected package: msodbcsql.msi, state: Present, cached: None [2F6C:2804][2019-06-30T09:36:41]i101: Detected package: msoledbsql.msi, state: Present, cached: None [2F6C:2804][2019-06-30T09:36:41]i101: Detected package: adalsql_x64, state: Present, cached: None [2F6C:2804][2019-06-30T09:36:41]i101: Detected package: sql_as_oledb_x64, state: Present, cached: None [2F6C:2804][2019-06-30T09:36:41]i101: Detected package: sql_as_oledb_x86, state: Present, cached: None [2F6C:2804][2019-06-30T09:36:41]i101: Detected package: VS2017IsoShellForSSMS, state: Present, cached: None [2F6C:2804][2019-06-30T09:36:41]i101: Detected package: VS2017IsoShellForSSMS_LP, state: Present, cached: None [2F6C:2804][2019-06-30T09:36:41]i101: Detected package: VSTA2017, state: Absent, cached: None [2F6C:2804][2019-06-30T09:36:41]i101: Detected package: sql_ssms_x64, state: Absent, cached: None [2F6C:2804][2019-06-30T09:36:41]i101: Detected package: sql_ssms_loc_x64_Loc, state: Absent, cached: None [2F6C:2804][2019-06-30T09:36:41]i101: Detected package: ssms_rs_x64, state: Absent, cached: None [2F6C:2804][2019-06-30T09:36:41]i101: Detected package: ssms_as_x64, state: Absent, cached: None [2F6C:2804][2019-06-30T09:36:41]i101: Detected package: ssms_as_loc_x86, state: Absent, cached: None [2F6C:2804][2019-06-30T09:36:41]i101: Detected package: ssms_rs_loc_x86, state: Absent, cached: None [2F6C:2804][2019-06-30T09:36:41]i101: Detected package: ssms_is, state: Absent, cached: None [2F6C:2804][2019-06-30T09:36:41]i101: Detected package: SsmsPostInstall_x64, state: Absent, cached: None [2F6C:2804][2019-06-30T09:36:41]i000: BootstrapperEngineDataModel.OnDetectComplete.: Entering... [2F6C:2804][2019-06-30T09:36:41]i000: MainViewModel: Trying to parse value '1' for property 'SSMSInstallExists'... [2F6C:2804][2019-06-30T09:36:41]i000: MainViewModel.CheckInstallPathIsValid: Successfully created and deleted installation folder - 'C:\Program Files (x86)\Microsoft SQL Server Management Studio 18\' [2F6C:2804][2019-06-30T09:36:41]i000: MainViewModel.OnBootstrapperReady: IsUpgradeScenario=True [2F6C:2804][2019-06-30T09:36:41]i000: MainViewModel.OnBootstrapperReady: SSMSInstallRoot=C:\Program Files (x86)\Microsoft SQL Server Management Studio 18\ [2F6C:2804][2019-06-30T09:36:41]e000: MainViewModel: SSMSInstallVersion not found. [2F6C:2804][2019-06-30T09:36:41]i000: MainViewModel.OnBootstrapperReady: SSMSInstallVersion= [2F6C:2804][2019-06-30T09:36:41]i052: Condition 'RebootPending = 1' evaluates to false. [2F6C:2804][2019-06-30T09:36:41]i052: Condition 'SSMS18PreReleaseDetected = 0' evaluates to true. [2F6C:2804][2019-06-30T09:36:41]i052: Condition '(SSMS18PreReleaseDetected = 1) OR (SSMSInstallExists = 0) OR SSMSInstalledLanguageMatch' evaluates to false. [2F6C:2804][2019-06-30T09:36:41]i052: Condition 'NOT Msix64' evaluates to true. [2F6C:2804][2019-06-30T09:36:41]i052: Condition 'RebootPending = 0' evaluates to true. [2F6C:2804][2019-06-30T09:36:41]i052: Condition '(VersionNT = v6.1 AND ServicePackLevel = 1) OR VersionNT > v6.1' evaluates to true. [2F6C:2804][2019-06-30T09:36:41]i052: Condition 'Installed OR (VersionNT <> v6.2) OR (InstallationType <> "Client")' evaluates to true. [2F6C:2804][2019-06-30T09:36:41]i052: Condition '(VersionNT <> v6.3) OR (KB2919355_amd64_CurrentState = 112 OR KB2919355_x86_CurrentState = 112)' evaluates to true. [2F6C:2804][2019-06-30T09:36:41]i000: MainViewModel.AddFailedCondition: Error: 只能通过安装匹配语言包来升级 SSMS。请使用匹配版本的安装程序,或卸载当前版本的 SSMS 并再次运行 SSMS 安装程序。 [2F6C:2804][2019-06-30T09:36:41]i000: BootstrapperEngineDataModel.OnDetectComplete.: Exiting. [2F6C:2804][2019-06-30T09:36:41]i199: Detect complete, result: 0x0 [2F6C:2E80][2019-06-30T09:36:43]i000: MainViewModel.OpenUrl: Opening url: C:\Users\鲁元博\AppData\Local\Temp\SsmsSetup\SSMS-Setup-CHS_20190630093638.log

C++ warning C4346 依赖名称不是类型

//编写一个函数模板 //该模板用于将l1链表的[p1,l1.end())区间和l2链表的[p2,l1.end())区间的内容交换。 //在主函数中调用该模板,以测试该模板的正确性 #include <iostream> #include <list> #include <iterator> using namespace std; template<class T> void exchange(list<T>& l1, list<T>::iterator p1, list<T>& l2, list<T>::iterator p2) { list<T>l3; l3.splice(l3.begin(), l1, p1, l1.end()); l1.splice(l1.end(), l2, p2, l2.end()); l2.splice(l2.end(), l3, l3.begin(), l3.end()); } int main() { int a[5] = { 1,2,3,4,5 }; int b[6] = { 10,11,12,13,14,15 }; list<int>l1(a, a + 5); list<int>l2(b, b + 6); cout << "l1 before exchange: "; copy(l1.begin(), l1.end(), ostream_iterator<int>(cout, " ")); cout << "l2 before exchange: "; copy(l2.begin(), l2.end(), ostream_iterator<int>(cout, " ")); list<int>::iterator iter1 = l1.begin(); advance(iter1, 3); list<int>::iterator iter2 = l2.begin(); advance(iter2, 3); exchange<int>(l1, iter1, l2, iter2); cout << "l1 after exchange: "; copy(l1.begin(), l1.end(), ostream_iterator<int>(cout, " ")); cout << "l2 after exchange: "; copy(l2.begin(), l2.end(), ostream_iterator<int>(cout, " ")); return 0; } 1>g:\c++\homework in book\10_6\10_6\10_6.cpp(12): warning C4346: “std::list<T,std::allocator<_Ty>>::iterator”: 依赖名称不是类型 1> g:\c++\homework in book\10_6\10_6\10_6.cpp(12): note: 用“typename”为前缀来表示类型 1>g:\c++\homework in book\10_6\10_6\10_6.cpp(12): error C2061: 语法错误: 标识符“iterator” 1>g:\c++\homework in book\10_6\10_6\10_6.cpp(35): error C2672: “exchange”: 未找到匹配的重载函数 1>g:\c++\homework in book\10_6\10_6\10_6.cpp(35): error C2780: “void exchange(std::list<T,std::allocator<_Ty>> &)”: 应输入 1 个参数,却提供了 4 个 1> g:\c++\homework in book\10_6\10_6\10_6.cpp(12): note: 参见“exchange”的声明 1>g:\c++\homework in book\10_6\10_6\10_6.cpp(35): error C2780: “_Ty std::exchange(_Ty &,_Other &&)”: 应输入 2 个参数,却提供了 4 个 1> d:\microsoft visual studio 14.0\vc\include\utility(590): note: 参见“std::exchange”的声明 ========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========

OpenCV4.0+VS2017下运行程序总是出现未定义标识符

#include "opencv2/highgui/highgui.hpp" #include "opencv2/imgproc/imgproc.hpp" #include <iostream> using namespace cv; using namespace std; int main() { Mat srcImage = imread("E:\\image\\image001.png", 0);//只读取灰度图 if (!srcImage.data) { cout << "fail to load image" << endl; return 0; } imshow("原图", srcImage); MatND dstHist;//得到的直方图 int dims = 1;//得到的直方图的维数 灰度图的维数为1 float hranges[2] = { 1, 255 }; //直方图统计的灰度值范围 const float *ranges[1] = { hranges }; // 这里需要为const类型,二维数组用来指出每个区间的范围 int bin = 255;//直方图横坐标的区间数 即横坐标被分成多少份 int channels = 0;//图像得通道 灰度图的通道数为0 /* 计算图像的直方图 */ calcHist(&srcImage, 1/*输入图像个数*/, &channels, Mat()/*掩码*/, dstHist, dims, &bin, ranges); int height = 150; //直方图高度 int scale = 3; //垂直缩放比 int horvizon_scale = 3; //水平缩放比 //获取最大值和最小值 double minValue = 0; double maxValue = 0; minMaxLoc(dstHist, &minValue, &maxValue, 0, 0); //找到直方图中的最大值和最小值 int shift_vertical = 13; //直方图偏移值,偏移用于显示水平坐标 int shift_horvizon = 30; //直方图偏移值,偏移用于显示垂直坐标 //绘制出直方图 Mat dstImage(height*scale, bin*horvizon_scale + shift_horvizon, CV_8UC3, Scalar(0, 0, 0)); //创建一个彩色三通道矩阵,大小a*b,填充0 int hpt = saturate_cast<int>((dstImage.rows - shift_vertical)*0.95); //最大值对应的Y坐标,防止溢出 for (int i = 0; i < bin; i++) { float binValue = dstHist.at<float>(i); int realValue = saturate_cast<int>(binValue * hpt / maxValue); rectangle(dstImage, Point(i*horvizon_scale + shift_horvizon, dstImage.rows - 1 - shift_vertical), Point((i + 1)*horvizon_scale + shift_horvizon - 1, dstImage.rows - realValue - shift_vertical), Scalar(255, 255, 255), 1, 8, 0); } //绘制垂直刻度 char string[100]; CvFont font; double font_size = 1;//字体大小 cvInitFont(&font, CV_FONT_HERSHEY_PLAIN, 1, 1, 0, 1, 8);//字体结构初始化 Size text_size; for (int i = hpt; i >= 0; ) { _itoa(maxValue*i / hpt, string, 10);//把一个整数转换为字符串 //在图像中显示文本字符串 text_size = getTextSize(string, CV_FONT_HERSHEY_PLAIN, font_size, 1, NULL); //获得字体大小 putText(dstImage, string, cvPoint(0, dstImage.rows - i - shift_vertical + text_size.height / 2), cv::FONT_HERSHEY_PLAIN, font_size, Scalar(0, 255, 0), 1, 8, 0); i -= hpt / 10; //只显示10个刻度 } //刻画水平刻度 for (int i = bin; i >= 0;) { _itoa(i, string, 10);//把一个整数转换为字符串 //在图像中显示文本字符串 text_size = getTextSize(string, CV_FONT_HERSHEY_PLAIN, font_size, 1, NULL); //获得字体大小 putText(dstImage, string, cvPoint(i*horvizon_scale + shift_horvizon - text_size.width / 2, dstImage.rows), cv::FONT_HERSHEY_PLAIN, font_size, Scalar(0, 0, 255), 1, 8, 0); i -= bin / 20; //只显示20个刻度 } //显示统计信息 sprintf(string, "bin=%d Ranges from %d to %d", bin, (int)hranges[0], (int)hranges[1]); putText(dstImage, string, cvPoint(dstImage.cols / 5, 30), cv::FONT_HERSHEY_PLAIN, (double)1.3, Scalar(255, 0, 0), 1, 8, 0); imshow("一维直方图", dstImage); waitKey(0); return 0; } ![图片说明](https://img-ask.csdn.net/upload/201812/23/1545555199_956187.png)![图片说明](https://img-ask.csdn.net/upload/201812/23/1545555211_536475.png)![图片说明](https://img-ask.csdn.net/upload/201812/23/1545555329_148941.png)![图片说明](https://img-ask.csdn.net/upload/201812/23/1545555345_333811.png)![图片说明](https://img-ask.csdn.net/upload/201812/23/1545555357_375944.png)![图片说明](https://img-ask.csdn.net/upload/201812/23/1545555364_16099.png)![图片说明](https://img-ask.csdn.net/upload/201812/23/1545555372_689184.png)这是什么原因啊 ``` ```

C#写串口通信程序接收数据没有反应是怎么回事啊??

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.IO.Ports; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace ChuanKou2 { public partial class Form1 : Form { SerialPort sp = null; //声明串口类 bool isOpen = false; //打开串口标志 bool isSetProperty = false; //属性设置标志 bool isHex = false; //十六进制显示标志位 public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { this.MaximumSize = this.Size; this.MinimumSize = this.Size; this.MaximizeBox = false; for (int i=0;i<10;i++) { cbxCOMPort.Items.Add("COM" + (i + 1).ToString()); } } private void btnCheckCOM_Click(object sender, EventArgs e) //检测有哪串口 { bool comExistence = false; //是否有可用的串口 cbxCOMPort.Items.Clear(); //清除当前串口号中的所有串口名称 for(int i=0;i<10;i++) { try { SerialPort sp = new SerialPort("COM" + (i + 1).ToString()); sp.Open(); sp.Close(); cbxCOMPort.Items.Add("COM" + (i + 1).ToString()); comExistence = true; } catch (Exception) { continue; } } if (comExistence) { cbxCOMPort.SelectedIndex = 0;//使ListBox显示第一个添加的索引 } else { MessageBox.Show("没有找到可用串口!","错误提示"); } } private bool CheckPortSetting() //串口是否设置 { if (cbxCOMPort.Text.Trim() == "") return false; if (cbxBaudRate.Text.Trim() == "") return false; if (cbxDataBits.Text.Trim() == "") return false; if (cbxParitv.Text.Trim() == "") return false; if (cbxStopBits.Text.Trim() == "") return false; return true; } private bool CheckSendData() { if (tbxSendData.Text.Trim() == "") return false; return true; } private void SetPortProPerty() //设置串口属性 { sp = new SerialPort(); sp.PortName = cbxCOMPort.Text.Trim(); //串口名 sp.BaudRate = Convert.ToInt32(cbxBaudRate.Text.Trim());//波特率 float f = Convert.ToSingle(cbxStopBits.Text.Trim());//停止位 if (f == 0) { sp.StopBits = StopBits.None; } else if (f == 1.5) { sp.StopBits = StopBits.OnePointFive; } else if (f == 1) { sp.StopBits = StopBits.One; } else if (f == 2) { sp.StopBits = StopBits.Two; } else { sp.StopBits = StopBits.One; } sp.DataBits = Convert.ToInt16(cbxDataBits.Text.Trim());//数据位 string s = cbxParitv.Text.Trim(); //校验位 if (s.CompareTo("无") == 0) { sp.Parity = Parity.None; } else if (s.CompareTo("奇校验") == 0) { sp.Parity = Parity.Odd; } else if (s.CompareTo("偶校验") == 0) { sp.Parity = Parity.Even; } else { sp.Parity = Parity.None; } sp.ReadTimeout = -1; //设置超时读取时间 sp.RtsEnable = true; //定义DataReceived事件,当串口收到数据后触发事件 sp.DataReceived += new SerialDataReceivedEventHandler(sp_DataReceived); if (rbnHex.Checked) { isHex = true; } else { isHex = false; } } private void sp_DataReceived(object sender,SerialDataReceivedEventArgs e) { System.Threading.Thread.Sleep(100); //延时100ms等待接收数据 //this.Invoke 跨线程访问ui的方法 this.Invoke((EventHandler)(delegate { if (isHex == false) { tbxRecvData.Text += sp.ReadLine(); } else { Byte[] ReceivedData = new Byte[sp.BytesToRead]; sp.Read(ReceivedData, 0, ReceivedData.Length); String RecvDataText = null; for(int i = 0; i < ReceivedData.Length - 1; i++) { RecvDataText += ("0x" + ReceivedData[i].ToString("X2") + ""); } tbxRecvData.Text += RecvDataText; } sp.DiscardInBuffer(); //丢弃接收缓冲区数据 })); } private void btnSend_Click(object sender, EventArgs e) //发送数据 { if (isOpen) { try { sp.WriteLine(tbxSendData.Text); } catch(Exception) { MessageBox.Show("发送数据时发生错误!", "错误提示"); return; } } else { MessageBox.Show("串口未打开", "错误提示"); return; } if (!CheckSendData()) { MessageBox.Show("请输入要发送的数据!", "错误提示"); return; } } private void btnOpenCom_Click(object sender, EventArgs e) { if (isOpen == false) { if (!CheckPortSetting()) //检测串口设置 { MessageBox.Show("串口未设置!", "错误提示"); return; } if (!isSetProperty) //串口未设置则设置串口 { SetPortProPerty(); isSetProperty = true; } try { sp.Open(); isOpen = true; btnOpenCom.Text = "关闭串口"; //串口打开后则相关串口设置按钮便不可再用 cbxCOMPort.Enabled = false; cbxBaudRate.Enabled = false; cbxDataBits.Enabled = false; cbxParitv.Enabled = false; cbxStopBits.Enabled = false; rbnChar.Enabled = false; rbnHex.Enabled = false; } catch (Exception) { //打开串口失败后,相应标志位取消 isSetProperty = false; isOpen = false; MessageBox.Show("串口无效或已被占用!", "错误提示"); } } else { try //关闭串口 { sp.Close(); isOpen = false; btnOpenCom.Text = "打开串口"; //关闭串口后,串口设置选项可以继续使用 cbxCOMPort.Enabled = true; cbxBaudRate.Enabled = true; cbxDataBits.Enabled = true; cbxParitv.Enabled = true; cbxStopBits.Enabled = true; rbnChar.Enabled = true; rbnHex.Enabled = true; } catch (Exception) { MessageBox.Show("关闭串口时发生错误!", "错误提示"); } } } private void btnCleanData_Click(object sender, EventArgs e) { tbxRecvData.Text = ""; tbxSendData.Text = ""; } } }

VS2010 MFC登录对话框打开数据库失败后意外出现主界面的问题

用VS2010 MFC建立了一个主界面为对话框的函数,要求需要登录对话框,且通过读取数据库来校验用户,代码如下: BOOL CManagementDlg::OnInitDialog()//主对话框初始函数 { CDialogEx::OnInitDialog(); _CLogInDlg dlgLogin; if(dlgLogin.DoModal() != IDOK)//登录对话框 { OnOK(); return TRUE; }_ // 将“关于...”菜单项添加到系统菜单中。 // IDM_ABOUTBOX 必须在系统命令范围内。 ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX); ASSERT(IDM_ABOUTBOX < 0xF000); CMenu* pSysMenu = GetSystemMenu(FALSE); if (pSysMenu != NULL) { BOOL bNameValid; CString strAboutMenu; bNameValid = strAboutMenu.LoadString(IDS_ABOUTBOX); ASSERT(bNameValid); if (!strAboutMenu.IsEmpty()) { pSysMenu->AppendMenu(MF_SEPARATOR); pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu); } } // 设置此对话框的图标。当应用程序主窗口不是对话框时,框架将自动 // 执行此操作 SetIcon(m_hIcon, TRUE); // 设置大图标 SetIcon(m_hIcon, FALSE); // 设置小图标 ShowWindow(SW_MAXIMIZE); // TODO: 在此添加额外的初始化代码 return TRUE; // 除非将焦点设置到控件,否则返回 TRUE } 登录对话框响应登录按钮的代码如下: void CLogInDlg::OnClickedButtonLogin() { // TODO: 在此添加控件通知处理程序代码 UpdateData(TRUE); if(m_strLogUser.GetLength() == 0) { MessageBox(_T("请输入用户名!")); return; } CManagementDlg *pdlgMain = (CManagementDlg *)theApp.m_pMainWnd; CString strDataSource; CString strInitCatalog; CString strUser; CString strPassword; CString strTableName = _T(TABLE_NAME_STAFF); CAdoDBControl myAdoControl;//对象声明 CString strShow; UINT iGet = 0; iGet = CAdoDBControl::GetDbCfgFromIniFile(); if(iGet & INI_USERID_MISSING) { strShow.Format(_T("配置文件%s中未找到数据库用户名"), _T(INI_FILE_NAME)); MessageBox(strShow); return; } if(iGet & INI_PWD_MISSING) { strShow.Format(_T("配置文件%s中未找到数据库用户密码"), _T(INI_FILE_NAME)); MessageBox(strShow); return; } if(iGet & INI_DATASOURCE_MISSING) { strShow.Format(_T("配置文件%s中未找到数据库主机名"), _T(INI_FILE_NAME)); MessageBox(strShow); return; } if(iGet & INI_INITCATALOG_MISSING) { strShow.Format(_T("配置文件%s中未找到数据库名"), _T(INI_FILE_NAME)); MessageBox(strShow); return; } if(iGet & INI_FILE_MISSING) { strShow.Format(_T("配置文件%s未找到"), _T(INI_FILE_NAME)); MessageBox(strShow); return; } CAdoDBControl::GetDbCfg(strUser, strPassword, strDataSource, strInitCatalog); CString strSql; strSql.Format(_T("Provider=SQLOLEDB.1;Data Source=%s;User ID=%s;Password=%s;Initial Catalog=%s;Persist Security Info=FALSE"), strDataSource, strUser, strPassword, strInitCatalog); _int iResult = myAdoControl.Open(strSql.AllocSysString(), adModeUnknown); if(ADO_DB_SUCCESSFUL != iResult) { return; }_ strSql.Format(_T("SELECT * FROM %s WHERE 用户名='%s'"), strTableName, m_strLogUser); vector<vector<_variant_t>> vSelectResult = myAdoControl.Select(strSql.AllocSysString()); myAdoControl.Close(); int iFindNumber = vSelectResult.size(); if(iFindNumber < 1) { CString strMsg; strMsg.Format(_T("用户%s不存在"), m_strLogUser); MessageBox(strMsg); return; } _variant_t vUser = vSelectResult[0][STAFF_USERNAME_COLUMN]; _variant_t vPwd = vSelectResult[0][STAFF_PASSWORD_COLUMN]; CString strUserFromSql = (LPCTSTR)_bstr_t(vUser); CString strPwdFromSql = (LPCTSTR)_bstr_t(vPwd); if((!strUserFromSql.CompareNoCase(m_strLogUser)) && (strPwdFromSql == m_strLogPwd)) { pdlgMain->m_stCurUser.m_strUserName = strUserFromSql; _variant_t vElement = vSelectResult[0][STAFF_NO_COLUMN]; pdlgMain->m_stCurUser.m_strStaffNo = (LPCTSTR)_bstr_t(vElement); vElement = vSelectResult[0][STAFF_REALNAME_COLUMN]; pdlgMain->m_stCurUser.m_strRealName = (LPCTSTR)_bstr_t(vElement); vElement = vSelectResult[0][STAFF_AUTHORITY_COLUMN]; pdlgMain->m_stCurUser.m_strAuthority = (LPCTSTR)_bstr_t(vElement); OnOK(); } else { MessageBox(_T("密码错误")); } } 为了使按回车键和点击登录按钮的功能一样,添加如下代码: BOOL CLogInDlg::PreTranslateMessage(MSG* pMsg) { // TODO: 在此添加专用代码和/或调用基类 if(WM_KEYDOWN == pMsg->message) { if(VK_RETURN == pMsg->wParam) { OnClickedButtonLogin(); return FALSE; } } return CDialogEx::PreTranslateMessage(pMsg); } 打开数据库的代码如下: int CAdoDBControl::Open(BSTR ConnectionString, long Options ) { if( FAILED( m_pConnection.CreateInstance(__uuidof(Connection)) ) ) //初始化Connection指针 { return ADO_DB_CREATE_FAIL; } try { m_pConnection->Open(ConnectionString, "", "", Options); } catch(_com_error e) { AfxMessageBox(e.Description()); return ADO_DB_OPEN_FAIL; } return ADO_DB_SUCCESSFUL; } 运行函数时,故意将数据库配置写错,在填写完用户名和密码后点击登录按钮,那么约10秒以后,程序报错“[DBNETLIB][ConnectionOpen (Connect()).]SQL Server 不存在或拒绝访问。”,点击确定后,返回登录对话框。重复多次操作,依然如此。程序此时是正常的。 但是,如果在填写完用户名和密码后,用回车方式登录,此时依然报错“[DBNETLIB][ConnectionOpen (Connect()).]SQL Server不存在或拒绝访问。”,但是在点击 确定后,登录对话框会消失,并且弹出主界面,且主界面不响应鼠标点击任何按钮,且主界面不是我想要的主界面(比如正常登录的主界面是最大化的,而此时出现 的主界面不是最大化的),此问题100%复现。 请问各位达人,这是怎么回事?有何解决办法?

MySQL 8.0.19安装教程(windows 64位)

话不多说直接开干 目录 1-先去官网下载点击的MySQL的下载​ 2-配置初始化的my.ini文件的文件 3-初始化MySQL 4-安装MySQL服务 + 启动MySQL 服务 5-连接MySQL + 修改密码 先去官网下载点击的MySQL的下载 下载完成后解压 解压完是这个样子 配置初始化的my.ini文件的文件 ...

Python+OpenCV计算机视觉

Python+OpenCV计算机视觉系统全面的介绍。

Vue.js 2.0之全家桶系列视频课程

基于新的Vue.js 2.3版本, 目前新全的Vue.js教学视频,让你少走弯路,直达技术前沿! 1. 包含Vue.js全家桶(vue.js、vue-router、axios、vuex、vue-cli、webpack、ElementUI等) 2. 采用笔记+代码案例的形式讲解,通俗易懂

navicat(内含激活码)

navicat支持mysql的可视化操作,内涵激活码,不用再忍受弹框的痛苦。

HTML期末大作业

这是我自己做的HTML期末大作业,花了很多时间,稍加修改就可以作为自己的作业了,而且也可以作为学习参考

150讲轻松搞定Python网络爬虫

【为什么学爬虫?】 &nbsp; &nbsp; &nbsp; &nbsp;1、爬虫入手容易,但是深入较难,如何写出高效率的爬虫,如何写出灵活性高可扩展的爬虫都是一项技术活。另外在爬虫过程中,经常容易遇到被反爬虫,比如字体反爬、IP识别、验证码等,如何层层攻克难点拿到想要的数据,这门课程,你都能学到! &nbsp; &nbsp; &nbsp; &nbsp;2、如果是作为一个其他行业的开发者,比如app开发,web开发,学习爬虫能让你加强对技术的认知,能够开发出更加安全的软件和网站 【课程设计】 一个完整的爬虫程序,无论大小,总体来说可以分成三个步骤,分别是: 网络请求:模拟浏览器的行为从网上抓取数据。 数据解析:将请求下来的数据进行过滤,提取我们想要的数据。 数据存储:将提取到的数据存储到硬盘或者内存中。比如用mysql数据库或者redis等。 那么本课程也是按照这几个步骤循序渐进的进行讲解,带领学生完整的掌握每个步骤的技术。另外,因为爬虫的多样性,在爬取的过程中可能会发生被反爬、效率低下等。因此我们又增加了两个章节用来提高爬虫程序的灵活性,分别是: 爬虫进阶:包括IP代理,多线程爬虫,图形验证码识别、JS加密解密、动态网页爬虫、字体反爬识别等。 Scrapy和分布式爬虫:Scrapy框架、Scrapy-redis组件、分布式爬虫等。 通过爬虫进阶的知识点我们能应付大量的反爬网站,而Scrapy框架作为一个专业的爬虫框架,使用他可以快速提高我们编写爬虫程序的效率和速度。另外如果一台机器不能满足你的需求,我们可以用分布式爬虫让多台机器帮助你快速爬取数据。 &nbsp; 从基础爬虫到商业化应用爬虫,本套课程满足您的所有需求! 【课程服务】 专属付费社群+每周三讨论会+1v1答疑

三个项目玩转深度学习(附1G源码)

从事大数据与人工智能开发与实践约十年,钱老师亲自见证了大数据行业的发展与人工智能的从冷到热。事实证明,计算机技术的发展,算力突破,海量数据,机器人技术等,开启了第四次工业革命的序章。深度学习图像分类一直是人工智能的经典任务,是智慧零售、安防、无人驾驶等机器视觉应用领域的核心技术之一,掌握图像分类技术是机器视觉学习的重中之重。针对现有线上学习的特点与实际需求,我们开发了人工智能案例实战系列课程。打造:以项目案例实践为驱动的课程学习方式,覆盖了智能零售,智慧交通等常见领域,通过基础学习、项目案例实践、社群答疑,三维立体的方式,打造最好的学习效果。

基于STM32的电子时钟设计

时钟功能 还有闹钟功能,温湿度功能,整点报时功能 你值得拥有

学生成绩管理系统(PHP + MYSQL)

做的是数据库课程设计,使用的php + MySQL,本来是黄金搭配也就没啥说的,推荐使用wamp服务器,里面有详细的使用说明,带有界面的啊!呵呵 不行的话,可以给我留言!

面试了一个 31 岁程序员,让我有所触动,30岁以上的程序员该何去何从?

最近面试了一个31岁8年经验的程序猿,让我有点感慨,大龄程序猿该何去何从。

程序员的兼职技能课

获取讲师答疑方式: 在付费视频第一节(触摸命令_ALL)片头有二维码及加群流程介绍 限时福利 原价99元,今日仅需39元!购课添加小助手(微信号:itxy41)按提示还可领取价值800元的编程大礼包! 讲师介绍: 苏奕嘉&nbsp;前阿里UC项目工程师 脚本开发平台官方认证满级(六级)开发者。 我将如何教会你通过【定制脚本】赚到你人生的第一桶金? 零基础程序定制脚本开发课程,是完全针对零脚本开发经验的小白而设计,课程内容共分为3大阶段: ①前期将带你掌握Q开发语言和界面交互开发能力; ②中期通过实战来制作有具体需求的定制脚本; ③后期将解锁脚本的更高阶玩法,打通任督二脉; ④应用定制脚本合法赚取额外收入的完整经验分享,带你通过程序定制脚本开发这项副业,赚取到你的第一桶金!

实用主义学Python(小白也容易上手的Python实用案例)

原价169,限时立减100元! 系统掌握Python核心语法16点,轻松应对工作中80%以上的Python使用场景! 69元=72讲+源码+社群答疑+讲师社群分享会&nbsp; 【哪些人适合学习这门课程?】 1)大学生,平时只学习了Python理论,并未接触Python实战问题; 2)对Python实用技能掌握薄弱的人,自动化、爬虫、数据分析能让你快速提高工作效率; 3)想学习新技术,如:人工智能、机器学习、深度学习等,这门课程是你的必修课程; 4)想修炼更好的编程内功,优秀的工程师肯定不能只会一门语言,Python语言功能强大、使用高效、简单易学。 【超实用技能】 从零开始 自动生成工作周报 职场升级 豆瓣电影数据爬取 实用案例 奥运冠军数据分析 自动化办公:通过Python自动化分析Excel数据并自动操作Word文档,最终获得一份基于Excel表格的数据分析报告。 豆瓣电影爬虫:通过Python自动爬取豆瓣电影信息并将电影图片保存到本地。 奥运会数据分析实战 简介:通过Python分析120年间奥运会的数据,从不同角度入手分析,从而得出一些有趣的结论。 【超人气老师】 二两 中国人工智能协会高级会员 生成对抗神经网络研究者 《深入浅出生成对抗网络:原理剖析与TensorFlow实现》一书作者 阿里云大学云学院导师 前大型游戏公司后端工程师 【超丰富实用案例】 0)图片背景去除案例 1)自动生成工作周报案例 2)豆瓣电影数据爬取案例 3)奥运会数据分析案例 4)自动处理邮件案例 5)github信息爬取/更新提醒案例 6)B站百大UP信息爬取与分析案例 7)构建自己的论文网站案例

Java8零基础入门视频教程

这门课程基于主流的java8平台,由浅入深的详细讲解了java SE的开发技术,可以使java方向的入门学员,快速扎实的掌握java开发技术!

Python数据挖掘简易入门

&nbsp; &nbsp; &nbsp; &nbsp; 本课程为Python数据挖掘方向的入门课程,课程主要以真实数据为基础,详细介绍数据挖掘入门的流程和使用Python实现pandas与numpy在数据挖掘方向的运用,并深入学习如何运用scikit-learn调用常用的数据挖掘算法解决数据挖掘问题,为进一步深入学习数据挖掘打下扎实的基础。

零基础学C#编程—C#从小白到大咖

本课程从初学者角度出发,提供了C#从入门到成为程序开发高手所需要掌握的各方面知识和技术。 【课程特点】 1 由浅入深,编排合理; 2 视频讲解,精彩详尽; 3 丰富实例,轻松易学; 4 每章总结配有难点解析文档。 15大章节,228课时,1756分钟与你一同进步!

MySQL数据库面试题(2020最新版)

文章目录数据库基础知识为什么要使用数据库什么是SQL?什么是MySQL?数据库三大范式是什么mysql有关权限的表都有哪几个MySQL的binlog有有几种录入格式?分别有什么区别?数据类型mysql有哪些数据类型引擎MySQL存储引擎MyISAM与InnoDB区别MyISAM索引与InnoDB索引的区别?InnoDB引擎的4大特性存储引擎选择索引什么是索引?索引有哪些优缺点?索引使用场景(重点)...

多功能数字钟.zip

利用数字电子计数知识设计并制作的数字电子钟(含multisim仿真),该数字钟具有显示星期、24小时制时间、闹铃、整点报时、时间校准功能

极简JAVA学习营第四期(报名以后加助教微信:eduxy-1)

想学好JAVA必须要报两万的培训班吗? Java大神勿入 如果你: 零基础想学JAVA却不知道从何入手 看了一堆书和视频却还是连JAVA的环境都搭建不起来 囊中羞涩面对两万起的JAVA培训班不忍直视 在职没有每天大块的时间专门学习JAVA 那么恭喜你找到组织了,在这里有: 1. 一群志同道合立志学好JAVA的同学一起学习讨论JAVA 2. 灵活机动的学习时间完成特定学习任务+每日编程实战练习 3. 热心助人的助教和讲师及时帮你解决问题,不按时完成作业小心助教老师的家访哦 上一张图看看前辈的感悟: &nbsp; &nbsp; 大家一定迫不及待想知道什么是极简JAVA学习营了吧,下面就来给大家说道说道: 什么是极简JAVA学习营? 1. 针对Java小白或者初级Java学习者; 2. 利用9天时间,每天1个小时时间; 3.通过 每日作业 / 组队PK / 助教答疑 / 实战编程 / 项目答辩 / 社群讨论 / 趣味知识抢答等方式让学员爱上学习编程 , 最终实现能独立开发一个基于控制台的‘库存管理系统’ 的学习模式 极简JAVA学习营是怎么学习的? &nbsp; 如何报名? 只要购买了极简JAVA一:JAVA入门就算报名成功! &nbsp;本期为第四期极简JAVA学习营,我们来看看往期学员的学习状态: 作业看这里~ &nbsp; 助教的作业报告是不是很专业 不交作业打屁屁 助教答疑是不是很用心 &nbsp; 有奖抢答大家玩的很嗨啊 &nbsp; &nbsp; 项目答辩终于开始啦 &nbsp; 优秀者的获奖感言 &nbsp; 这是答辩项目的效果 &nbsp; &nbsp; 这么细致的服务,这么好的氛围,这样的学习效果,需要多少钱呢? 不要1999,不要199,不要99,只要9.9 是的你没听错,只要9.9以上所有就都属于你了 如果你: 1、&nbsp;想学JAVA没有基础 2、&nbsp;想学JAVA没有整块的时间 3、&nbsp;想学JAVA没有足够的预算 还等什么?赶紧报名吧,抓紧抢位,本期只招300人,错过只有等时间待定的下一期了 &nbsp; 报名请加小助手微信:eduxy-1 &nbsp; &nbsp;

Python可以这样学(第一季:Python内功修炼)

董付国系列教材《Python程序设计基础》、《Python程序设计(第2版)》、《Python可以这样学》配套视频,讲解Python 3.5.x和3.6.x语法、内置对象用法、选择与循环以及函数设计与使用、lambda表达式用法、字符串与正则表达式应用、面向对象编程、文本文件与二进制文件操作、目录操作与系统运维、异常处理结构。

Java基础知识面试题(2020最新版)

文章目录Java概述何为编程什么是Javajdk1.5之后的三大版本JVM、JRE和JDK的关系什么是跨平台性?原理是什么Java语言有哪些特点什么是字节码?采用字节码的最大好处是什么什么是Java程序的主类?应用程序和小程序的主类有何不同?Java应用程序与小程序之间有那些差别?Java和C++的区别Oracle JDK 和 OpenJDK 的对比基础语法数据类型Java有哪些数据类型switc...

机器学习实战系列套餐(必备基础+经典算法+案例实战)

机器学习实战系列套餐以实战为出发点,帮助同学们快速掌握机器学习领域必备经典算法原理并结合Python工具包进行实战应用。建议学习顺序:1.Python必备工具包:掌握实战工具 2.机器学习算法与实战应用:数学原理与应用方法都是必备技能 3.数据挖掘实战:通过真实数据集进行项目实战。按照下列课程顺序学习即可! 课程风格通俗易懂,用最接地气的方式带领大家轻松进军机器学习!提供所有课程代码,PPT与实战数据,有任何问题欢迎随时与我讨论。

Java面试题大全(2020版)

发现网上很多Java面试题都没有答案,所以花了很长时间搜集整理出来了这套Java面试题大全,希望对大家有帮助哈~ 本套Java面试题大全,全的不能再全,哈哈~ 一、Java 基础 1. JDK 和 JRE 有什么区别? JDK:Java Development Kit 的简称,java 开发工具包,提供了 java 的开发环境和运行环境。 JRE:Java Runtime Environ...

程序员垃圾简历长什么样?

已经连续五年参加大厂校招、社招的技术面试工作,简历看的不下于万份 这篇文章会用实例告诉你,什么是差的程序员简历! 疫情快要结束了,各个公司也都开始春招了,作为即将红遍大江南北的新晋UP主,那当然要为小伙伴们做点事(手动狗头)。 就在公众号里公开征简历,义务帮大家看,并一一点评。《启舰:春招在即,义务帮大家看看简历吧》 一石激起千层浪,三天收到两百多封简历。 花光了两个星期的所有空闲时...

深度学习原理+项目实战+算法详解+主流框架(套餐)

深度学习系列课程从深度学习基础知识点开始讲解一步步进入神经网络的世界再到卷积和递归神经网络,详解各大经典网络架构。实战部分选择当下最火爆深度学习框架PyTorch与Tensorflow/Keras,全程实战演示框架核心使用与建模方法。项目实战部分选择计算机视觉与自然语言处理领域经典项目,从零开始详解算法原理,debug模式逐行代码解读。适合准备就业和转行的同学们加入学习! 建议按照下列课程顺序来进行学习 (1)掌握深度学习必备经典网络架构 (2)深度框架实战方法 (3)计算机视觉与自然语言处理项目实战。(按照课程排列顺序即可)

HoloLens2开发入门教程

本课程为HoloLens2开发入门教程,讲解部署开发环境,安装VS2019,Unity版本,Windows SDK,创建Unity项目,讲解如何使用MRTK,编辑器模拟手势交互,打包VS工程并编译部署应用到HoloLens上等。

几率大的Redis面试题(含答案)

本文的面试题如下: Redis 持久化机制 缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级等问题 热点数据和冷数据是什么 Memcache与Redis的区别都有哪些? 单线程的redis为什么这么快 redis的数据类型,以及每种数据类型的使用场景,Redis 内部结构 redis的过期策略以及内存淘汰机制【~】 Redis 为什么是单线程的,优点 如何解决redis的并发竞争key问题 Red...

MFC一站式终极全套课程包

该套餐共包含从C小白到C++到MFC的全部课程,整套学下来绝对成为一名C++大牛!!!

【数据结构与算法综合实验】欢乐连连看(C++ & MFC)案例

这是武汉理工大学计算机学院数据结构与算法综合实验课程的第三次项目:欢乐连连看(C++ & MFC)迭代开发代码。运行环境:VS2017。已经实现功能:开始游戏、消子、判断胜负、提示、重排、计时、帮助。

YOLOv3目标检测实战:训练自己的数据集

YOLOv3是一种基于深度学习的端到端实时目标检测方法,以速度快见长。本课程将手把手地教大家使用labelImg标注和使用YOLOv3训练自己的数据集。课程分为三个小项目:足球目标检测(单目标检测)、梅西目标检测(单目标检测)、足球和梅西同时目标检测(两目标检测)。 本课程的YOLOv3使用Darknet,在Ubuntu系统上做项目演示。包括:安装Darknet、给自己的数据集打标签、整理自己的数据集、修改配置文件、训练自己的数据集、测试训练出的网络模型、性能统计(mAP计算和画出PR曲线)和先验框聚类。 Darknet是使用C语言实现的轻型开源深度学习框架,依赖少,可移植性好,值得深入探究。 除本课程《YOLOv3目标检测实战:训练自己的数据集》外,本人推出了有关YOLOv3目标检测的系列课程,请持续关注该系列的其它课程视频,包括: 《YOLOv3目标检测实战:交通标志识别》 《YOLOv3目标检测:原理与源码解析》 《YOLOv3目标检测:网络模型改进方法》 敬请关注并选择学习!

u-boot-2015.07.tar.bz2

uboot-2015-07最新代码,喜欢的朋友请拿去

相关热词 c# dbml文件 修改 c#遍历tree c# 能够控制单片机 c#对象写入数据库 c# 添加activex c#2005 json c# 数据库在云端 c# 字符串移位加密 c#禁用滚轮 c#实体类list去重复
立即提问