虫虫首页| 资源下载| 资源专辑| 精品软件
登录| 注册

s<b>ER</b>v<b>ER</b>

  • 学生管理啊

    #include <iostream.h> #include <string.h> #include <iomanip.h> #include "Stud.h" Stud::Stud(){} char *Stud::getno()              //获取学号 { return no; } char *Stud::getname()            //获取姓名 { return name; } char *Stud::getsex()             //获取性别 { return sex; } char *Stud::getminzu()           //获取民族 { return minzu; } char *Stud::getaddress()         //获取出生地 { return address; } char *Stud::getbirth()           //获取出生年月 { return birth; } int Stud::gettag()               //获取姓名 { return tag; } void Stud::changeno(char n[])                 //设置学号 { strcpy(no,n); } void Stud::changename(char na[])              //设置姓名 { strcpy(name,na); } void Stud::changesex(char s[])                //设置性别 { strcpy(sex,s); } void Stud::changeminzu(char m[])               //设置民族 { strcpy(minzu,m); } void Stud::changeaddress(char a[])             //设置出生地 { strcpy(address,a); } void Stud::changebirth(char b[])               //设置出生年月 { strcpy(birth,b); } void Stud::addstudent(char *rn,char *rna)      //增加学生 {     strcpy(no,rn); strcpy(name,rna); } void Stud::addstudent(char *rn,char *rna,char *rs,char *rm,char *ra,char *rb)    //增加学生 { tag=0; strcpy(no,rn); strcpy(name,rna); strcpy(sex,rs); strcpy(minzu,rm); strcpy(address,ra); strcpy(birth,rb); } void Stud::delstud()                         //设置删除标记 { tag=1; } void Stud::disp()                            //输出学生信息 { cout<<setw(15)<<no<<setw(10)<<name<<setw(10)<<sex<<setw(10)<<minzu<<setw(10)<<address<<setw(10)<<birth<<endl; } void Stud::display()                         //输出学生信息 {     cout<<setw(15)<<no<<setw(10)<<name; }

    标签: 学生

    上传时间: 2016-12-29

    上传用户:767483511

  • 学生成绩管理

    #include<stdio.h> #include<windows.h> int xuanxiang; int studentcount; int banjihao[100]; int xueqihao[100][10]; char xm[100][100]; int xuehao[100][10]; int score[100][3]; int yuwen; int shuxue[000]; int yingyu[100]; int c[100]; int p; char x[1000][100]="",y[100][100]="";/*x学院 y专业 z班级*/  int z[100];  main() { void input(); void inputsc(); void alter(); void scbybannji(); printf("--------学生成绩管理-----\n"); printf("请按相应数字键来实现相应功能\n"); printf("1.录入学生信息   2.录入学生成绩       3.修改学生成绩\n"); printf("4.查询学生成绩   5.不及格科目及名单   6.按班级输出学生成绩单\n"); printf("请输入你要实现的功能所对应的数字:"); scanf("%d",&xuanxiang); system("cls"); getchar(); switch (xuanxiang) { case 1:input(); case 2:inputsc(); case 3:alter(); /*case 4:select score(); case 5:bujigekemujimingdan();*/ case 6:scbybanji; } } void input() { int i; printf("请输入你的学院名称:"); gets(x); printf("请输入你的专业名称:"); gets(y); printf("请输入你的班级号:"); scanf("%d",&z); printf("请输入你们一个班有几个人:"); scanf("%d",&p); system("cls"); for(i=0;i<p;i++) { printf("请输入第%d个学生的学号:",i+1); scanf("%d",xuehao[i]); getchar(); printf("请输入第%d个学生的姓名:",i+1); gets(xm[i]); system("cls"); } printf("您已经录入完毕您的班级所有学生的信息!\n"); printf("您的班级为%s%s%s\n",x,y,z); /*alter(p);*/ } void inputsc() { int i; for(i=0;i<p;i++) { printf("\n"); printf("--------------------------------------------------------------------------------\n\n"); printf("\t\t\t\t录入学生的成绩\n\n\n"); printf("--------------------------------------------------------------------------------\n\n"); printf("\t\t\t\t%s\n",xm[i]); printf("\n"); printf("\t\t\t\t数学:"); scanf("%d",&shuxue[i]); printf("\n"); getchar(); printf("\t\t\t\t英语:"); scanf("%d",&yingyu[i]); printf("\n"); getchar(); printf("\t\t\t\tc语言:"); scanf("%d",&c[i]); system("cls"); } } void alter() { int i;/*循环变量*/ int m[10000];/*要查询的学号*/ int b;/*修改后的成绩*/ char kemu[20]=""; printf("请输入你要修改的学生的学号"); scanf("%d",&m); for (i=0;i<p;i++) { if (m==xuehao[i]) { printf("%s的数学成绩为%d,英语成绩为%d,c语言成绩为%d,xm[i],shuxue[i],yingyu[i],c[i]");  printf("请输入你想修改的科目");} } gets(kemu); getchar(); if (kemu=="数学"); { scanf("%d",&b); shuxue[i]=b;} if (kemu=="英语"); { scanf("%d",&b); yingyu[i]=b;} if (kemu=="c语言"); { scanf("%d",&b); c[i]=b; } printf("%s的数学成绩为%d,英语成绩为%d,c语言成绩为%d,xm[i],shuxue[i],yingyu[i],c[i]"); } void scbybannji() { int i; char zyname[20]; int bjnumber; printf("请输入你的专业名称"); scanf("%s",&zyname); printf("请输入你的班级号"); scanf("%d",&bjnumber); for (i=0;i<p;i++) { if (zyname==y[i]); if (bjnumber==z[i]); printf("专业名称%s班级号%d数学成绩%d英语成绩%dc语言成绩%d,y[i],z[i],shuxue[i],yingyu[i],c[i]"); } }

    标签: c语言

    上传时间: 2018-06-08

    上传用户:2369043090

  • 智能家居的标准与协议

    家 庭 总 线 是 智 能 家 居 实 现 的 重 要 基 础 . 是 住 宅 内 部 的 神 经 系 统 . 其 主 要 作 用 是 连 接 家 中的各 种 电子 、 电气 设 备 . 负责 将 家 庭 内 的 各 种 通 信 设 备 ( 包 括 安 保 、 电话 、 家 电 、 视 听 设 备 等 )连 接 在 一 起 . 形 成 一 个 完 整 的家 庭 网 络 。 日 本 是 较 早 推 动 智 能 家 居 发 展 的 国 家 之 一 , 它 较 早 地 提 出 了 家庭 总线 系统 (H O m e B u S S Y S t e m , 简称H B S ) 的概念 . 成 立 了 家庭 总线 (H B S )研 究会 . 并 在 邮政省和 通 产 省 的指 导 下 组 成 了H B S 标 准委 员 会 , 制定 了 日 本 的H B s 标 准 。 按 照 该 标 准 , H B S 系统 由一 条 同 轴 电 缆 和 4 对 双 绞 线 构 成 , 前 者 用 于 传 输 图 像 信 息 . 后者 用 于 传输语 音 、 数据及 控制信 号 。 各 类家用 设 备 与 电气 设 备 均 按 一 定 方式 与H B S 相 连 , 这 些 电气设 备 既 可 以在 室 内进 行 控制 . 也 可 在异地 通 过 电话进行 遥 控 。 为适 应 大型 居住社 区 的需 要 , 1 9 8 8 年年初 , 日 本住 宅信息 化推进协会 又 推 出 了 超级 家庭总 线 (S u p e r H0 m e B u s S y s t e m , 简 称S - H B S ) , 它适 用 于 更 大 的范 围 . 因 为一 个S - H B s 系统可 挂接 数千个家庭 内部 网 。 家庭 智能化要 求诸 多家 电和 网络能够彼此 相容 . 总线协 议是 其精髓 所 在 , 只 有接 E l 畅通 , 家 电才能 “ 听懂 ” 人 发 出的指令 , 因此 总线标准 的物理 层 接 口 形 式 是 智能 家居 亟 待解决 的重 要 问题 之 一 。 目前 比 较成型 的总线标 准 协 议 主 要 是 美 国公 司 提 出 的 , 包 括E c h e l o n 公 司 I)~L o n W o r k s 协议 、 电子 工 业 协 会 (E I A ) 的C E 总线协 议 (C EB u S ) 、 S m a r t Ho u s e L P 的智 能屋 协 议 和×一 1 0 公 司 的X 一 1 0 协 议等。 这 些 协 议 各 有 优 劣 。

    标签: 智能家居

    上传时间: 2022-03-11

    上传用户:

  • LED灯封装Altium Designer AD PCB封装库2D3D元件库文件

    LED灯封装Altium Designer AD PCB封装库2D3D元件库文件PCB Library : LED.PcbLibDate        : 2020/12/29Time        : 16:50:29Component Count : 49Component Name-----------------------------------------------LED 1W/3WLED 1W/3W-WLED 3mm-2PLED 3MM-BLED 3MM-GLED 3MM-RLED 3MM-WLED 3MM-YLED 3MM-YCLED 5MM-BLED 5MM-GLED 5MM-RLED 5MM-WLED 5MM-YLED 5MM-YCLED 0603-RGLED 0603BLED 0603GLED 0603RLED 0603WLED 0603YLED 0805BLED 0805GLED 0805RLED 0805WLED 0805YLED 1206BLED 1206GLED 1206RLED 1206WLED 1206YLED 3528-2PinLED 3528-4PinLED 5050LED 5630LED 5730-VLED F234-BLED F234-GLED F234-RLED F234-WLED F234-YLED F257-BLED F257-GLED F257-RLED F257-WLED F257-YLED SH-5MM-WLED SH-8MMLED SH-8MM-W

    标签: led 封装 altium designer pcb

    上传时间: 2022-03-11

    上传用户:

  • 简易负离子发生器的制作

      简易负离子发生器负离子增加,对人有催眠、止汗、镇痛、增进食欲,使人精神爽快,消除疲劳的作用。图1是负离子发生器电路图。220V交流市电经D1整流后向C3和C2充电,当C2充电至氖泡导通并触发SCR导通时,C3经SCR、B的L1放电,经B感应升压后,由D2反向整流得8kV直流高压使发生器M的分子电离而产生负离子。调整R3的阻值可以改变触发频率和输出电压。调整时必须注意安全,更换元件需拨下电源插头

    标签: 负离子发生器

    上传时间: 2013-10-29

    上传用户:731140412

  • 驱动程序与应用程序的接口

    有两种方式可以让设备和应用程序之间联系:1. 通过为设备创建的一个符号链;2. 通过输出到一个接口WDM驱动程序建议使用输出到一个接口而不推荐使用创建符号链的方法。这个接口保证PDO的安全,也保证安全地创建一个惟一的、独立于语言的访问设备的方法。一个应用程序使用Win32APIs来调用设备。在某个Win32 APIs和设备对象的分发函数之间存在一个映射关系。获得对设备对象访问的第一步就是打开一个设备对象的句柄。 用符号链打开一个设备的句柄为了打开一个设备,应用程序需要使用CreateFile。如果该设备有一个符号链出口,应用程序可以用下面这个例子的形式打开句柄:hDevice = CreateFile("\\\\.\\OMNIPORT3",  GENERIC_READ | GENERIC_WRITE,FILE_SHARE_READ,  NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL ,NULL);文件路径名的前缀“\\.\”告诉系统本调用希望打开一个设备。这个设备必须有一个符号链,以便应用程序能够打开它。有关细节查看有关Kdevice和CreateLink的内容。在上述调用中第一个参数中前缀后的部分就是这个符号链的名字。注意:CreatFile中的第一个参数不是Windows 98/2000中驱动程序(.sys文件)的路径。是到设备对象的符号链。如果使用DriverWizard产生驱动程序,它通常使用类KunitizedName来构成设备的符号链。这意味着符号链名有一个附加的数字,通常是0。例如:如果链接名称的主干是L“TestDevice”那么在CreateFile中的串就该是“\\\\.\\TestDevice0”。如果应用程序需要被覆盖的I/O,第六个参数(Flags)必须或上FILE_FLAG_OVERLAPPED。 使用一个输出接口打开句柄用这种方式打开一个句柄会稍微麻烦一些。DriverWorks库提供两个助手类来使获得对该接口的访问容易一些,这两个类是CDeviceInterface, 和 CdeviceInterfaceClass。CdeviceInterfaceClass类封装了一个设备信息集,该信息集包含了特殊类中的所有设备接口信息。应用程序能有用CdeviceInterfaceClass类的一个实例来获得一个或更多的CdeviceInterface类的实例。CdeviceInterface类是一个单一设备接口的抽象。它的成员函数DevicePath()返回一个路径名的指针,该指针可以在CreateFile中使用来打开设备。下面用一个小例子来显示这些类最基本的使用方法:extern GUID TestGuid;HANDLE OpenByInterface(  GUID* pClassGuid,  DWORD instance,  PDWORD pError){  CDeviceInterfaceClass DevClass(pClassGuid, pError);  if (*pError != ERROR_SUCCESS)    return INVALID_HANDLE_VALUE;  CDeviceInterface DevInterface(&DevClass, instance, pError);  if (*pError != ERROR_SUCCESS)    return INVALID_HANDLE_VALUE;  cout << "The device path is "    << DevInterface.DevicePath()    << endl;   HANDLE hDev;  hDev = CreateFile(   DevInterface.DevicePath(),    GENERIC_READ | GENERIC_WRITE,    FILE_SHARE_READ | FILE_SHARE_WRITE,    NULL,    OPEN_EXISTING,    FILE_ATTRIBUTE_NORMAL,    NULL  );  if (hDev == INVALID_HANDLE_VALUE)    *pError = GetLastError();  return hDev;} 在设备中执行I/O操作一旦应用程序获得一个有效的设备句柄,它就能使用Win32 APIs来产生到设备对象的IRPs。下面的表显示了这种对应关系。Win32 API  DRIVER_FUNCTION_xxxIRP_MJ_xxx  KDevice subclass member function CreateFile  CREATE  Create ReadFile  READ  Read WriteFile  WRITE  Write DeviceIoControl  DEVICE_CONTROL  DeviceControl CloseHandle  CLOSECLEANUP  CloseCleanUp 需要解释一下设备类成员的Close和CleanUp:CreateFile使内核为设备创建一个新的文件对象。这使得多个句柄可以映射同一个文件对象。当这个文件对象的最后一个用户级句柄被撤销后,I/O管理器调用CleanUp。当没有任何用户级和核心级的对文件对象的访问的时候,I/O管理器调用Close。如果被打开的设备不支持指定的功能,则调用相应的Win32将引起错误(无效功能)。以前为Windows95编写的VxD的应用程序代码中可能会在打开设备的时候使用FILE_FLAG_DELETE_ON_CLOSE属性。在Windows NT/2000中,建议不要使用这个属性,因为它将导致没有特权的用户企图打开这个设备,这是不可能成功的。I/O管理器将ReadFile和WriteFile的buff参数转换成IRP域的方法依赖于设备对象的属性。当设备设置DO_DIRECT_IO标志,I/O管理器将buff锁住在存储器中,并且创建了一个存储在IRP中的MDL域。一个设备可以通过调用Kirp::Mdl来存取MDL。当设备设置DO_BUFFERED_IO标志,设备对象分别通过KIrp::BufferedReadDest或 KIrp::BufferedWriteSource为读或写操作获得buff地址。当设备不设置DO_BUFFERED_IO标志也不设置DO_DIRECT_IO,内核设置IRP 的UserBuffer域来对应ReadFile或WriteFile中的buff参数。然而,存储区并没有被锁住而且地址只对调用进程有效。驱动程序可以使用KIrp::UserBuffer来存取IRP域。对于DeviceIoControl调用,buffer参数的转换依赖于特殊的I/O控制代码,它不在设备对象的特性中。宏CTL_CODE(在winioctl.h中定义)用来构造控制代码。这个宏的其中一个参数指明缓冲方法是METHOD_BUFFERED, METHOD_IN_DIRECT, METHOD_OUT_DIRECT, 或METHOD_NEITHER。下面的表显示了这些方法和与之对应的能获得输入缓冲与输出缓冲的KIrp中的成员函数:Method  Input Buffer Parameter  Output Buffer Parameter METHOD_BUFFERED  KIrp::IoctlBuffer KIrp::IoctlBuffer METHOD_IN_DIRECT  KIrp::IoctlBuffer KIrp::Mdl METHOD_OUT_DIRECT  KIrp::IoctlBuffer KIrp::Mdl METHOD_NEITHER  KIrp::IoctlType3InputBuffer KIrp::UserBuffer 如果控制代码指明METHOD_BUFFERED,系统分配一个单一的缓冲来作为输入与输出。驱动程序必须在向输出缓冲放数据之前拷贝输入数据。驱动程序通过调用KIrp::IoctlBuffer获得缓冲地址。在完成时,I/O管理器从系统缓冲拷贝数据到提供给Ring 3级调用者使用的缓冲中。驱动程序必须在结束前存储拷贝到IRP的Information成员中的数据个数。如果控制代码不指明METHOD_IN_DIRECT或METHOD_OUT_DIRECT,则DeviceIoControl的参数呈现不同的含义。参数InputBuffer被拷贝到一个系统缓冲,这个缓冲驱动程序可以通过调用KIrp::IoctlBuffer。参数OutputBuffer被映射到KMemory对象,驱动程序对这个对象的访问通过调用KIrp::Mdl来实现。对于METHOD_OUT_DIRECT,调用者必须有对缓冲的写访问权限。注意,对METHOD_NEITHER,内核只提供虚拟地址;它不会做映射来配置缓冲。虚拟地址只对调用进程有效。这里是一个用METHOD_BUFFERED的例子:首先,使用宏CTL_CODE来定义一个IOCTL代码:#define IOCTL_MYDEV_GET_FIRMWARE_REV \CTL_CODE (FILE_DEVICE_UNKNOWN,0,METHOD_BUFFERED,FILE_ANY_ACCESS)现在使用一个DeviceIoControl调用:BOOLEAN b;CHAR FirmwareRev[60];ULONG FirmwareRevSize;b = DeviceIoControl(hDevice, IOCTL_MYDEV_GET_VERSION_STRING,  NULL, // no input  注意,这里放的是包含有执行操作命令的字符串指针  0, FirmwareRev,      //这里是output串指针,存放从驱动程序中返回的字符串。sizeof(FirmwareRev),& FirmwareRevSize,  NULL // not overlapped I/O );如果输出缓冲足够大,设备拷贝串到里面并将拷贝的资结束设置到FirmwareRevSize中。在驱动程序中,代码看起来如下所示:const char* FIRMWARE_REV = "FW 16.33 v5";NTSTATUS MyDevice::DeviceControl( KIrp I ){  ULONG fwLength=0;  switch ( I.IoctlCode() )  {    case IOCTL_MYDEV_GET_FIRMWARE_REV:      fwLength = strlen(FIRMWARE_REV)+1;      if (I.IoctlOutputBufferSize() >= fwLength)      {        strcpy((PCHAR)I.IoctlBuffer(),FIRMWARE_REV);        I.Information() = fwLength;         return I.Complete(STATUS_SUCCESS);      }      else      {              }    case . . .   } }

    标签: 驱动程序 应用程序 接口

    上传时间: 2013-10-17

    上传用户:gai928943

  • 汇编语言和C语言的外部中断

    CPU在处理某一事件时,发生了另一事件请求CPU迅速去处理。CPU暂时中断当前的工作,转去处理事件B。待CPU将事件B处理完毕后,再回到原来事件A被中断的地方继续处理事件A。这一处理过程称为中断。介绍用汇编和C语言两语言的源程序,愿给大家带来帮助。 前面我已经上传了几个程序,没几天却失踪了。但这次的不会失踪,能保留上几天。

    标签: 汇编语言 C语言 外部中断

    上传时间: 2014-12-31

    上传用户:dianxin61

  • VI图标和连线板

    当一个VI A.vi在VI B.vi 中使用,就称A.vi为B.vi的子VI,B.vi为A.vi的主VI。子VI 相当于文本编程语言中的子程序。 在主VI的程序框图中双击子VI的图标时,将出现该子VI 的前面板和程序框图。在前面板窗口和程序框图窗口的右上角可以看到该VI 的图标。该图标与将VI放置在程序框图中时所显示的图标相同。

    标签:

    上传时间: 2013-10-31

    上传用户:jisujeke

  • C++完美演绎 经典算法 如 /* 头文件:my_Include.h */ #include <stdio.h> /* 展开C语言的内建函数指令 */ #define PI 3.141

    C++完美演绎 经典算法 如 /* 头文件:my_Include.h */ #include <stdio.h> /* 展开C语言的内建函数指令 */ #define PI 3.1415926 /* 宏常量,在稍后章节再详解 */ #define circle(radius) (PI*radius*radius) /* 宏函数,圆的面积 */ /* 将比较数值大小的函数写在自编include文件内 */ int show_big_or_small (int a,int b,int c) { int tmp if (a>b) { tmp = a a = b b = tmp } if (b>c) { tmp = b b = c c = tmp } if (a>b) { tmp = a a = b b = tmp } printf("由小至大排序之后的结果:%d %d %d\n", a, b, c) } 程序执行结果: 由小至大排序之后的结果:1 2 3 可将内建函数的include文件展开在自编的include文件中 圆圈的面积是=201.0619264

    标签: my_Include include define 3.141

    上传时间: 2014-01-17

    上传用户:epson850

  • 一元稀疏多项式计算器[加法和乘法] 问题描述: 设计一元系数多项式计数器实现两个多项式间的加法、减法。 基本要求: (1) 输入并建立多项式 (2) 输出多项式

    一元稀疏多项式计算器[加法和乘法] 问题描述: 设计一元系数多项式计数器实现两个多项式间的加法、减法。 基本要求: (1) 输入并建立多项式 (2) 输出多项式,输出形式为整数序列:n,c1,e1,c2,e2……cn,en,其中n是多项式的项数,ci,ei分别为第i项的系数和指数。序列按指数降序排列。 (3) 多项式a和b相加,建立多项式a+b,输出相加的多项式。 (4) 多项式a和b相减,建立多项式a-b,输出相减的多项式。 用带表头结点的单链表存储多项式。 测试数据: (1) (2x+5x8-3.1x11)+(7-5x8+11x9) (2) (6x-3-x+4.4x2-1.2x9)-(-6x-3+5.4x2+7.8x15) (3) (x+x2+x3)+0 (4) (x+x3)-(-x-x-3)

    标签: 多项式 加法 稀疏 乘法

    上传时间: 2013-12-03

    上传用户:561596