c++如何将数字存入字符型数组

例如
char a[10];
int h;
如何将h存入到a的一个元素中,直接赋值会被转化为字符??

c++

5个回答

a[0] = '0' + h ;

可以先将Int数据转换为字符串,然后复制字符串到字符数组中。
请参考网址:http://greatverve.cnblogs.com/archive/2012/10/24/cpp-int-string.html
用strncpy将字符串拷贝到字符数组中。

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

int main()
{
    char a[10];
    int h = 0;
    a[0] = h;
    cout << typeid(a[0]).name() << endl;//char
    return 0;
}

#incldue

int main()
{
char a[10];
int h = 999;
stringstream s;
s< for(int i = 0;i!=3;++i)
s>>a[i];

return 0;

}

#incldue<stringstream>
using std::stringstream;
int main()
{
char a[10];
int h = 999;
stringstream s;
int h = 999;
s<<h;
for(int i = 0;i!=3;++i)
    s>>a[i];
return 0;
}

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
c++如何将数字存入字符型数组

例如 char a[10]; int h; 如何将h存入到a的一个元素中,直接赋值会被转化为字符??

求助!为什么在c语言中利用scanf将字符串写入数组中会出现缺少第一个字符的情况

我将while和scanf搭配,我什么出现写入数组使第一个字符串无法写入的情况 ``` #include <stdio.h> int main() { char a[100]; //设置一个容量为100的数组存放用户所要输入的值 int cnt = 0; //定义一个计数器 int j = 0; char ch; printf("请输入一段字符串:"); //提示语 while ((ch = getchar()) != '\n') { //设置一个while循环,当用户输入回车的时候就跳出循环 scanf("%s", a); //将用户输入的字符串放在数组a当中 for (j = 0; j < 100; j++) { //使用for循环来一一检查是否有as if (a[j] == 'a' && a[j+1] == 's') { cnt++; //如果满足条件,计数器加一 } } } printf("%d\n", cnt); //最后打印出结果 } ``` 我输入的内容是 ![图片说明](https://img-ask.csdn.net/upload/201909/10/1568103814_627526.png) 但是我打断点发现在数组a中的内容 ![图片说明](https://img-ask.csdn.net/upload/201909/10/1568103858_782477.png) 请问各位为什么a没有出现在a【0】之中?

这里面用二维数组存储字符串,数组的两个括号里的数字分别代表什么意思?网上搜没看懂

(还没学过指针) 输入 5 个单词,将它们按从大到小的顺序排列后输出 #include<stdio.h> #include <string.h> int main() { char s[5][100], t[100]; int i, n; for(i = 0; i < 5; i++) //输入单词 scanf("%s",s[i]); for(i = 0; i < 4; i++) { for(n = i + 1; n < 5; n++) { if(strcmp(s[i],s[n]) < 0) //比大小 { strcpy(t,s[i]); strcpy(s[i],s[n]); strcpy(s[n],t); } } } for(i = 0; i < 5; i++) printf("%s\n",s[i]); return 0; } **s[5][100]里的5与100分别代表什么意思?**

如何在不初始化的情况下给字符数组加\0

题目要求是: 定义一个字符数组char s[80],从键盘上输入一个字符串(不超过40个字符),用gets()函数存入到s中,然后统计并输出其中的大写字母、小写字母、数字字符及其他字符的个数。 如输入 ATTENTION! My E-mail address is ‘velvetblue@126.com’. 输出 Upper: 11 Lower: 27 Number: 3 Other: 12 然后我的代码在统计特殊字符时数据总是有问题,检查发现是strlen函数的结果有问题,我百度看了说是没有自动加\0,就想请问一下怎么给它上,还是其他地方也有问题求解答 ![图片说明](https://img-ask.csdn.net/upload/202005/13/1589345446_419670.jpg)

关于C语言按行读取文件,读取其中数字,挨个转换成doube类型,存入数组

int main() { FILE *fp; char buffer[50]; char filename[50]; int bufferLen; int i; int j = 0; char c; double c_number[50]; printf("Input file name: "); scanf("%s", filename); if((fp = fopen(filename, "rb")) == NULL) { return -1; } while(fgets(buffer, 50, fp)) { for(i = 0; i < 50; i++) { c = buffer[i]; if(c != ' ' && c != '\n' && c != '\r') //这里过滤,读取数字,文件有符号,空格什么的 { c_number[j] = (double)atof(c); //这里想挨个转换double没有成功 //sscanf(c, "%lf", c_number[j]); j++; } } } fclose(fp);

C++ 整型数组连续输入

C++可以使用cin.get()或者cin.getline()输入char型数组。 如果需要输入int 型整数数组怎么办呢? 我知道,已知可以使用循环一个个输入,那么有没有和cin.getline()差不多的流可以输入整型数组啊。

c++ 是怎么将char字符转化成二进制数字存到内存中的

代码如图:![图片说明](https://img-ask.csdn.net/upload/201907/11/1562815920_982570.png) 本小白刚开始学c++,项目用的固定基址,所以每次exe启动,这些地址都是固定的,运行结果如下图:![图片说明](https://img-ask.csdn.net/upload/201907/11/1562816031_514596.png) 但是,当我打开CE,查找这三个地址内的数据时,发生了疑问,前两个地址,存的int型的数据,读出来的结果分别是,987654321和987,这和我程序内初始化的值一样,很正常。但是第三个地址,显示的值为3435973736。 我知道,所有的数据,或者说变量,编译后都是会转化成二进制数据保存。所以定义的 char s='h';编译后h被转化为数字也是正常的。原本以为是根据ascii码转化,或者utf8转化。结果。。查出来的值是3435973736。 请问各位大神,为什么‘h’的转化结果为3435973736,c++是根据什么规则将字符转化成数字的?

C语言 结构体 最后结果总是输出错误,不知道为啥。

题目要求: 1.读入一个英文文本文件,英文中有字母、数字、其它字符,无汉字,文件有多行。 2.编写函数实现:统计字母的出现频度,并显示结果。 3.编写函数实现:统计其中单词的个数,并显示结果。(单词个数以WORD统计为准) 找出最长的单词,并显示单词及其长度。 返回单词的统计结果。 4.统计出现的整数,存入一维数组,并显示结果。 注:学会利用字符型指针处理字符串。 我写的代码如下:(是使用vc++编译的,最后结果有一些与实际答案不同) #include<stdio.h> #include<stdlib.h> #include <string.h> #define N 1000 void main() { int zi_mu(char *sp); int statistics(char b[80][80],char a[N]); void zheng_shu(char *sp); int i=0,j=0; char b[80][80],a[80]; //一个单词相当于一个一维数组。 printf("文章全文是:\n"); FILE*fp;//------1.读入一个英文文本文件, char c; if((fp=fopen("test.txt","r"))==NULL) { printf("无法打开此文件\n"); exit(0); } while((c=fgetc(fp))!=EOF) { a[i]=c; i++; } a[i]='\0'; int n=strlen(a); printf("%s",a); zi_mu(a); statistics(b,a); zheng_shu(a); } int zi_mu(char *sp)//----------2.统计字母的出现频度, { int i,a[26]; for(i=0;i<26;i++) a[i]=0; while((*sp)!='\0') { if(((*sp)>='a'&&(*sp)<='z')||((*sp)>='A'&&(*sp)<='Z')) { i=(*sp)-'a'; a[i]++; } sp++; } printf("\n\n单词出现的次数:\n"); for(i=0;i<26;i++) printf(" %c:%d ",'a'+i,a[i]); return 0; } int statistics(char b[80][80],char a[N]) //---3,显示单词。 { int i,j,high,key=0,word=0,key1=0,max1=0,maxi=0; char *p; for(i=0;a[i]!='\0';i++) { if(a[i]==' ') key=0; else if(key==0&&(a[i]>='a'&&a[i]<='z'||a[i]>='A'&&a[i]<='Z')) { key=1; word++; } } printf("\n一共有%d个单词.\n",word); i=0; j=0; p=a; while((*p)!='\0') { if((*p>='a'&&*p<='z')||(*p>='A'&&*p<='Z')) { b[i][j]=*p; j++; } else { b[i][j]='\0'; j=0; i++; } p++; } b[i][j]='\0'; high=i+1; for(i=0;i<high;i++) { max1=0;j=0; while((b[i][j]>='a'&&b[i][j]<='z')||(b[i][j]>='A'&&b[i][j]<='Z')) { max1++; j++; } if(max1>key1) key1=max1; if(j==key1) maxi=i; } b[maxi][key1]='\0'; printf("最长单词是:"); for(i=0;i<key1;i++) printf("%c",b[maxi][i]); printf(" 该单词长度为%d。",key1); return 0; } void zheng_shu(char *sp)//---------4.统计出现的整数,存入一维数组,并显示结果。 { int a[20]={0},i=0,n=0; while((*sp)!='\0') { if((*sp)>='0'&&(*sp)<='9')//若是数字字符 { a[i]=a[i]*10+(*sp-'0');//*sp-'0' 数字字符转换成数字。 if((*sp)!='\0'&&(!(*(sp+1)>='0'&&*(sp+1)<='9')))//当前是数字字符下一个不是,准备处理下一个 i++; } sp++; } n=i; printf("\n\n此文共有%d个数字: ",n); for(i=0;i<n;i++)//------------------输出整数 { printf(" %d ",a[i]); } printf("\n"); }

C语言的题目,急求!!!

已知有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),金额je(长整型)五部分组成。其中:金额=单价*数量计算得出。(要求把100个销售记录存入结构数组sell中。按产品名称从小到大进行排列,若产品名称相等,则按金额从小到大进行排列,最终排列结果仍存入结构数组sell中,最后输出结构数组sell)

用C语言编写一个程序,输入一个整数,输出0~9各数字在该整数中出现的次数

用C语言编写一个程序,输入一个整数,输出0~9各数字在该整数中出现的次数

java中把整数数组的数据输入到文件中的问题

我是java新手,把整形数组输入到文件中去为什么不是数字,是这些问号? ![图片说明](https://img-ask.csdn.net/upload/201510/15/1444895247_250607.png) ![图片说明](https://img-ask.csdn.net/upload/201510/15/1444895332_740875.jpg)

编写程序,用同一个函数名实现n个数据的升序排序用重载函数实现。

我写的代码,但是运行 输出的数字 不是我输入的数字,请大神们帮我看看我那里写错了 #include<iostream>//建立头文件 using namespace std;//开辟新的空间 int pl(int *p,int n)//pl函数的原型声名 定义为整型 定义了指针 { for(int i=0;i<n;i++) { for(int j=i;j<n;j++) { if(p[i]>p[j]) { int x; //对X进行定义为整型 x=p[j]; p[j]=p[i]; p[i]=x; } } } for(int x=0;x<n;x++) cout<<p[x]<<" ";//升序依次输出X return 0; } char pl(char *p,int n) { for(int i=0;i<n;i++) { for(int j=i;j<n;j++) { if(p[i]>p[j]) { char x; x=p[j]; p[j]=p[i]; p[i]=x; } } } for(int x=0;x<n;x++) cout<<p[x]<<" "; return 0; } float pl(float *p,int n) { for(int i=0;i<n;i++) { for(int j=i;j<n;j++) { if(p[i]>p[j]) { float x; x=p[j]; p[j]=p[i]; p[i]=x; } } } for(int x=0;x<n;x++) cout<<p[x]<<" "; return 0; } int main() { int pl(int *p,int n); char pl(char *p,int n); float pl(float *p,int n); int a,n; cout<<"输入你要比较的函数类型:"<<endl<<"1整形\n"<<"2字符型\n"<<"3单精度\n"<<endl<<"输入编号"<<endl; cin>>a; cout<<"请输入你需要比较的个数:"<<endl; cin>>n; cout<<"请输入"<<n<<"个数,用空格分开\n"; if(a==1) { int *p=new int[n];//数组的类型 for(int i=0;i<n;i++) cin>>p[n]; pl(p,n); } if(a==2) { char *p=new char[n]; for(double i=0;i<n;i++) cin>>p[n]; pl(p,n); } if(a==3) { float *p=new float[n]; for(float i=0;i<n;i++) cin>>p[n]; pl(p,n); } return 0; }

这是职工管理系统的源代码,问题主要是无法以正确格式输出文件内容和修改函数不起作用,希望得到指导。

#include<stdio.h> //标准输入输出函数库 #include<string.h> //strcmp函数使用的头文件 #include<stdlib.h> //标准库头文件system(cls)函数需用到 #include<windows.h> //Sleep函数使用的头文件 #include<conio.h> //getch函数使用的头文件 //宏定义 #define LEN_EMPLOYEE sizeof(struct employee)//employee结构体的长度 #define LEN_ADM sizeof(struct adm)//adm结构体的长度 #define EMPLOYEE_NUM 500//职工的数组大小 #define ADM_NUM 10//管理员的数组大小 #define EMPLOYEE_DATA employeer[i].num,employeer[i].name,employeer[i].sex,employeer[i].age,employeer[i].xueli,employeer[i].wage,employeer[i].addr,employeer[i].tel #define ADM_DATA admer[i].account,admer[i].password //结构体的定义 struct employee { int num; //职工号 char name[20]; //姓名 char sex[10]; //性别 int age; //年龄 char xueli[30]; //学历 int wage; //工资 char addr[30]; //家庭住址 char tel[20]; //联系电话 }; struct adm { int num; //管理员的编号 char account[20]; //管理员的账户 char password[20]; //管理员的密码 }; //全局变量 struct employee employeer[EMPLOYEE_NUM]; struct adm admer[ADM_NUM]; //函数声明部分 void showmainmenu();//显示主菜单 void manager_in();//主管登录 void adm_in();//管理员登录 void employee_in();//职工登录 void managermenu();//主管菜单 void employee_display();//浏览职工信息 int employee_search();//查找职工信息 void employee_del();//删除职工信息 void employee_add();//添加职工信息 void employee_xiugai();//修改职工信息 void adm_add();//添加管理员信息 void adm_display();//浏览管理员信息 void adm_del();//删去管理员信息 void adm_xiugai();//修改管理员信息 int employeefile(char * pcMode);//职工文件函数 void saveemployeefile(int employeeid);//保存职工信息文件函数 void showemployee_xiugaimenu();//显示职工修改菜单 int admfile(char * pcMode);//管理员文件 int adm_search();//管理员查找 void showadm_xiugaimenu();//显示管理员修改菜单 void saveadmfile(int admid);//管理员保存文件函数 void admmenu();//管理员菜单 //主函数 int main() { int n; showmainmenu();/*调用showmainmenu函数绘制界面*/ scanf("%d",&n);/*提示用户输入数字*/ getchar(); while(n)/*当n为0时直接退出程序*/ { switch(n) { case 1: manager_in(); break; case 2: adm_in(); break; case 3: employee_in(); break; default: printf("\t\t请输入正确的数字!\n\t\t程序将于3秒后跳转到主菜单"); Sleep(3000); } showmainmenu(); scanf("%d",&n); getchar(); } return 0; } void showmainmenu() { system("cls"); printf("\n\n\n\n\n"); printf("\t|------------------欢迎进入-----------------------|\n"); printf("\t| 职工管理系统 |\n"); printf("\t| 主菜单 |\n"); printf("\t| 身份选择 |\n"); printf("\t| 1.manager |\n"); printf("\t| 2.administrator |\n"); printf("\t| 3.employee |\n"); printf("\t| 0.退出系统 |\n"); printf("\t|-------------------------------------------------|\n"); printf("\n"); printf("\t\t请选择(0-3):"); } void manager_in() { int n,i,j=0; char managername[10]; char managerpassword[20]; printf("将于3秒后转至manager登录界面"); Sleep(3000); system("cls"); for(i=0;i<3;i++) { printf("\n\t\t\t请输入你的用户名:"); scanf("%s",managername); printf("\n\t\t\t请输入你的密码:"); scanf("%s",managerpassword); if(strcmp(managername,"limengqi")==0&&strcmp(managerpassword,"123456")==0) { printf("\n\t\t\t登录成功!"); Sleep(1000); j=1; managermenu(); break; } else printf("\t\t\t输入用户名或者密码错误!"); continue; } scanf("%d",&n); getchar(); while(n) { switch(n) { case 1: employee_display(); break; case 2: employee_search(); break; case 3: employee_del(); break; case 4: employee_add(); break; case 5: employee_xiugai(); break; case 6: adm_add(); break; case 7: adm_display(); break; case 8: adm_del(); break; case 9: adm_xiugai(); break; default: printf("\t\t请输入正确的数字!"); } printf("|按任意键返回子菜单|"); getch(); managermenu(); scanf("%d",&n); getchar(); } } void managermenu() { system("cls"); printf("\n\n\n\n\n"); printf("\t|------------------欢迎进入-----------------------|\n"); printf("\t| 职工管理系统 |\n"); printf("\t| 子菜单 |\n"); printf("\t| 1.浏览职工信息 |\n"); printf("\t| 2.查询职工信息 |\n"); printf("\t| 3.删除职工信息 |\n"); printf("\t| 4.添加职工信息 |\n"); printf("\t| 5.修改职工信息 |\n"); printf("\t| 6.添加管理员信息 |\n"); printf("\t| 7.浏览管理员信息 |\n"); printf("\t| 8.删除管理员信息 |\n"); printf("\t| 9.修改管理员信息 |\n"); printf("\t| 0.返回主菜单 |\n"); printf("\t|-------------------------------------------------|\n"); printf("\n"); printf("\t\t请选择(0-9):"); } void employee_display() { int i,employee_record; system("cls"); employee_record=employeefile("rb"); if(employee_record==-1) printf("文件打开失败,请先添加职工信息!\n"); else if(employee_record==0) printf("文件中没有职工信息!\n"); else { printf("\t|----------------------------------------------------------|\n"); printf("\t %-6s %-10s %-10s %-6s %-10s %-16s %-16s %-20s\n","职工号","姓名","性别","年龄","学历","工资","住址","电话"); for(i=0;i<employee_record;i++) printf("\t %-6s %-10s %-10s %-6s %-10s %-16s %-16s %-20s\n",EMPLOYEE_DATA); printf("\t|----------------------------------------------------------|\n"); } } void employee_add() { FILE *pfemployee;//文件指针 int employee_record,iflagexist,i; char cFlag; system("cls"); employee_record=employeefile("ab+");//ab+追加方式打开或重建二进制文件 if(employee_record==-1) { printf("文件打开失败!\n"); return; } else if(employee_record==0) printf("文件中没有职工信息!\n"); else employee_display();//如果职工信息不为0则显示所有职工信息 /*以下代码为循环录入职工信息*/ printf("请选择是否要输入职工信息(y/n):"); cFlag=getchar(); getchar(); if(cFlag=='n') return; pfemployee=fopen("employee.txt","ab+"); if( pfemployee==NULL) { printf("文件打开失败!\n"); return; } while(cFlag=='y') { if(employee_record>=EMPLOYEE_NUM)//超过容量范围不能继续写入 { printf("记录已满!"); fclose(pfemployee); return; } printf("请输入职工编号:"); do{ iflagexist=0; scanf("%d",&employeer[employee_record].num); getchar(); for(i=0;i<employee_record;i++) { if(employeer[i].num==employeer[employee_record].num) { iflagexist=1; printf("该职工编号已存在,请重新输入:"); break; } } }while( iflagexist==1); //新增的职工基本信息 printf("请输入职工号:"); scanf("%-6d",&employeer[employee_record].num); getchar(); printf("请输入姓名:"); gets(employeer[employee_record].name); printf("请输入性别:"); scanf("%-10s",&employeer[employee_record].sex); getchar(); printf("请输入年龄:"); scanf("%-6d",&employeer[employee_record].age); getchar(); printf("请输入学历:"); gets(employeer[employee_record].xueli); printf("请输入工资:"); scanf("%-16d",&employeer[employee_record].wage); getchar(); printf("请输入住址:"); gets(employeer[employee_record].addr); printf("请输入电话:"); gets(employeer[employee_record].tel); /*将新增的职工信息写入文件中*/ if(fwrite(&employeer[employee_record],LEN_EMPLOYEE,1,pfemployee)!=1) { printf("无法保存该信息!\n"); return; } else { printf("%d号职工信息已保存!\n",employeer[employee_record].num); employee_record++; } printf("继续输入信息吗(y/n)"); cFlag=getchar(); getchar(); } fclose(pfemployee); printf("添加职工信息执行完毕\n"); } int employee_search() { int employeenum,employee_record,employeeid,i; system("cls"); employee_record=employeefile("rb");//以"rb"形式打开文件,如果失败则返回 if(employee_record==-1) { printf("文件打开失败!\n"); printf("|按任意键返回子菜单|"); getch(); return -2;//文件打开失败,返回-2 } else if(employee_record==0) { printf("文件中没有职工信息!\n"); printf("|按任意键返回子菜单|"); getch(); return -3;//文件打开失败,返回-3 } //以下进入查找程序 printf("请输入职工号:"); scanf("%d",&employeenum); getchar(); for(i=0;i<employee_record;i++) { if(employeenum==employeer[i].num ) { employeeid=i;//找到职工记录,返回记录号 printf("\t %-6s %-10s %-10s %-6s %-10s %-16s %-16s %-20s\n","职工号","姓名","性别","年龄","学历","工资","住址","电话"); printf("\t %-6d %-10s %-10c %-6d %-10s %-16d %-16s %-20s\n",EMPLOYEE_DATA); printf("\t|----------------------------------------------------------|\n"); break; } } if(i==employee_record)//遍历循环,没有找到记录,提示用户 { printf("找不到%d号职工信息!\n",employeenum); employeeid=-1; } return employeeid; } void employee_del() { FILE *pfemployee; int employeeid,employee_record,i; char cFlag;//字符型变量用于选择 system("cls"); employeeid=employee_search();//调用查找函数获得职工记录号 if(employeeid==-1) return; employee_record=employeefile("rb"); printf("已找到该职工,是否删除?(y/n)"); cFlag=getchar(); getchar(); if(cFlag=='n') return; else if(cFlag=='y') { for(i=employeeid;i<employee_record-1;i++) employeer[i]=employeer[i+1];//数组依次前移 employee_record--; } pfemployee=fopen("employee.txt","wb"); if(pfemployee!=NULL) { for(i=0;i<employee_record;i++) { if(fwrite(&employeer[i],LEN_EMPLOYEE,1,pfemployee)!=1) { printf("无法保存该信息!\n"); return; } } fclose(pfemployee); printf("该职工信息已删除!\n"); } } void employee_xiugai() { int employeeid,employee_record,iflagexist,n,num,i; system("cls"); employeeid=employee_search();//调用查找函数获得职工记录号 if(employeeid==-1)//未找到该序号的职工,直接返回 return; //找到该序号的职工,可以进行修改操作 employee_record=employeefile("rb"); showemployee_xiugaimenu();//显示修改选项的菜单 scanf("%d",&n); getchar(); switch(n) { case 1: printf("请输入职工编号:"); do { iflagexist=0; scanf("%d",&n); getchar(); for(i=0;i<employee_record;i++) { if(num==employeer[i].num&&i!=employeeid) { iflagexist=1; printf("错误,该职工编号已存在,请重新输入:"); break; } } }while(iflagexist==1); employeer[employeeid].num=num; break; case 2: printf("请输入职工姓名:"); gets(employeer[employee_record].name); break; case 3: printf("请输入性别:"); scanf("%-10s",employeer[employee_record].sex); getchar(); break; case 4: printf("请输入年龄:"); scanf("%-10d",&employeer[employee_record].age); getchar(); break; case 5: printf("请输入学历:"); gets(employeer[employee_record].xueli); break; case 6: printf("请输入工资:"); scanf("%-16d",&employeer[employee_record].wage); getchar(); break; case 7: printf("请输入住址:"); gets(employeer[employee_record].addr); break; case 8: printf("请输入电话:"); gets(employeer[employee_record].tel); break; } //调用saveemployeefile函数将修改记录存入文件 saveemployeefile(employeeid); printf("职工信息修改成功!\n"); } void showemployee_xiugaimenu() { printf("\n"); printf("\t| 1.职工号 |\n"); printf("\t| 2.姓名 |\n"); printf("\t| 3.性别 |\n"); printf("\t| 4.年龄 |\n"); printf("\t| 5.学历 |\n"); printf("\t| 6.工资 |\n"); printf("\t| 7.住址 |\n"); printf("\t| 8.电话 |\n"); printf("\n"); printf("请输入所要修改的信息(输入相应的数字:1-5):"); } int employeefile(char * pcMode)//该函数负责从文件中读取所有的职工信息,并记录employee_record的值 { int employee_record=0; FILE *pfemployee; pfemployee=fopen("employee.txt",pcMode); if(pfemployee==NULL) return -1; while(!feof(pfemployee)) { if(fread(&employeer[employee_record],LEN_EMPLOYEE,1,pfemployee)) employee_record++; } fclose(pfemployee); return employee_record; } void saveemployeefile(int employeeid)//该函数专门负责将职工记录号为employeeid的职工信息写入到文件中 { FILE *pfemployee; pfemployee=fopen("employee.txt","a+"); if(pfemployee!=NULL) { fseek(pfemployee,LEN_EMPLOYEE * employeeid,SEEK_SET); if(fwrite(&employeer[employeeid],LEN_EMPLOYEE,1,pfemployee)!=1) printf("无法保存该信息!\n"); } fclose(pfemployee); } void adm_add() { FILE *pfadm;//文件指针 int adm_record,iflagexist,i; char cFlag; system("cls"); adm_record=admfile("ab+");//ab+追加方式打开或重建二进制文件 if(adm_record==-1) { printf("文件打开失败!\n"); return; } else if(adm_record==0) printf("文件中没有职工信息!\n"); else adm_display();//如果职工信息不为0则显示所有职工信息 /*以下代码为循环录入职工信息*/ printf("请选择是否要输入职工信息(y/n):"); cFlag=getchar(); getchar(); if(cFlag=='n') return; pfadm=fopen("adm.txt","ab+"); if( pfadm==NULL) { printf("文件打开失败!\n"); return; } while(cFlag=='y') { if(adm_record>=ADM_NUM)//超过容量范围不能继续写入 { printf("记录已满!"); fclose(pfadm); return; } printf("请输入管理员编号:"); do{ iflagexist=0; scanf("%d",&admer[adm_record].num); getchar(); for(i=0;i<adm_record;i++) { if(admer[i].num==admer[adm_record].num) { iflagexist=1; printf("该管理员编号已存在,请重新输入:"); break; } } }while( iflagexist==1); //新增的管理员的账户和密码 printf("请输入管理员号:"); scanf("%-6d",&admer[adm_record].num); getchar(); printf("请输入账户:"); gets(admer[adm_record].account); printf("请输入密码:"); gets(admer[adm_record].password); /*将新增的管理员的账户和密码写入文件中*/ if(fwrite(&admer[adm_record],LEN_ADM,1,pfadm)!=1) { printf("无法保存该信息!\n"); return; } else { printf("%d号职工信息已保存!\n",admer[adm_record].num); adm_record++; } printf("继续输入信息吗(y/n)"); cFlag=getchar(); getchar(); } fclose(pfadm); printf("添加管理员账户和密码执行完毕\n"); } void adm_display() { int i,adm_record; system("cls"); adm_record=admfile("rb"); if(adm_record==-1) printf("文件打开失败,请先添加管理员信息!\n"); else if(adm_record==0) printf("文件中没有管理员信息!\n"); else { printf("\t|----------------------------------------------------------|\n"); printf("\t %-6s %-20s %-20s\n","管理员编号","账户","密码"); for(i=0;i<adm_record;i++) printf("\t %-6d %-20s %-20s\n",ADM_DATA); printf("\t|----------------------------------------------------------|\n"); } } void adm_del() { FILE *pfadm; int admid,adm_record,i; char cFlag;//字符型变量用于选择 system("cls"); admid=adm_search();//调用查找函数获得管理员记录号 if(admid==-1) return; adm_record=admfile("rb"); printf("已找到该管理员,是否删除?(y/n)"); cFlag=getchar(); getchar(); if(cFlag=='n') return; else if(cFlag=='y') { for(i=admid;i<adm_record-1;i++) admer[i]=admer[i+1];//数组依次前移 adm_record--; } pfadm=fopen("adm.txt","wb"); if(pfadm!=NULL) { for(i=0;i<adm_record;i++) { if(fwrite(&admer[i],LEN_ADM,1,pfadm)!=1) { printf("无法保存该信息!\n"); return; } } fclose(pfadm); printf("%d号管理员信息已删除!\n",admer[i].num); } } void adm_xiugai() { int admid,adm_record,iflagexist,n,num,i; system("cls"); admid=adm_search();//调用查找函数获得管理员记录号 if(admid==-1)//未找到该序号的管理员,直接返回 return; //找到该序号的管理员,可以进行修改操作 adm_record=admfile("rb"); showadm_xiugaimenu();//显示修改选项的菜单 scanf("%d",&n); getchar(); switch(n) { case 1: printf("请输入管理员编号:"); do { iflagexist=0; scanf("%d",&n); getchar(); for(i=0;i<adm_record;i++) { if(num==admer[i].num&&i!=admid) { iflagexist=1; printf("错误,该管理员编号已存在,请重新输入:"); break; } } }while(iflagexist==1); admer[admid].num=num; break; case 2: printf("请输入管理员账户:"); gets(admer[adm_record].account); break; case 3: printf("请输入管理员密码:"); gets(admer[adm_record].password); break; } //调用saveadmfile函数将修改记录存入文件 saveadmfile(admid); printf("管理员信息修改成功!\n"); } void showadm_xiugaimenu() { printf("\n"); printf("\t| 1.管理员编号 |\n"); printf("\t| 2.账户 |\n"); printf("\t| 3.密码 |\n"); printf("\n"); printf("请输入所要修改的信息(输入相应的数字:1-3):"); } int admfile(char * pcMode)//该函数负责从文件中读取所有的管理员信息,并记录adm_record的值 { int adm_record=0; FILE * pfadm; pfadm=fopen("adm.txt",pcMode); if(pfadm==NULL) return -1; while(!feof(pfadm)) { if(fread(&admer[adm_record],LEN_ADM,1,pfadm)) adm_record++; } fclose(pfadm); return adm_record; } void saveadmfile(int admid)//该函数专门负责将管理员记录号为admid的管理员信息写入到文件中 { FILE *pfadm; pfadm=fopen("adm.txt","r+"); if(pfadm!=NULL) { fseek(pfadm,LEN_ADM * admid,SEEK_SET); if(fwrite(&admer[admid],LEN_ADM,1,pfadm)!=1) printf("无法保存该信息!\n"); } fclose(pfadm); } int adm_search() { int admnum,adm_record,admid,i; system("cls"); adm_record=admfile("rb");//以"rb"形式打开文件,如果失败则返回 if(adm_record==-1) { printf("文件打开失败!\n"); printf("|按任意键返回子菜单|"); getch(); return -2;//文件打开失败,返回-2 } else if(adm_record==0) { printf("文件中没有职工信息!\n"); printf("|按任意键返回子菜单|"); getch(); return -3;//文件打开失败,返回-3 } //以下进入查找程序 printf("请输入职工号:"); scanf("%d",&admnum); getchar(); for(i=0;i<adm_record;i++) { if(admnum==admer[i].num ) { admid=i;//找到职工记录,返回记录号 printf("\t %-6d %-20s %-20s\n","管理员编号","账户","密码"); printf("\t %-6d %-20s %-20s\n",ADM_DATA); printf("\t|----------------------------------------------------------|\n"); break; } } if(i==adm_record)//遍历循环,没有找到记录,提示用户 { printf("找不到%d号职工信息!\n",admnum); admid=-1; } return admid; } void adm_in() { int i,n,k,j=-1,adm_record; char admaccount[20]; char admpassword[20]; FILE *fpadm; adm_record=admfile("rb"); printf("将于3秒后转至administrator登录界面"); Sleep(3000); system("cls"); for(k=0;k<3;k++) { printf("\n\t\t\t请输入你的账户名:"); scanf("%s",admaccount); printf("\n\t\t\t请输入你的登入密码:"); scanf("%s",admpassword); for(i=0;i<adm_record;i++) { if(strcmp(admer[i].account,admaccount)==0&&strcmp(admer[i].password,admpassword)==0) { printf("\n\t\t\t登入成功!"); j=1; admmenu(); goto loop; } else printf("\t\t\t用户名或者密码错误,请重新输入:"); break; } } if(j==-1) { printf("\t连续输入错误3次,即将退出程序\n"); Sleep(1000); exit(0); } loop: scanf("%d",&n); getchar(); while(n) { switch(n) { case 1: employee_display(); break; case 2: employee_search(); break; case 3: employee_del(); break; case 4: employee_add(); break; case 5: employee_xiugai(); break; default: printf("\t\t请输入正确的数字!"); } printf("|按任意键返回子菜单|"); getch(); admmenu(); scanf("%d",&n); getchar(); } } void admmenu() { system("cls"); printf("\n\n\n\n\n"); printf("\t|------------------欢迎进入-----------------------|\n"); printf("\t| 职工管理系统 |\n"); printf("\t| 子菜单 |\n"); printf("\t| 1.浏览职工信息 |\n"); printf("\t| 2.查询职工信息 |\n"); printf("\t| 3.删除职工信息 |\n"); printf("\t| 4.添加职工信息 |\n"); printf("\t| 5.修改职工信息 |\n"); printf("\t| 0.返回主菜单 |\n"); printf("\t|-------------------------------------------------|\n"); printf("\n"); printf("\t\t请选择(0-5):"); } void employee_in() { int n,employee_record; system("cls"); printf("\n\n\n\n\n"); employee_record=employeefile("rb"); if(employee_record==-1) printf("文件打开失败,你的信息还没有被添加!\n"); else if(employee_record==0) printf("文件中没有你的信息!\n"); else { printf("\t|----------------------------------------------------------|\n"); printf("\t %-6s %-10s %-10s %-6s %-10s %-16s %-16s %-20s\n","职工号","姓名","性别","年龄","学历","工资","住址","电话"); printf("请输入你的职工号:\n"); scanf("%d",&n); printf("\t %-6d %-10s %-10c %-6d %-10s %-16d %-16s %-20s\n",employeer[n-1].num,employeer[n-1].name,employeer[n-1].sex,employeer[n-1].age,employeer[n-1].xueli,employeer[n-1].wage,employeer[n-1].addr,employeer[n-1].tel); printf("\t|----------------------------------------------------------|\n"); } }

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最新代码,喜欢的朋友请拿去

php+mysql学生成绩管理系统

学生成绩管理系统,分三个模块:学生,教师和管理员。 管理员模块:负责学生、老师信息的增删改;发布课程信息的增删改,以便让学生选课;审核老师提交的学生成绩并且打印成绩存档;按照课号查询每个课号的学生成绩

web网页制作期末大作业

分享思维,改变世界. web网页制作,期末大作业. 所用技术:html css javascript 分享所学所得

Git 实用技巧

这几年越来越多的开发团队使用了Git,掌握Git的使用已经越来越重要,已经是一个开发者必备的一项技能;但很多人在刚开始学习Git的时候会遇到很多疑问,比如之前使用过SVN的开发者想不通Git提交代码为什么需要先commit然后再去push,而不是一条命令一次性搞定; 更多的开发者对Git已经入门,不过在遇到一些代码冲突、需要恢复Git代码时候就不知所措,这个时候哪些对 Git掌握得比较好的少数人,就像团队中的神一样,在队友遇到 Git 相关的问题的时候用各种流利的操作来帮助队友于水火。 我去年刚加入新团队,发现一些同事对Git的常规操作没太大问题,但对Git的理解还是比较生疏,比如说分支和分支之间的关联关系、合并代码时候的冲突解决、提交代码前未拉取新代码导致冲突问题的处理等,我在协助处理这些问题的时候也记录各种问题的解决办法,希望整理后通过教程帮助到更多对Git操作进阶的开发者。 本期教程学习方法分为“掌握基础——稳步进阶——熟悉协作”三个层次。从掌握基础的 Git的推送和拉取开始,以案例进行演示,分析每一个步骤的操作方式和原理,从理解Git 工具的操作到学会代码存储结构、演示不同场景下Git遇到问题的不同处理方案。循序渐进让同学们掌握Git工具在团队协作中的整体协作流程。 在教程中会通过大量案例进行分析,案例会模拟在工作中遇到的问题,从最基础的代码提交和拉取、代码冲突解决、代码仓库的数据维护、Git服务端搭建等。为了让同学们容易理解,对Git简单易懂,文章中详细记录了详细的操作步骤,提供大量演示截图和解析。在教程的最后部分,会从提升团队整体效率的角度对Git工具进行讲解,包括规范操作、Gitlab的搭建、钩子事件的应用等。 为了让同学们可以利用碎片化时间来灵活学习,在教程文章中大程度降低了上下文的依赖,让大家可以在工作之余进行学习与实战,并同时掌握里面涉及的Git不常见操作的相关知识,理解Git工具在工作遇到的问题解决思路和方法,相信一定会对大家的前端技能进阶大有帮助。

Windows版YOLOv4目标检测实战:训练自己的数据集

课程演示环境:Windows10; cuda 10.2; cudnn7.6.5; Python3.7; VisualStudio2019; OpenCV3.4 需要学习ubuntu系统上YOLOv4的同学请前往:《YOLOv4目标检测实战:训练自己的数据集》 课程链接:https://edu.csdn.net/course/detail/28745 YOLOv4来了!速度和精度双提升! 与 YOLOv3 相比,新版本的 AP (精度)和 FPS (每秒帧率)分别提高了 10% 和 12%。 YOLO系列是基于深度学习的端到端实时目标检测方法。本课程将手把手地教大家使用labelImg标注和使用YOLOv4训练自己的数据集。课程实战分为两个项目:单目标检测(足球目标检测)和多目标检测(足球和梅西同时检测)。 本课程的YOLOv4使用AlexyAB/darknet,在Windows系统上做项目演示。包括:安装软件环境、安装YOLOv4、标注自己的数据集、整理自己的数据集、修改配置文件、训练自己的数据集、测试训练出的网络模型、性能统计(mAP计算)和先验框聚类分析。还将介绍改善YOLOv4目标检测性能的技巧。 除本课程《Windows版YOLOv4目标检测实战:训练自己的数据集》外,本人将推出有关YOLOv4目标检测的系列课程。请持续关注该系列的其它视频课程,包括: 《Windows版YOLOv4目标检测实战:人脸口罩佩戴检测》 《Windows版YOLOv4目标检测实战:中国交通标志识别》 《Windows版YOLOv4目标检测:原理与源码解析》

汽车行驶工况构建2019 D题.zip

1. 标记0与0之间的片段位置 2.标记所之间的毛刺数的位置 3.去掉毛刺数据 速度 并生成 新的数组 4.标记时间段 5. 0与0之间 如果有不连续的时间片段 置零 先找到时间间隔 再看间隔时间对应

2019 AI开发者大会

2019 AI开发者大会(AI ProCon 2019)是由中国IT社区CSDN主办的AI技术与产业年度盛会。多年经验淬炼,如今蓄势待发:2019年9月6-7日,大会将有近百位中美顶尖AI专家、知名企业代表以及千余名AI开发者齐聚北京,进行技术解读和产业论证。我们不空谈口号,只谈技术,诚挚邀请AI业内人士一起共铸人工智能新篇章!

matlab经典题目

matlab经典题目,老师上课的时候给的,后续再发具体程序。matlab经典题目,老师上课的时候给的,后续再发具体程序。matlab经典题目,老师上课的时候给的,后续再发具体程序。

相关热词 c#怎么获得线程名 c# usb 采集器 c# sort() c#面对对象的三大特性 c# 打印 等比缩放 c#弹出右键菜单 c# 系统托盘图标 c# 键值对 键可以重复 c# 鼠标移上去提示 c#结构体定义
立即提问