#include<stdio.h> #include<string.h> #include<stdlib.h> #define N 100 int iNumOfStu=0; struct score { float math; float english; float computer; }; struct student { int number; char name[20]; struct score sco; float average; }; struct student stu[N]; void print_menu(void);//输出菜单 void choosemenu(void);//菜单选择 void input_student1(int);//输入学生信息 void input_student2(void);//输入总函数 void input_student3(int &,int);//判断学号是否重复 void input_student4(int,int);//覆盖原信息 void sort_student3(student s[],int);//按照英语成绩排序 void sort_student4(student s[],int);//按照计算机成绩排序 void sort_student2(student s[],int);//按照数学成绩排序 void sort_student5(student s[],int);//按照平均成绩排序 float input_score2(int);//计算学生平均成绩 void print_student2(void);//显示表头 void print_student3(int);//显示学生信息 void print_student1(int);//显示全部学生资料 void sort_student1(void);//排序总函数 void menu(void);//菜单调度总函数 int search_student2(int);//按学号查询学生信息并输出 void search_student3(int);//按平均分最高查询并输出 void search_student1(void);//查询总函数 void delete_student2(int,int);//删除学生信息 void delete_student1(void);//删除总函数 void change_student2(int);//修改学生资料 void change_student1(void);//修改总函数 void input_score3(int);//统计成绩 void input_score1(void);//统计成绩总函数 void print_help(void);//输出帮助信息 void exit_student(void);//退出系统 void save_student(student *,int);//保存学生信息 void main() { menu(); } void save_student(student *s,int a)//保存学生信息 { FILE *fp; if((fp=fopen("d:\\学生信息.txt","wb"))==NULL) { printf("不能打开文件!\n"); } else { printf("保存信息到D盘\n"); fprintf(fp,"本班所有学生具体信息如下:\r\n"); fprintf(fp," 学号 姓名 数学成绩 英语成绩 计算机成绩 平均成绩\r\n"); for(int i=0;i<a;i++) { fprintf(fp,"%8d%12s%14.2f%14.2f%14.2f%14.2f\n",stu[i].number,stu[i].name,stu[i].sco.math,stu[i].sco.english,stu[i].sco.computer,stu[i].average); fprintf(fp,"\r\n"); } fclose(fp); printf("信息保存成功!\n"); } } void exit_student(void)//退出系统 { exit(1); } void print_help(void)//输出帮助信息 { printf("本系统所能容纳的最大学生数为%d人\n学生信息保存在D盘根目录下,保存文件为“学生信息.txt”。\n感谢使用!\n",N); } void input_score1(void)//统计成绩总函数 { int c; c=search_student2(iNumOfStu); printf("学号:%d\n",stu[c].number); printf("姓名:%s\n",stu[c].name); input_score3(c); printf("新成绩录入成功!\n"); stu[c].average=input_score2(c); } void input_score3(int a)//统计成绩 { printf("数学新成绩:"); scanf("%f",&stu[a].sco.math); printf("英语新成绩:"); scanf("%f",&stu[a].sco.english); printf("计算机新成绩:"); scanf("%f",&stu[a].sco.computer); } void change_student2(int a)//修改学生资料 { printf("学号:%d----修改为:",stu[a].number); scanf("%d",&stu[a].number); getchar(); printf("姓名:%s----修改为:",stu[a].name); gets(stu[a].name); printf("数学成绩:%.2f----修改为:",stu[a].sco.math); scanf("%f",&stu[a].sco.math); printf("英语成绩:%.2f----修改为:",stu[a].sco.english); scanf("%f",&stu[a].sco.english); printf("计算机成绩:%.2f----修改为:",stu[a].sco.computer); scanf("%f",&stu[a].sco.computer); } void change_student1(void)//修改总函数 { int c; c=search_student2(iNumOfStu); getchar(); printf("是否要修改此学生信息?(“y”代表是)"); char d; scanf("%c",&d); if(d=='y'||d=='Y') { change_student2(c); stu[c].average=input_score2(c); printf("信息修改成功!\n"); } } void delete_student1(void)//删除总函数 { int c; c=search_student2(iNumOfStu); getchar(); printf("是否删除此条记录?(“y”代表是)"); char d; scanf("%c",&d); if(d=='y'||d=='Y') { delete_student2(c,iNumOfStu); printf("记录已删除!\n"); } } void delete_student2(int a,int b)//删除学生信息 { for(int i=a;i<b-1;i++) { stu[i]=stu[i+1]; } --iNumOfStu; } void search_student1(void)//查询总函数 { printf("1、按学号查询\n2、按平均分最高查询\n请选择:"); int c; scanf("%d",&c); switch(c) { case 1: { search_student2(iNumOfStu); break; } case 2: { search_student3(iNumOfStu); break; } default: break; } } void menu(void)//菜单调度总函数 { print_menu(); choosemenu(); } void sort_student1(void)//排序总函数 { printf("1、按数学成绩排序\n2、按英语成绩排序\n3、按计算机成绩排序\n4、按平均成绩排序\n请选择:"); int c; scanf("%d",&c); switch(c) { case 1: { sort_student2(stu,iNumOfStu); break; } case 2: { sort_student3(stu,iNumOfStu); break; } case 3: { sort_student4(stu,iNumOfStu); break; } case 4: { sort_student5(stu,iNumOfStu); break; } default: break; } } void print_student1(int a)//显示全部学生资料 { printf("本班所有学生具体信息如下\n"); print_student2(); for(int i=0;i<a;i++) { print_student3(i); } } void print_student3(int a)//显示学生信息 { printf("%8d%12s%14.2f%14.2f%14.2f%14.2f\n",stu[a].number,stu[a].name,stu[a].sco.math,stu[a].sco.english,stu[a].sco.computer,stu[a].average); } void print_student2(void)//显示表头 { printf(" 学号 姓名 数学成绩 英语成绩 计算机成绩 平均成绩\n"); } void input_student4(int a,int b)//覆盖原信息 { stu[a]=stu[b-1]; --iNumOfStu; } void input_student3(int &a,int b)//判断学号是否重复 { if(a!=0) { int i=0; do { if(stu[a].number==stu[i].number) { printf("此学号代表的学生已录入\n1、覆盖原信息\n2、重新输入\n请选择:"); int c; scanf("%d",&c); switch(c) { case 1: { input_student4(i,iNumOfStu); a=iNumOfStu-1; printf("信息已替换!\n"); break; } case 2: { printf("请重新输入学生信息:\n"); input_student1(iNumOfStu-1); break; } default: break; } break; } ++i; } while(i<b-1); } } void print_menu(void)//输出菜单 { printf("======欢迎来到学生信息管理系统======\n"); printf(" 1、输入学生资料\n"); printf(" 2、删除学生资料\n"); printf(" 3、查询学生资料\n"); printf(" 4、修改学生资料\n"); printf(" 5、显示学生资料\n"); printf(" 6、统计学生成绩\n"); printf(" 7、排序学生成绩\n"); printf(" 8、保存学生资料\n"); printf(" 9、获取帮助信息\n"); printf(" 10、退出系统\n"); printf("====================================\n"); printf("请选择:"); } void input_student2(void)//输入总函数 { char end; printf("请输入学生信息(在最后一个学生信息录入完成后以“/”结束录入):\n"); for(int i=0;(end=getchar())!='/';i++) { input_student1(i); ++iNumOfStu; input_student3(i,iNumOfStu); } for(int j=0;j<iNumOfStu;j++) { stu[j].average=input_score2(j); } } void input_student1(int a)//输入学生信息 { printf("学号:"); scanf("%d",&stu[a].number); getchar(); printf("姓名:"); gets(stu[a].name); printf("数学成绩:"); scanf("%f",&stu[a].sco.math); printf("英语成绩:"); scanf("%f",&stu[a].sco.english); printf("计算机成绩:"); scanf("%f",&stu[a].sco.computer); } float input_score2(int a)//计算学生平均成绩 { return (stu[a].sco.math+stu[a].sco.english+stu[a].sco.computer)/3; } void search_student3(int a)//按平均分最高查询并输出 { int max=0; for(int i=0;i<a;i++) { if(stu[max].average<stu[i].average) { max=i; } } print_student2(); print_student3(max); } void sort_student2(student s[],int a)//按照数学成绩排序 { struct student temp; for(int i=0;i<a-1;i++) { int max=i; for(int j=i+1;j<a;j++) if(stu[j].sco.math>stu[max].sco.math) { max=j; } if(max!=i) { temp=stu[max]; stu[max]=stu[i]; stu[i]=temp; } } print_student2(); for(int k=0;k<a;k++) { print_student3(k); } } void sort_student3(student s[],int a)//按照英语成绩排序 { struct student temp; for(int i=0;i<a-1;i++) { int max=i; for(int j=i+1;j<a;j++) if(stu[j].sco.english>stu[max].sco.english) { max=j; } if(max!=i) { temp=stu[max]; stu[max]=stu[i]; stu[i]=temp; } } print_student2(); for(int k=0;k<a;k++) { print_student3(k); } } void sort_student4(student s[],int a)//按照计算机成绩排序 { struct student temp; for(int i=0;i<a-1;i++) { int max=i; for(int j=i+1;j<a;j++) if(stu[j].sco.computer>stu[max].sco.computer) { max=j; } if(max!=i) { temp=stu[max]; stu[max]=stu[i]; stu[i]=temp; } } print_student2(); for(int k=0;k<a;k++) { print_student3(k); } } void sort_student5(student s[],int a)//按照平均成绩排序 { struct student temp; for(int i=0;i<a-1;i++) { int max=i; for(int j=i+1;j<a;j++) if(stu[j].average>stu[max].average) { max=j; } if(max!=i) { temp=stu[max]; stu[max]=stu[i]; stu[i]=temp; } } print_student2(); for(int k=0;k<a;k++) { print_student3(k); } } int search_student2(int a)//按照学号查找学生并输出 { int num; int c; printf("请输入要查询的学号:"); scanf("%d",&num); for(int i=0;i<a;i++) { if(num==stu[i].number) { c=i; } } printf("此学生的信息是:\n"); print_student2(); print_student3(c); return c; } void choosemenu(void)//菜单选择 { int i; scanf("%d",&i); switch(i) { case 1: { input_student2(); printf("按回车键返回主菜单"); getchar(); getchar(); menu(); break; } case 2: { delete_student1(); printf("按回车键返回主菜单"); getchar(); getchar(); menu(); break; } case 3: { search_student1(); printf("按回车键返回主菜单"); getchar(); getchar(); menu(); break; } case 4: { change_student1(); printf("按回车键返回主菜单"); getchar(); getchar(); menu(); break; } case 5: { print_student1(iNumOfStu); printf("按回车键返回主菜单"); getchar(); getchar(); menu(); break; } case 6: { input_score1(); printf("按回车键返回主菜单"); getchar(); getchar(); menu(); break; } case 7: { sort_student1(); printf("按回车键返回主菜单"); getchar(); getchar(); menu(); break; } case 8: { save_student(stu,iNumOfStu); printf("按回车键返回主菜单"); getchar(); getchar(); menu(); break; } case 9: { print_help(); printf("按回车键返回主菜单"); getchar(); getchar(); menu(); break; } case 10: { exit_student(); } default: break; } } 运行结果: 源文件下载地址: http://115.com/file/clnq138g#一个简单的学生成绩管理系统.rar (请将此地址复制到浏览器地址栏中访问下载页面) #include<stdio.h> #include<string.h> #include<stdlib.h> #define N 100 int iNumOfStu=0; struct score { float math; float english; float computer; }; struct student { int number; char name[20]; struct score sco; float average; }; struct student stu[N]; void print_menu(void);//输出菜单 void choosemenu(void);//菜单选择 void input_student1(int);//输入学生信息 void input_student2(void);//输入总函数 void input_student3(int &,int);//判断学号是否重复 void input_student4(int,int);//覆盖原信息 void sort_student3(student s[],int);//按照英语成绩排序 void sort_student4(student s[],int);//按照计算机成绩排序 void sort_student2(student s[],int);//按照数学成绩排序 void sort_student5(student s[],int);//按照平均成绩排序 float input_score2(int);//计算学生平均成绩 void print_student2(void);//显示表头 void print_student3(int);//显示学生信息 void print_student1(int);//显示全部学生资料 void sort_student1(void);//排序总函数 void menu(void);//菜单调度总函数 int search_student2(int);//按学号查询学生信息并输出 void search_student3(int);//按平均分最高查询并输出 void search_student1(void);//查询总函数 void delete_student2(int,int);//删除学生信息 void delete_student1(void);//删除总函数 void change_student2(int);//修改学生资料 void change_student1(void);//修改总函数 void input_score3(int);//统计成绩 void input_score1(void);//统计成绩总函数 void print_help(void);//输出帮助信息 void exit_student(void);//退出系统 void save_student(student *,int);//保存学生信息 void main() { menu(); } void save_student(student *s,int a)//保存学生信息 { FILE *fp; if((fp=fopen("d:\\学生信息.txt","wb"))==NULL) { printf("不能打开文件!\n"); } else { printf("保存信息到D盘\n"); fprintf(fp,"本班所有学生具体信息如下:\r\n"); fprintf(fp," 学号 姓名 数学成绩 英语成绩 计算机成绩 平均成绩\r\n"); for(int i=0;i<a;i++) { fprintf(fp,"%8d%12s%14.2f%14.2f%14.2f%14.2f\n",stu[i].number,stu[i].name,stu[i].sco.math,stu[i].sco.english,stu[i].sco.computer,stu[i].average); fprintf(fp,"\r\n"); } fclose(fp); printf("信息保存成功!\n"); } } void exit_student(void)//退出系统 { exit(1); } void print_help(void)//输出帮助信息 { printf("本系统所能容纳的最大学生数为%d人\n学生信息保存在D盘根目录下,保存文件为“学生信息.txt”。\n感谢使用!\n",N); } void input_score1(void)//统计成绩总函数 { int c; c=search_student2(iNumOfStu); printf("学号:%d\n",stu[c].number); printf("姓名:%s\n",stu[c].name); input_score3(c); printf("新成绩录入成功!
标签: c语言
上传时间: 2019-06-09
上传用户:啊的撒旦
Windows7下IE 8使用技巧5则 IE几乎是各位菜鸟、大虾上网时的首选浏览器,有关它的常规使用技巧,相信各位早已是耳熟能详了。只要你足够用心、细心,就一定会不断“挖掘”出IE新的使用技巧来。不信,就来看看下面的几则新鲜用法吧,相信会让各位有耳目一新之感! 1.寻找失落的IE启动按钮 正常情况下,IE浏览器的快速启动按钮会在系统任务栏中“安家落户”,可是一旦操作不小心,往往会导致IE浏览器的快速启动按钮在任务栏中“消失”。那么 你面对IE启动按钮从系统任务栏中消失时,你该如何去将它寻找回来呢?其实方法很简单,只要你按照下面的步骤来进行操作就可以了。 首先用鼠标右键单击桌面中的IE浏览器图标,从弹出的快捷菜单中执行“创建快捷方式”命令,这样就能为IE浏览器创建好一个对应的快捷方式。 接着打开系统资源管理窗口,依次双击C盘中的“Windows”文件夹、“ApplicationData”文件夹、“Microsoft”文件夹、 “InternetExplorer”文件夹、“QuickLaunch”文件夹;然后将桌面中创建好的IE快捷方式,直接拖动到 “QuickLaunch”文件夹窗口中。 当然还有更简洁的方法,那就是直接将系统桌面中的IE浏览器图标,用鼠标左键拖动到系统任务栏中,不过在拖放时一定要在出现虚线图标之后才可以。 2.让IE也能断点续传 大家知道,单击IE页面中的某个下载链接地址时,IE就会自动调用其内置的下载功能来下载文件;不过这种功能一旦遇到网络堵塞而掉线的情况时,就会将已经下载好的内容全部丢失,以后再次下载时还需要从头再来,显然IE内置的下载功能容易耽误下载时间。 那么我们有没有办法让IE的下载功能也支持断点续传呢?答案是肯定的。只要你使用IE来下载文件出现意外掉线时,或者发现IE下载进度条长时间没有任何反 应时,请不要单击该下载对话框中的“取消”按钮,而应该直接单击该窗口中的“x”按钮,来暂时退出下载状态;接着重新单击网页中的这个下载链接地址,然后 再单击“保存”按钮,在弹出的保存对话框中,将文件名和保存路径都设置为与上次没下载完时的文件相同,这样IE就能接着上次没下载完的位置,继续下载余下 的内容;当然这种IE断点续传功能只适合HTTP下载方式,而不适合FTP下载方式。 3.将IE选项设置“架空” 倘若允许其他人随意对IE的上网参数进行设置的话,那么IE的安全、甚至系统的安全都会受到威胁,例如一旦非法用户打开IE浏览器的“Internet选 项”设置框,将上网安全级别降低的话,那么网络中的各种病毒、木马,都有可能就会随之而来。为了确保安全,你有时必须“架空”IE浏览器中的 Internet选项,让非法用户无法自行设置IE上网参数: 首先打开Windows系统的资源管理器窗口,找到并进入到“system32”文件夹窗口,选中其中的“inetcpl.cpl”文件,并用鼠标右键单 击之,从弹出的右键菜单中,单击“重命名”选项,将“inetcpl.cpl”的文件名称更名为“inetcplnew.cpl”,当然你也能将其换成其 他名称,不过你一定要将更名后的文件名称记得,以后需要恢复时以便能快速找到。完成重命名操作后,再单击IE浏览器中的“Internet选项”命令时, 就不能进入到选项设置窗口了。 4.不用工具也能修复IE 在网上尽情冲浪时,IE难免会遭遇恶意攻击;那么面对被恶意修改的IE,你该如何去恢复它呢?大多数人都会去选用各种专业的IE修复工具,来对付IE的恶意攻击;也有水平高一些的“大虾”,通过手工修改注册表的方法,来恢复IE的本来“面貌”。可是当你手头没有专业的IE修复工具可以利用时,或者自己对注册表了解不深时,你该如何去修复IE呢?为此,本文为你提供一则非常便利的解决方法,不过该方法只能适合Windows2000或WindowsXP操作系统,下面就是该方法的具体实现步骤: 依次单击“开始”/“设置”/“控制面板”命令,然后依次双击“管理工具”/“计算机管理”图标,在随后弹出的窗口中,依次展开“系统工具”/“本地用户 和组”文件夹,再单击“用户”选项,在对应的右边子窗口中,右击空白区域,执行快捷菜单中的“新用户”命令,将新用户命名为“newusr”,同时设置好 该账号的访问密码; 完成新用户的创建任务后,依次单击“开始”/“关机”命令,然后执行“注销Administrator”操作,再改用“newusr”账号重新进入到 Windows2000系统;接着打开系统注册表编辑界面,依次展开注册表分支HKEY_CURRENT_USER\Software \Microsoft\InternetExplorer,并将“InternetExplorer”主键选中,再依次单击注册表菜单栏中的“注册表”/ “导出注册表文件”命令,将有关IE部分的注册表分支内容导出,例如保存为“ienew.reg”文件,如此一来你就能将“newusr”账号下关于IE 的正确设置全部导出来了;由于“newusr”账号是刚刚新建的,因此该账号下的IE设置都是系统默认的正确设置,也就是说它是没有被攻击过的; 下面注销“newusr”账号,再以“Administrator”账号登录系统;然后打开注册表编辑窗口,依次执行菜单栏中的 “注册表”/“导入注册表文件”命令,在弹出的文件选择对话框中,将前面导出的“ienew.reg”文件导入到注册表中,就能使IE恢复本来“面貌” 了。 当然,这样的方法比较麻烦,因此我们推荐IE一键修复 0.3(点击官方下载)167K ,中文绿色免费软件,可以一键修复被恶意篡改的IE浏览器。此外,在魔方(点此下载)中,也将加入IE的修复功和监控恶意软件等安全功能。 5. 找回Windows 7中的IE 8桌面图标 在Windows 7中,由于超级任务栏的存在,微软取消了IE 8的桌面图标设置,也就是说,在Windows 7中,无法在桌面显示IE 8图标,当然,快捷方式是不能算的。不过近来有会员在论坛为我们提供了一个很好的办法,可以以"曲线"的方式实现IE 8图标桌面显示。尽管还不完美,但基本的功能都具备了,大家可以通过Windows7优化大师 - 美化大师 - 系统外观来自行设置。 善用快捷键,玩转Windows 7 便签程序 便笺是一种可以粘贴在任意位置的正方形或长条形纸条,方便我们随时记录一些信息,或是安排日常工作,随写随记,非常方便。在 Windows 中为我们提供了和实物便笺一样功能的小程序,本人非常喜欢。在 Vista 中,这个小程序作为边栏小工具出现,但在 Windows 7 中已经成为了一个标准的Windows附件程序。 依次点击Windows7的开始菜单按钮 -》所有程序 -》附件 -》,点击打开便签,如下图所示: 不用软件,非会员彻底去除QQ2009/2010广告 昨天谈到了《不是VIP用户也不怕 不需任何补丁屏蔽迅雷广告》,用户反馈非常的多,如果没能设置成功的,请仔细阅读步骤,100%的可以搞定的,当然,如果迅雷再发新版升级后,就不保证了,有任何新的变化,请随时关注Windows7之家和Vista之家首页。 说完了迅雷,我们再来说下QQ吧,QQ的免费用户数量除了Windows外,就属它大了。 屏蔽广告除了更干净洁爽之外,更大的好处是不用随时下载体积大的flash动画和gif动画图片了,QQ登陆速度显著提升,同时,也少了带宽消耗。 非QQ会员彻底屏蔽QQ2009正式版广告: 在QQ2009 Beta版的时候,可以通过删除一些文件让非会员也能实现去广告的目的,可惜从QQ2009正式版起增加了文件完整性检查,删除文件会导致QQ无法启动,并要求重新安装。 那么对于非会员来说,QQ2009正式版(包括之后的SP6、SP5、SP4、SP3、SP2、SP1等)就不能手动去广告了吗? 其实还是有办法的,而且做起来也不难,你说是用第三方工具? 不需要!只要你对Windows操作系统稍有了解就可以轻松搞定,除了QQ2009,您也可以把这些招数用在QQ2010的测试版中,几乎完全一样。 下面,就把找到的方法共享给大家吧! 在开始之前,请先退出您正在运行中的QQ。 1、去除腾讯迷你首页: 对于每次启动QQ后,都弹出的“腾讯迷你首页”,很多人一定感到不爽,就让我们先拿它开刀吧。 首先进入QQ的安装文件夹,接着进入 Plugin\Com.Tencent.Advertisement\bin 文件夹,这里你会看到一个Advertisement.dll文件,它就是迷你首页的关键所在,只需将这个文件改成只读属性,以后启动QQ就不会再看到迷你首页了。在这个文件上面点击鼠标右键,点击属性,勾选只读,确定退出。 2、去除聊天窗口右上角广告: 这个操作针对XP、Win2003系统用户和Vista、Windows7、Win2008略有不同,主要是文件夹路径上的。 1)XP、Win2003系统用户操作方法: 进入 X:\Documents and Settings\用户名\Application Data\Tencent\QQ\Misc\com.tencent.advertisement (注意,X指的系统所在盘盘符,一般是C),首先删除这个文件夹里面的所有文件,注意文件夹本身不能删除,然后把当前用户的写入权限给拒绝掉(需要当前分区为NTFS格式)。 方法:文件夹上右键,属性 - 安全标签,选中当前登录用户,接着在下方“写入”权限里,拒绝上打勾。 2)Vista、Windows7、Win2008用户的操作: 进入 X:\users\用户名\appdata\Roaming\Tencent\QQ\Misc\com.tencent.advertisement,在这个文件上面点击鼠标右键,点击属性,然后点击安全标签, 选中你的当前用户,如下图示例中的Ruamei.com,然后点击“编辑”按钮,OK,写入那儿设置下拒绝吧。 这样,无论是会员还是非会员,你都不会有任何的广告图片下载了。 3、去除QQ2009/QQ2010聊天窗口的左下角广告 如今的聊天窗口,除了右上角的图片广告外,左下角还多了一条文字广告,既然要去广告,那么这块自然也不能遗忘。同样操作针对XP、Win2003系统用户和Vista、Windows7、Win2008而有所不同。 1)XP、Win2003系统用户操作方法: 再次提醒您修改前首先要关闭QQ,然后进入X:\Documents and Settings\用户名\Application Data\Tencent\Users\你的QQ号\QQ\(注意,X指的系统所在盘盘符,一般是C),删除其中的Misc.db,接着新建一个文件夹并命名为Misc.db(是不是和防止U盘自动运行病毒的方法很像)。 2)Vista、Windows7、Win2008用户的操作: 关闭QQ后,进入X:\users\用户名\appdata\Roaming\Tencent\Users\你的QQ号码\QQ\,然后操作同上。 搞定,如此一来,这几个地方都没广告了吧! 好吧,打开一个标签窗口如下图所示,当然,你可以多点多开。 如果你正在使用这个程序,是否觉得它的功能太简单了,点点右键,弹出的菜单中只能切换便笺的颜色,没有其他基本的格式编辑功能。 其实,除了标准的 Ctrl 加 XCVA 的剪切/复制/粘贴/全选快捷键之外,其实便笺程序还有一些快捷键可以使用: 快捷键 功能 Ctrl+N 新建一张便笺 Ctrl+D 删除当前便笺 Ctrl+E 居中对齐 Ctrl+R 右对齐 Ctrl+J 左对齐 Ctrl+I 斜体 Ctrl+B 粗体 Ctrl+U 下划线 Ctrl+T 删除线 Ctrl+Shift+> 加大选中文字的字号 Ctrl+Shift+< 缩小选中文字的字号 Ctrl+Shift+L 在文字前添加项目符号和编号(反复按可循环切换)。其中编号包括数字、大小写字母、大小写罗马数字几种形式。连按两次回车可取消。 知道了这些快捷键,我们就可以做出一些满足日常需要的格式了: 像 Windows 这种应用广泛的软件或硬件,由于全球数十亿人都会使用到,因此一个小小的功能特性都可以对世界造成很大的影响。 想想看,如果所有人都利用好这个小程序而不去买便笺,往小了说是省钱,往大了说可是环保了,能节约很多制作便笺的自然资源消耗。
上传时间: 2019-06-22
上传用户:yerbol
高清电子书-高速数字电路设计-华为351页这本书是专门为电路设计工程师写的。它主要描述了模拟电路原理在高速数字电路设计中 的分析应用。通过列举很多的实例,作者详细分析了一直困扰高速电路路设计工程师的铃流、串 扰和辐射噪音等问题。 所有的这些原理都不是新发现的,这些东西在以前时间里大家都是口头相传,或者只是写 成应用手册,这本书的作用就是把这些智慧收集起来,稍作整理。在我们大学的课程里面,这些 内容都是没有相应课程的,因此,很多应用工程师在遇到这些问题的时候觉得很迷茫,不知该如 何下手。我们这本书就叫做“黑宝书”,它告诉了大家在高速数字电路设计中遇到这些问题应该 怎么去解决,他详细分析了这些问题产生的原因和过程。 对于低速数字电路设计,这本书没有什么用,因为低速电路中,'0'、'1' 都是很干净的。 但是在高速数字电路设计中,由于信号变化很快,这时候模拟电路中分析的那些影响会产 生很大的作用,使得信号失真、变形,或者产生毛刺、串扰等,作为高速数字电路的设计者,必 须知道这些原理。这本书就详细的解释了这些现象产生的原理以及他们在电路设计中的应用。 书本中的公式和例子对于那些没有受过专业模拟电路设计训练的读者也是有用的。在线性 电路原理理论课程中只接受了第一年的培训的读者,也许能更好地掌握本书的内容。 第1章——第3章分别介绍了模拟电路术语、逻辑门高速特性和标准高速电路测量方法和技 巧等内容。这三章内容构成了本书的核心,应该包括在任何高速逻辑设计的学习中。 其余章节,第4章——第12章,每一章都讲述了一个高速逻辑设计中的专门问题,我们可以 按照自己的需要选择学习。 附录A收集了本书各部分的要点,列出了所提出的最重要的思想和概念。它可以作为我们 进行系统设计时的一个检查要点(CHECKLIST),或者碰到问题时可作为本书内容的索引。 附录B详细给出了各种上升时间测量形式背后的数学假设。它有助于把本书的结论跟相关 术语的标准及来源联系起来。 附录C是列举物理结构中的电阻、电容和电感计算的标准公式。这些公式已经在MathCad上 实现并可以从作者处获得。
标签: 数字电路设计
上传时间: 2022-03-20
上传用户:
高通(Qualcomm)蓝牙芯片QCC5144_硬件设计详细指导书(官方内部培训手册)其内容是针对硬件设计、部分重要元器件选择(ESD,Filter)及走线注意事项的详细说明。2 Power management 2.1 SMPS 2.1.1 Components specification 2.1.2 Input power supply selection 92.1.3 Minimize SMPS EMI emissions 2.1.4 Internal LDOs and digital core decoupling 2.1.5 Powering external components 2.2 Charger 2.2.1 Charger connections.2.2.2 General charger operation2.2.3 Temperature measurement during charging 2.3 SYS_CTRL 3 Bluetooth radio3.1 RF PSU component choice 3.2 RF band-pass filter3.3 Layout (天线 走线的注意事项)4 Audio4.1 Audio bypass capacitors 4.2 Earphone speaker output4.3 Line/Mic input 4.4 Headphone output optimizition5 LED pads 5.1 LED driver 5.2 Digital/Button input 5.3 Analog input5.4 Disabled 6 Reset pin (Reset#)7 USB interfaces7.1 USB device port7.1.1 USB device port7.1.2 Layout notes 7.1.3 USB charger detectionA QCC5144 VFBGA example schematic and BOM B Recommended SMPS components specificationB.1 Inductor specifition B.2 Recommended inductors B.3 SMPS capacitor specifition
上传时间: 2022-04-07
上传用户:默默
《魏斯曼演讲圣经》是全球顶级商务沟通大师、世界排名第一的演讲教练杰瑞 · 魏斯曼的经典演讲著作,是创新工场CEO李开复鼎力推荐的“全球演讲第一书”。作者杰瑞 ? 魏斯曼指出:演讲者说了什么以及如何说比他展示了什么更重要,在本书中,作者将教给你说的艺术,让你在每一次演讲中都说服每一位听众,这也是你演讲制胜的金科玉律。作者杰瑞 · 魏斯曼,曾为微软、雅虎、思科等500多家全球顶尖企业CEO做过大量的演讲培训,本书是他多年作为演讲教练的经验结晶,浓缩了500多家公司的数千场关键性演讲的精华,作者也是思科成功IPO的幕后推手,思科董事会主席说:“其中2~3美元的涨幅要归功于韦斯曼。”杰瑞 ·魏斯曼认为:一个糟糕的演讲可以毁掉一笔交易,而一个有说服力的演讲则完全可以成全一笔价值连城的生意。在书中,作者逐步讲解了演讲制胜的艺术与技巧,帮助读者如何说服挑剔的听众,从而大大提高其务演讲的效果目录新版前言 说的艺术初版前言 过往的一切拉开了今天的序幕引言 奇迹魔法师第一部分 演讲,说服的艺术第1章 从听众出发警惕演讲“五宗罪”听众不需要知道所有的一切说服就是从起点到终点让听众共鸣赢在“终点”【分析案例】 网存公司首席执行官丹?沃门霍芬,络明网络首席执行官亚历克斯?纳克维第2章 “维惠”的力量你能从中得到什么触发听众利益的 6 大问题谁是听众【分析案例】 布鲁克特里公司首席执行官吉姆?比克斯比,奈飞公司首席执行官里德?哈斯汀斯第3章 头脑风暴,无限可能的艺术别再照搬资料建构框架的4大要点用头脑风暴高效处理资料先定要点,再调结构【分析案例】Adobe公司总裁查克?葛什克第4章 找到合适的结构千万别让听众思考16种叙述结构哪种叙述结构适合你选择结构的5大指导因素结构的力量4个关键问题【分析案例】 英特尔公司研发负责人罗伯特?科尔尔,赛瑞克斯公司首席执行官杰瑞杰斯,ONI 公司首席执行官休?马丁第5章 开场 90 秒就“抓住”听众直接俘获听众7种经典的开场白复合式开场白如何过渡到“目的”告诉听众你的演讲计划开场90秒赢得难缠的听众【分析案例】 直觉公司创始人官斯科特 ?库克,雅虎首席执行官蒂姆 ?库格尔,微软移动设备全球市场部主管文斯?门迪洛第二部分 让PPT与演讲完美结合第6章 PPT,演讲的视觉交流形式PPT 在演讲中的角色你才是演讲的主角寓繁于简让听众眼睛的负担降到最低PPT 设计的 4 中基本类型第7章 让文本说话短促的要点VS完整的句子切忌要点换行巧做要点型PPT用平行结构减轻听众负担编辑要点要点的层次要简洁语言风格的3大准则选择吸引眼球的视觉风格文本 PPT 制作的 9 大基本原则第8章 让数字发言数字型PPT 的价值柱状图饼状图数字型PPT 中排版的学问图表走势,左低右高致命的格式细节第9章 让故事更流畅全局视野PPT 串联的 5 大技巧以演讲者为中心掌控全局【分析案例】 Modex 制药首席执行官雅克?埃辛格第三部分 让演讲充满生命力第10章 激活你的演讲反复表达练习间隔学习内部串词的12种类型应对 7大措辞问题【分析案例】 Central Point 软件公司首席执行官查尔斯?罗森伯格第11章 量身定制演讲内容个性的力量每一场演讲都是第一次外部串词的7种类型为量身打造搜集材料定制化,让演讲事半功倍【分析案例】 Elevation Partners 公司创始人罗杰?麦克纳米,思科执行副总裁唐?利斯特文第12章 让 PPT“动”起来动画的说服力遵循从左向右的认知习惯PPT 里的电影手法PPT 的动画效果动画旁的演讲者第13章 虚拟演讲的新力量突破人际,超越时空虚拟演讲的7大特殊原则和看不见的听众交流打造制胜的虚拟演讲虚拟演讲的明天结语 打造一场完美的演讲附录 A 演讲必备硬件附录 B 工具箱
标签: 魏斯曼演讲
上传时间: 2022-04-22
上传用户:
周立功RS485协议指南,RS485选型及应用指南。 1 章 RS-485 选型及应用指南 .........................................................................1 1.1 RS-232/422/485 标准 ...............................................................................................1 1.1.1 RS-232 标准 .....................................................................................................2 1.1.2 RS-422/485 标准 ..............................................................................................2 1.2 RS-485/RS-422 芯片................................................................................................5 1.2.1 增强型低功耗半双工 RS-485 收发器-SP481E/SP485E ..............................7 1.2.2 1/10 单位负载 RS-485 收发器-SP481R/SP485R .....................................10 1.2.3 +3.3V 低功耗半双工 RS-485 收发器-SP3481/SP3485..............................13 1.2.4 增强型低功耗全双工 RS-422 收发器-SP490E/SP491E ............................15 1.2.5 +3.3V 低功耗全双工 RS-422 收发器-SP3490/SP3491..............................20 1.3 RS-485 接口电路 ...................................................................................................22 1.3.1 基本 RS-485 电路...........................................................................................22 1.3.2 隔离 RS-485 电路...........................................................................................23 1.3.3 上电抑制电路.................................................................................................24 1.3.4 RS-485 自动换向电路....................................................................................24 1.4 RS-485 通讯协议 ...................................................................................................25 1.4.1 ModBus 协议(RTU 模式)...............................................................................25 1.4.2 多功能电能表通讯规约(DL/T645-1997) ......................................................27 1.5 RS-485 程序设计 ...................................................................................................28 1.5.1 RS-485 接口电路............................................................................................28 1.5.2 通讯规约.........................................................................................................28 1.5.3 程序设计流程图.............................................................................................29 1.5.4 数据接收部分.................................................................................................29 1.5.5 命令执行部分.................................................................................................29 1.5.6 数据发送部分.................................................................................................30 1.5.7 RS-485 程序清单............................................................................................31 1.6 RS-485 应用要点 ...................................................................................................38 1.6.1 合理选用芯片.................................................................................................38 1.6.2 终端匹配电阻.................................................................................................39 1.6.3 应用层通信协议.............................................................................................39 1.6.4 3V-5V 系统的连接.........................................................................................39 1.6.5 网络节点数.....................................................................................................40 1.6.6 节点与主干距离.............................................................................................40 1.6.7 RS-485 系统的常见故障及处理方法............................................................40 1.6.8 RS-422 与 RS-485 的网络拓朴 .....................................................................41 1.6.9 RS-422 与 RS-485 的接地问题 .....................................................................41 1.6.10 RS-422 与 RS-485 的瞬态保护 .....................................................................42 1.7 参考文献.................................................................................................................43 广州周立功单片机发展有限公司 Tel:(020)38730977 38730977 Fax:38730925 http://www.zlgmcu.通常的微处理器都集成有 1 路或多路硬件 UART 通道,可以非常方便地实现串行通讯。 在工业控制、电力通讯、智能仪表等领域中,也常常使用简便易用的串行通讯方式作为数据 交换的手段。 但是,在工业控制等环境中,常会有电气噪声干扰传输线路,使用 RS-232 通讯时经常 因外界的电气干扰而导致信号传输错误;另外,RS-232 通讯的最大传输距离在不增加缓冲 器的情况下只可以达到 15 米。为了解决上述问题,RS-485/422 通讯方式就应运而生了。 本章将详细介绍 RS-485/422 原理与区别、元件选择、参考电路、通讯规约、程序设计 等方面的应用要点,以及在产品实践中总结出的一些经验、窍门。
上传时间: 2022-04-27
上传用户:qingfengchizhu
1概述SDIO(安全数字I/0)卡是一种以SD存储卡为基础并与之兼容的卡设备。这种兼容性包括机械特性,电子特性,电源,信号和软件。SDI0卡的目标是为移动电子设备提供低功耗高速度的数据I/0。最起码的使用条件下,SDI0卡插进非SDI0主设备时,不会造成设备的物理破坏或软件的崩溃,因此SDI0卡应该被主设备忽略来处理这种情况。一旦插入SDI0主设备,将以带有扩展SD规范阐述的正常方式进行卡检测。在这种状态下,SDI0卡将进入空闲状态,功耗稍微下降(在超过1秒的时间内平均值可达15mA)。通常在主机初始化和查询卡时,作为SDIO设备而言,卡将会自己认证自己。主机软件将会在已连接列表格式中获得卡信息,并由此决定卡的I/0功能是否可以接受和激活。卡对电源的要求或是否有相应的驱动软件是判据。如果卡被接受,卡会完全上电并启动内建的I/0功能。1.1SDIO特点·应用在移动设备和固定设备·SD物理总线无需改变或做最小限度的改变·存储软件做最小的改动·允许扩展物理形式来适应特殊的需求·支持即插即用·支持多功能,包括多I/0以及1/0与SD存储卡结合方式·单卡支持多达7项1/0功能和一项存储功能·允许卡中断主机·初始化电压:2.0到3.6V·操作电压:3.1到3.5V1.2主要参考文档本规范广泛参考了SDA的文档:SD卡规范第一部分《物理层规范》2000年9月版本号1.01读者可以通过这篇文档了解关于SD设备操作的更多信息,另外,其他文档都参照了本文档,完整列表在章节B.1中列出。2.1SDIO卡类型规范中定义了两种类型的SDI0卡。全速卡支持SPI、1位SD和4位SD以0-25MHz的传输模式工作,全速SDI0卡完全可以使数据传输速度超过100M位/秒(10M字节/秒)。SDI0卡第二版本是低速SDI0卡,这种卡仅需要SPI和1位SD传输模式,支持4位是可选择项。另外,低速SD10卡在0-400KHz时钟的整个范围,低速卡的使用也是一种以最小硬件资源支持低速I/0设备的引领趋势。支持类似功能的低速卡包括MODEM卡,便携式扫描仪,GPS接收机等。如果卡是“Combo card”(存储加上SDI0),那么全速和4位操作的要求是强制性的。
上传时间: 2022-05-27
上传用户:得之我幸78
小车资料 - 0树莓派教程2016-0804 - 0树莓派入门套件A光盘.rar - 2.87GB(网盘)B套餐资料.rar - 507.56MBC盘.rar - 1.31GBB套餐资料.rar - 1.87GBB盘.rar - 2.35GBA盘.rar - 2.07GB40118树莓派实战指南(教学视频与源代码).rar - 3.01GB微雪5寸显示器config - 0树莓派详细资料 - 0视频教程 - 0RaspberryPi配件安装视频.mp4 - 13.49MB6、树莓派小车系列之按键控制小车.mp4 - 197.46MB
上传时间: 2022-06-05
上传用户:
|- 数据科学速查表 - 0 B|- 迁移学习实战 - 0 B|- 零起点Python机器学习快速入门 - 0 B|- 《深度学习入门:基于Python的理论与实现》高清中文版PDF+源代码 - 0 B|- 《Python生物信息学数据管理》中文版PDF+英文版PDF+源代码 - 0 B|- 《Python深度学习》2018中文版pdf+英文版pdf+源代码 - 0 B|- 《Python编程:从入门到实践》中文版+源代码 - 0 B|- stanford machine learning - 0 B|- Python语言程序设计2018版电子教案 - 0 B|- Python网络编程第三版 (原版+中文版+源代码) - 0 B|- Python机器学习实践指南(中文版带书签)、原书代码、数据集 - 0 B|- python官方文档 - 0 B|- Python编程(第4版 套装上下册) - 0 B|- PyQt5快速开发与实战(pdf+源码) - 0 B|- linux - 0 B|- 征服PYTHON-语言基础与典型应用.pdf - 67.40 MB|- 与孩子一起学编程_中文版_详细书签.pdf - 69.10 MB|- 用Python做科学计算.pdf - 6.10 MB|- 用Python写网络爬虫.pdf - 9.90 MB|- 用Python进行自然语言处理(中文翻译NLTK).pdf - 4.40 MB|- 像计算机科学家那样思考 Python中文版第二版.pdf - 712.00 kB|- 网络爬虫-Python和数据分析.pdf - 6.90 MB|- 图解机器学习.pdf - 59.40 MB|- 凸优化.pdf - 5.70 MB|- 数据挖掘导论.pdf - 2.50 MB|- 数据科学入门.pdf - 13.30 MB|- 数据结构与算法__Python语言描述_裘宗燕编著_北京:机械工业出版社_,_2016.01_P346.pdf - 74.30 MB|- 神经网络与深度学习.pdf - 92.60 MB|- 深入Python3...
标签: python
上传时间: 2022-06-06
上传用户:
delay.c 文件实现iic的精准延迟..如果有其他的精准延迟程序可以替代.miic.c 文件 实现模拟iic通信tcs34725.c 文件实现对颜色传感器的通信 通信常用程序如下TCS34725_Init() 为颜色传感器初始化程序 返回值 true或者false 例 if(TCS34725_Init()==true)TCS34725_GetRawData() 为采集颜色. 返回值 true或者false 例 if(TCS34725_GetRawData()==true) 颜色数据储存在已经定义的静态变量中.颜色读取 为 调用u16 GetRData(void);u16 GetGData(void);u16 GetBData(void);u16 GetCData(void); 这四个函数读取静态变量的数值并分别返回16位的R,G,B,C值.RGBLEDOFF RGBLEDON 分别是灯光开关.颜色传感器,采集时长设置在 tcs34725.c 文件中 的void TCS34725_Setup(void){ TCS34725_SetIntegrationTime(TCS34725_INTEGRATIONTIME_154MS); TCS34725_SetGain(TCS34725_GAIN_16X);}TCS34725_SetIntegrationTime 是设置单次采集时长TCS34725_SetGain 是设置多次采集的次数. 这两个函数需要的参数 选择在tcs34725.h 中. 自行组合在速度和准确间取舍.
上传时间: 2022-06-11
上传用户:XuVshu