戴爾大客戶員工采購指南 1.什么是員工采購? EPP- Employee Purchase Program (員工采購計劃), 是戴爾為大客戶公司員工專門定制的采購計劃,優(yōu)惠提供高性價比的戴爾電腦及外設(shè)產(chǎn)品:在網(wǎng) 上最低促銷價基礎(chǔ)上再額外享受3%-5%現(xiàn)金折扣(特價品及有特殊說明的產(chǎn)品除外), 并可以隨心選擇升級方案和更好的服務(wù)。 2.可以享受到什么樣的優(yōu)惠? 折扣機型:Inspiron & Vostro& XPS 單臺機器額小于RMB 13999, 每個訂單可打3%折扣(訂單可含SNP&Kits等產(chǎn)品) 單臺機器額大于RMB 13999, 每個訂單可打5%折扣(訂單可含SNP&Kits等產(chǎn)品) 3.如何定購? 1). 登陸戴爾官方網(wǎng)站:www.dell.com.cn 或參閱員工采購指南挑選機型 2). 致電或郵件聯(lián)系Dell公司員工采購專職客戶經(jīng)理,為您提供咨詢及訂購服務(wù) 3).專享折扣訂單確認及付款。付款方式:信用卡、網(wǎng)上銀行轉(zhuǎn)帳、銀行電匯 4).需傳真如下資料給客戶經(jīng)理,方便完成訂購:A 員工簽名確認的訂單;B貴單位員工牌或工作證明或名片;C信用卡授權(quán)表或銀行匯款底單 5).等待簽收.機器簽收后3-4個禮拜注意查收您的信件.發(fā)票將以掛號信的方式寄送
標(biāo)簽: Employee Purchase Program 采購
上傳時間: 2014-01-05
上傳用戶:ommshaggar
綠葉OA王網(wǎng)絡(luò)辦公系統(tǒng)體驗中心服務(wù)器已開通,歡迎訪問! www.oa169.com/index.asp (江西電信) 綠葉OA網(wǎng)絡(luò)辦公系統(tǒng)基于Web平臺,B/S架構(gòu)設(shè)計,無論您身處世界任何地方,只要可以訪問Internet(也可內(nèi)外網(wǎng)同步訪問),本地?zé)o需安裝軟件,將應(yīng)用服務(wù)集中于統(tǒng)一的應(yīng)用服務(wù)器中,就可以完成公司的日常業(yè)務(wù),真正步入分散經(jīng)營、集中控制的商務(wù)管理模式。
標(biāo)簽: 網(wǎng)絡(luò) 服務(wù)器
上傳時間: 2016-11-10
上傳用戶:15736969615
網(wǎng)頁采集系統(tǒng) ================= 安裝配置 ------- 1 程序我就不說了 2 配置文件 applicationContext.xml 里面有詳細的注釋 3 已經(jīng)包含了多個論壇博客的參數(shù),如CSDN論壇、博客園、新浪博客、百度Hi、ccidnet等的解析參數(shù) 需要的類庫 --------- 1 Spring 2.5 2 common-logging 1.1 3 paoding-analysis 2.0.4-beta 4 commons-dbcp-1.2.2.jar 5 mysql-connector-java-5.1.7-bin.jar 6 commons-pool-1.4.jar 7 Lucene.2.4.0.jar 8 Lucene-highlighter-2.4.0.jar 9 java2000.jar 演示例子 ------- 本地:在com.laozizhu.search.demo目錄下面 B/S: http://search.laozizhu.com
標(biāo)簽: applicationContext xml 頁 采集系統(tǒng)
上傳時間: 2017-04-07
上傳用戶:牧羊人8920
Simple AJAX Framework/Library. Contains numerous built-in functions, alongside speed enhancements by reducing overhead. For more information and documentation visit Neotelos.com
標(biāo)簽: enhancements Framework alongside functions
上傳時間: 2017-06-08
上傳用戶:bruce5996
/* ********************************************************************************************************* * uC/TCP-IP V2 * The Embedded TCP/IP Suite * * (c) Copyright 2003-2010; Micrium, Inc.; Weston, FL * * All rights reserved. Protected by international copyright laws. * * uC/TCP-IP is provided in source form to registered licensees ONLY. It is * illegal to distribute this source code to any third party unless you receive * written permission by an authorized Micrium representative. Knowledge of * the source code may NOT be used to develop a similar product. * * Please help us continue to provide the Embedded community with the finest * software available. Your honesty is greatly appreciated. * * You can contact us at www.micrium.com. ********************************************************************************************************* */ /* ********************************************************************************************************* * * NETWORK TCP LAYER * (TRANSMISSION CONTROL PROTOCOL) * * Filename : net_tcp.h * Version : V2.10 * Programmer(s) : ITJ ********************************************************************************************************* * Note(s) : (1) Supports Transmission Control Protocol as described in RFC #793 with the following * restrictions/constraints : * * (a) TCP Security & Precedence NOT supported RFC # 793, Section 3.6 * * (b) TCP Urgent Data NOT supported RFC # 793, Section 3.7 * 'The Communication of * Urgent Information' * * (c) The following TCP options NOT supported : * * (1) Window Scale RFC #1072, Section 2 * RFC #1323, Section 2 * (2) Selective Acknowledgement (SACK) RFC #1072, Section 3 * RFC #2018 * RFC #2883 * (3) TCP Echo RFC #1072, Section 4 * (4) Timestamp RFC #1323, Section 3.2 * (5) Protection Against Wrapped Sequences (PAWS) RFC #1323, Section 4 * * (d) #### IP-Options-to-TCP-Connection RFC #1122, Section 4.2.3.8 * Handling NOT supported * * (e) #### ICMP-Error-Message-to-TCP-Connection RFC #1122, Section 4.2.3.9 * Handling NOT currently supported * * (2) TCP Layer assumes/requires Network Socket Layer (see 'net_sock.h MODULE Note #1a2'). ********************************************************************************************************* */ /*$PAGE*/ /* ********************************************************************************************************* * MODULE * * Note(s) : (1) TCP Layer module is NOT required for UDP-to-Application API configuration. * * See also 'net_cfg.h TRANSPORT LAYER CONFIGURATION' * & 'net_cfg.h USER DATAGRAM PROTOCOL LAYER CONFIGURATION'. * * See also 'net_tcp.h Note #2'. * * (2) The following TCP-module-present configuration value MUST be pre-#define'd in * 'net_cfg_net.h' PRIOR to all other network modules that require TCP Layer * configuration (see 'net_cfg_net.h TCP LAYER CONFIGURATION Note #2b') : * * NET_TCP_MODULE_PRESENT ********************************************************************************************************* */ #ifdef NET_TCP_MODULE_PRESENT /* See Note #2. */ /* ********************************************************************************************************* * EXTERNS ********************************************************************************************************* */ #if ((defined(NET_TCP_MODULE)) && \ (defined(NET_GLOBALS_EXT))) #define NET_TCP_EXT #else #define NET_TCP_EXT extern #endif /*$PAGE*/ /* ********************************************************************************************************* * DEFINES ********************************************************************************************************* */ /* ********************************************************************************************************* * TCP HEADER DEFINES * * Note(s) : (1) The following TCP value MUST be pre-#define'd in 'net_def.h' PRIOR to 'net_buf.h' so that * the Network Buffer Module can configure maximum buffer header size (see 'net_def.h TCP * LAYER DEFINES' & 'net_buf.h NETWORK BUFFER INDEX & SIZE DEFINES Note #1') : * * (a) NET_TCP_HDR_SIZE_MAX 60 (NET_TCP_HDR_LEN_MAX * * NET_TCP_HDR_LEN_WORD_SIZE) * * (2) Urgent pointer & data NOT supported (see 'net_tcp.h Note #1b'). ********************************************************************************************************* */ #define NET_TCP_HDR_LEN_MASK 0xF000u #define NET_TCP_HDR_LEN_SHIFT 12u #define NET_TCP_HDR_LEN_NONE 0u #define NET_TCP_HDR_LEN_MIN 5u #define NET_TCP_HDR_LEN_MAX 15u #define NET_TCP_HDR_LEN_WORD_SIZE CPU_WORD_SIZE_32 #define NET_TCP_HDR_SIZE_MIN (NET_TCP_HDR_LEN_MIN * NET_TCP_HDR_LEN_WORD_SIZE) #if 0 /* See Note #1a. */ #define NET_TCP_HDR_SIZE_MAX (NET_TCP_HDR_LEN_MAX * NET_TCP_HDR_LEN_WORD_SIZE) #endif #define NET_TCP_HDR_SIZE_TOT_MIN (NET_IP_HDR_SIZE_TOT_MIN + NET_TCP_HDR_SIZE_MIN) #define NET_TCP_HDR_SIZE_TOT_MAX (NET_IP_HDR_SIZE_TOT_MAX + NET_TCP_HDR_SIZE_MAX) #define NET_TCP_PSEUDO_HDR_SIZE 12u /* = sizeof(NET_TCP_PSEUDO_HDR) */ #define NET_TCP_PORT_NBR_RESERVED NET_PORT_NBR_RESERVED #define NET_TCP_PORT_NBR_NONE NET_TCP_PORT_NBR_RESERVED #define NET_TCP_HDR_URG_PTR_NONE 0x0000u /* See Note #2. */ /*$PAGE*/ /* ********************************************************************************************************* * TCP HEADER FLAG DEFINES * * Note(s) : (1) See 'TCP HEADER Note #2' for flag fields. * * (2) Urgent pointer & data NOT supported (see 'net_tcp.h Note #1b'). ********************************************************************************************************* */ #define NET_TCP_HDR_FLAG_MASK 0x0FFFu #define NET_TCP_HDR_FLAG_NONE DEF_BIT_NONE #define NET_TCP_HDR_FLAG_RESERVED 0x0FE0u /* MUST be '0'. */ #define NET_TCP_HDR_FLAG_URGENT DEF_BIT_05 /* See Note #2. */ #define NET_TCP_HDR_FLAG_ACK DEF_BIT_04 #define NET_TCP_HDR_FLAG_PUSH DEF_BIT_03 #define NET_TCP_HDR_FLAG_RESET DEF_BIT_02 #define NET_TCP_HDR_FLAG_SYNC DEF_BIT_01 #define NET_TCP_HDR_FLAG_FIN DEF_BIT_00 #define NET_TCP_HDR_FLAG_CLOSE NET_TCP_HDR_FLAG_FIN /* ********************************************************************************************************* * TCP FLAG DEFINES ********************************************************************************************************* */ /* ------------------ NET TCP FLAGS ------------------- */ #define NET_TCP_FLAG_NONE DEF_BIT_NONE #define NET_TCP_FLAG_USED DEF_BIT_00 /* TCP conn cur used; i.e. NOT in free TCP conn pool. */ /* ------------------ TCP TX FLAGS ------------------- */ /* TCP tx flags copied from TCP hdr flags. */ #define NET_TCP_FLAG_TX_FIN NET_TCP_HDR_FLAG_FIN #define NET_TCP_FLAG_TX_CLOSE NET_TCP_FLAG_TX_FIN #define NET_TCP_FLAG_TX_SYNC NET_TCP_HDR_FLAG_SYNC #define NET_TCP_FLAG_TX_RESET NET_TCP_HDR_FLAG_RESET #define NET_TCP_FLAG_TX_PUSH NET_TCP_HDR_FLAG_PUSH #define NET_TCP_FLAG_TX_ACK NET_TCP_HDR_FLAG_ACK #define NET_TCP_FLAG_TX_URGENT NET_TCP_HDR_FLAG_URGENT #define NET_TCP_FLAG_TX_BLOCK DEF_BIT_07 /* ------------------ TCP RX FLAGS ------------------- */ #define NET_TCP_FLAG_RX_DATA_PEEK DEF_BIT_08 #define NET_TCP_FLAG_RX_BLOCK DEF_BIT_15 /*$PAGE*/ /* ********************************************************************************************************* * TCP TYPE DEFINES * * Note(s) : (1) NET_TCP_TYPE_&&& #define values specifically chosen as ASCII representations of the TCP * types. Memory displays of TCP types will display with their chosen ASCII names. ********************************************************************************************************* */ /* ------------------ NET TCP TYPES ------------------- */ #if (CPU_CFG_ENDIAN_TYPE == CPU_ENDIAN_TYPE_BIG) #define NET_TCP_TYPE_NONE 0x4E4F4E45u /* "NONE" in ASCII. */ #define NET_TCP_TYPE_CONN 0x54435020u /* "TCP " in ASCII. */ #else #if (CPU_CFG_DATA_SIZE == CPU_WORD_SIZE_32) #define NET_TCP_TYPE_NONE 0x454E4F4Eu /* "NONE" in ASCII. */ #define NET_TCP_TYPE_CONN 0x20504354u /* "TCP " in ASCII. */ #elif (CPU_CFG_DATA_SIZE == CPU_WORD_SIZE_16) #define NET_TCP_TYPE_NONE 0x4F4E454Eu /* "NONE" in ASCII. */ #define NET_TCP_TYPE_CONN 0x43542050u /* "TCP " in ASCII. */ #else /* Dflt CPU_WORD_SIZE_08. */ #define NET_TCP_TYPE_NONE 0x4E4F4E45u /* "NONE" in ASCII. */ #define NET_TCP_TYPE_CONN 0x54435020u /* "TCP " in ASCII. */ #endif #endif /* ********************************************************************************************************* * TCP SEQUENCE NUMBER DEFINES * * Note(s) : (1) TCP initial transmit sequence number is incremented by a fixed value, preferably a large * prime value or a large value with multiple unique factors. * * (a) One reasonable TCP initial transmit sequence number increment value example : * * 65527 = 37 * 23 * 11 * 7 * * * #### NET_TCP_TX_SEQ_NBR_CTR_INC could be developer-configured in 'net_cfg.h'. * * See also 'NET_TCP_TX_GET_SEQ_NBR() Notes #1b2 & #1c2'. ********************************************************************************************************* */ #define NET_TCP_SEQ_NBR_NONE 0u #define NET_TCP_ACK_NBR_NONE NET_TCP_SEQ_NBR_NONE #define NET_TCP_TX_SEQ_NBR_CTR_INC 65527u /* See Note #1. */ #define NET_TCP_ACK_NBR_DUP_WIN_SIZE_SCALE 4 /*$PAGE*/ /* ********************************************************************************************************* * TCP DATA/TOTAL LENGTH DEFINES * * Note(s) : (1) (a) TCP total length #define's (NET_TCP_TOT_LEN) relate to the total size of a complete * TCP packet, including the packet's TCP header. Note that a complete TCP packet MAY * be fragmented in multiple Internet Protocol packets. * * (b) TCP data length #define's (NET_TCP_DATA_LEN) relate to the data size of a complete * TCP packet, equal to the total TCP packet length minus its TCP header size. Note * that a complete TCP packet MAY be fragmented in multiple Internet Protocol packets. ********************************************************************************************************* */ /* See Notes #1a & #1b. */ #define NET_TCP_DATA_LEN_MIN 0u #define NET_TCP_TOT_LEN_MIN (NET_TCP_HDR_SIZE_MIN + NET_TCP_DATA_LEN_MIN) #define NET_TCP_TOT_LEN_MAX (NET_IP_TOT_LEN_MAX - NET_IP_HDR_SIZE_MIN ) #define NET_TCP_DATA_LEN_MAX (NET_TCP_TOT_LEN_MAX - NET_TCP_HDR_SIZE_MIN) /*$PAGE*/ /* ********************************************************************************************************* * TCP SEGMENT SIZE DEFINES * * Note(s) : (1) (a) RFC # 879, Section 3 states that the TCP Maximum Segment Size "counts only * data octets in the segment, ... not the TCP header or the IP header". * * (b) RFC #1122, Section 4.2.2.6 requires that : * * (1) "The MSS value to be sent in an MSS option must be less than or equal to * * (A) MMS_R - 20 * * where MMS_R is the maximum size for a transport-layer message that can * be received." * * (2) "If an MSS option is not received at connection setup, TCP MUST assume a * default send MSS of 536 (576 - 40)." * * See also 'net_ip.h IP DATA/TOTAL LENGTH DEFINES Note #1'. ********************************************************************************************************* */ /* See Note #1. */ #define NET_TCP_MAX_SEG_SIZE_DFLT (NET_IP_MAX_DATAGRAM_SIZE_DFLT - NET_IP_HDR_SIZE_MIN - NET_TCP_HDR_SIZE_MIN) #define NET_TCP_MAX_SEG_SIZE_DFLT_RX NET_TCP_DATA_LEN_MAX /* See Note #1b1. */ #define NET_TCP_MAX_SEG_SIZE_DFLT_TX NET_TCP_MAX_SEG_SIZE_DFLT /* See Note #1b2. */ #define NET_TCP_MAX_SEG_SIZE_NONE 0u #define NET_TCP_MAX_SEG_SIZE_MIN NET_TCP_MAX_SEG_SIZE_DFLT #define NET_TCP_MAX_SEG_SIZE_MAX NET_TCP_DATA_LEN_MAX #define NET_TCP_SEG_LEN_MIN NET_TCP_DATA_LEN_MIN #define NET_TCP_SEG_LEN_MAX NET_TCP_DATA_LEN_MAX #define NET_TCP_SEG_LEN_SYNC 1u #define NET_TCP_SEG_LEN_FIN 1u #define NET_TCP_SEG_LEN_CLOSE NET_TCP_SEG_LEN_FIN #define NET_TCP_SEG_LEN_ACK 0u #define NET_TCP_SEG_LEN_RESET 0u #define NET_TCP_SEG_LEN_PROBE 0u #define NET_TCP_DATA_LEN_TX_SYNC 0u #define NET_TCP_DATA_LEN_TX_FIN 0u #define NET_TCP_DATA_LEN_TX_CLOSE NET_TCP_DATA_LEN_TX_FIN #define NET_TCP_DATA_LEN_TX_ACK 0u #define NET_TCP_DATA_LEN_TX_PROBE_NO_DATA 0u #define NET_TCP_DATA_LEN_TX_PROBE_DATA 1u #define NET_TCP_DATA_LEN_TX_RESET 0u #define NET_TCP_TX_PROBE_DATA 0x00u /* ********************************************************************************************************* * TCP WINDOW SIZE DEFINES * * Note(s) : (1) Although NO RFC specifies the absolute minimum TCP connection window size value allowed, * RFC #793, Section 3.7 'Data Communication : Managing the Window' states that for "the * window ... there is an assumption that this is related to the currently available data * buffer space available for this connection". ********************************************************************************************************* */ #define NET_TCP_WIN_SIZE_NONE 0u #define NET_TCP_WIN_SIZE_MIN NET_TCP_MAX_SEG_SIZE_MIN #define NET_TCP_WIN_SIZE_MAX DEF_INT_16U_MAX_VAL /*$PAGE*/ /* ********************************************************************************************************* * TCP HEADER OPTIONS DEFINES * * Note(s) : (1) See the following RFC's for TCP options summary : * * (a) RFC # 793, Section 3.1 'Header Format : Options' * (b) RFC #1122; Sections 4.2.2.5, 4.2.2.6 * * (2) TCP option types are encoded in the first octet for each TCP option as follows : * * -------- * | TYPE | * -------- * * The TCP option type value determines the TCP option format : * * (a) The following TCP option types are single-octet TCP options -- i.e. the option type * octet is the ONLY octet for the TCP option. * * (1) TYPE = 0 End of Options List * (2) TYPE = 1 No Operation * * * (b) All other TCP options MUST be multi-octet TCP options (see RFC #1122, Section 4.2.2.5) : * * ------------------------------ * | TYPE | LEN | TCP OPT | * ------------------------------ * * where * TYPE Indicates the specific TCP option type * LEN Indicates the total TCP option length, in octets, including * the option type & the option length octets * TCP OPT Additional TCP option octets, if any, that contain the remaining * TCP option information * * The following TCP option types are multi-octet TCP options where the option's second * octet specify the total TCP option length, in octets, including the option type & the * option length octets : * * (1) TYPE = 2 Maximum Segment Size See RFC # 793, Section 3.1 'Header Format : * Options : Maximum Segment Size'; * RFC #1122, Section 4.2.2.6; * RFC # 879, Section 3 * * (2) TYPE = 3 Window Scale See 'net_tcp.h Note #1c1' * (3) TYPE = 4 SACK Allowed See 'net_tcp.h Note #1c2' * (4) TYPE = 5 SACK Option See 'net_tcp.h Note #1c2' * (5) TYPE = 6 Echo Request See 'net_tcp.h Note #1c3' * (6) TYPE = 7 Echo Reply See 'net_tcp.h Note #1c3' * (7) TYPE = 8 Timestamp See 'net_tcp.h Note #1c4' * * (3) TCP header allows for a maximum option list length of 40 octets : * * NET_TCP_HDR_OPT_SIZE_MAX = NET_TCP_HDR_SIZE_MAX - NET_TCP_HDR_SIZE_MIN * * = 60 - 20 * * = 40 * * (4) 'NET_TCP_OPT_SIZE' MUST be pre-defined PRIOR to all definitions that require TCP option * size data type. ********************************************************************************************************* */ /*$PAGE*/ #define NET_TCP_HDR_OPT_END_LIST 0u #define NET_TCP_HDR_OPT_NOP 1u #define NET_TCP_HDR_OPT_MAX_SEG_SIZE 2u #define NET_TCP_HDR_OPT_WIN_SCALE 3u #define NET_TCP_HDR_OPT_SACK_PERMIT 4u #define NET_TCP_HDR_OPT_SACK 5u #define NET_TCP_HDR_OPT_ECHO_REQ 6u #define NET_TCP_HDR_OPT_ECHO_REPLY 7u #define NET_TCP_HDR_OPT_TS 8u #define NET_TCP_HDR_OPT_PAD NET_TCP_HDR_OPT_END_LIST #define NET_TCP_HDR_OPT_LEN_END_LIST 1u #define NET_TCP_HDR_OPT_LEN_NOP 1u #define NET_TCP_HDR_OPT_LEN_MAX_SEG_SIZE 4u #define NET_TCP_HDR_OPT_LEN_WIN_SCALE 3u #define NET_TCP_HDR_OPT_LEN_SACK_PERMIT 2u #define NET_TCP_HDR_OPT_LEN_ECHO_REQ 6u #define NET_TCP_HDR_OPT_LEN_ECHO_REPLY 6u #define NET_TCP_HDR_OPT_LEN_TS 10u #define NET_TCP_HDR_OPT_LEN_SACK_MIN 6u #define NET_TCP_HDR_OPT_LEN_SACK_MAX 38u #define NET_TCP_HDR_OPT_LEN_MIN 1u #define NET_TCP_HDR_OPT_LEN_MIN_LEN 2u #define NET_TCP_HDR_OPT_LEN_MAX 38u typedef CPU_INT32U NET_TCP_OPT_SIZE; /* TCP opt size data type (see Note #4). */ #define NET_TCP_HDR_OPT_SIZE_WORD (sizeof(NET_TCP_OPT_SIZE)) #define NET_TCP_HDR_OPT_SIZE_MAX (NET_TCP_HDR_SIZE_MAX - NET_TCP_HDR_SIZE_MIN) #define NET_TCP_HDR_OPT_NBR_MIN 0u #define NET_TCP_HDR_OPT_NBR_MAX (NET_TCP_HDR_OPT_SIZE_MAX / NET_TCP_HDR_OPT_SIZE_WORD) #define NET_TCP_HDR_OPT_IX NET_TCP_HDR_SIZE_MIN /*$PAGE*/ /* ********************************************************************************************************* * TCP OPTION CONFIGURATION TYPE DEFINES * * Note(s) : (1) NET_TCP_OPT_CFG_TYPE_&&& #define values specifically chosen as ASCII representations of * the TCP option configuration types. Memory displays of TCP option configuration buffers * will display the TCP option configuration TYPEs with their chosen ASCII names. ********************************************************************************************************* */ /* ---------------- TCP OPT CFG TYPES ----------------- */ #if (CPU_CFG_ENDIAN_TYPE == CPU_ENDIAN_TYPE_BIG) #define NET_TCP_OPT_CFG_TYPE_NONE 0x4E4F4E45u /* "NONE" in ASCII. */ #define NET_TCP_OPT_CFG_TYPE_MAX_SEG_SIZE 0x4D535320u /* "MSS " in ASCII. */ #define NET_TCP_OPT_CFG_TYPE_WIN_SCALE 0x57494E20u /* "WIN " in ASCII (see 'net_tcp.h Note #1c1'). */ #define NET_TCP_OPT_CFG_TYPE_SACK_PERMIT 0x53434B50u /* "SCKP" in ASCII (see 'net_tcp.h Note #1c2'). */ #define NET_TCP_OPT_CFG_TYPE_SACK 0x5341434Bu /* "SACK" in ASCII (see 'net_tcp.h Note #1c2'). */ #define NET_TCP_OPT_CFG_TYPE_ECHO_REQ 0x45524551u /* "EREQ" in ASCII (see 'net_tcp.h Note #1c3'). */ #define NET_TCP_OPT_CFG_TYPE_ECHO_REPLY 0x4543484Fu /* "ECHO" in ASCII (see 'net_tcp.h Note #1c3'). */ #define NET_TCP_OPT_CFG_TYPE_TS 0x54532020u /* "TS " in ASCII (see 'net_tcp.h Note #1c4'). */ #else #if (CPU_CFG_DATA_SIZE == CPU_WORD_SIZE_32) #define NET_TCP_OPT_CFG_TYPE_NONE 0x454E4F4Eu /* "NONE" in ASCII. */ #define NET_TCP_OPT_CFG_TYPE_MAX_SEG_SIZE 0x2053534Du /* "MSS " in ASCII. */ #define NET_TCP_OPT_CFG_TYPE_WIN_SCALE 0x204E4957u /* "WIN " in ASCII (see 'net_tcp.h Note #1c1'). */ #define NET_TCP_OPT_CFG_TYPE_SACK_PERMIT 0x504B4353u /* "SCKP" in ASCII (see 'net_tcp.h Note #1c2'). */ #define NET_TCP_OPT_CFG_TYPE_SACK 0x4B434153u /* "SACK" in ASCII (see 'net_tcp.h Note #1c2'). */ #define NET_TCP_OPT_CFG_TYPE_ECHO_REQ 0x51455245u /* "EREQ" in ASCII (see 'net_tcp.h Note #1c3'). */ #define NET_TCP_OPT_CFG_TYPE_ECHO_REPLY 0x4F484345u /* "ECHO" in ASCII (see 'net_tcp.h Note #1c3'). */ #define NET_TCP_OPT_CFG_TYPE_TS 0x20205354u /* "TS " in ASCII (see 'net_tcp.h Note #1c4'). */ #elif (CPU_CFG_DATA_SIZE == CPU_WORD_SIZE_16) #define NET_TCP_OPT_CFG_TYPE_NONE 0x4F4E454Eu /* "NONE" in ASCII. */ #define NET_TCP_OPT_CFG_TYPE_MAX_SEG_SIZE 0x534D2053u /* "MSS " in ASCII. */ #define NET_TCP_OPT_CFG_TYPE_WIN_SCALE 0x4957204Eu /* "WIN " in ASCII (see 'net_tcp.h Note #1c1'). */ #define NET_TCP_OPT_CFG_TYPE_SACK_PERMIT 0x4353504Bu /* "SCKP" in ASCII (see 'net_tcp.h Note #1c2'). */ #define NET_TCP_OPT_CFG_TYPE_SACK 0x41534B43u /* "SACK" in ASCII (see 'net_tcp.h Note #1c2'). */ #define NET_TCP_OPT_CFG_TYPE_ECHO_REQ 0x52455145u /* "EREQ" in ASCII (see 'net_tcp.h Note #1c3'). */ #define NET_TCP_OPT_CFG_TYPE_ECHO_REPLY 0x43454F48u /* "ECHO" in ASCII (see 'net_tcp.h Note #1c3'). */ #define NET_TCP_OPT_CFG_TYPE_TS 0x53542020u /* "TS " in ASCII (see 'net_tcp.h Note #1c4'). */ #else /* Dflt CPU_WORD_SIZE_08. */ #define NET_TCP_OPT_CFG_TYPE_NONE 0x4E4F4E45u /* "NONE" in ASCII. */ #define NET_TCP_OPT_CFG_TYPE_MAX_SEG_SIZE 0x4D535320u /* "MSS " in ASCII. */ #define NET_TCP_OPT_CFG_TYPE_WIN_SCALE 0x57494E20u /* "WIN " in ASCII (see 'net_tcp.h Note #1c1'). */ #define NET_TCP_OPT_CFG_TYPE_SACK_PERMIT 0x53434B50u /* "SCKP" in ASCII (see 'net_tcp.h Note #1c2'). */ #define NET_TCP_OPT_CFG_TYPE_SACK 0x5341434Bu /* "SACK" in ASCII (see 'net_tcp.h Note #1c2'). */ #define NET_TCP_OPT_CFG_TYPE_ECHO_REQ 0x45524551u /* "EREQ" in ASCII (see 'net_tcp.h Note #1c3'). */ #define NET_TCP_OPT_CFG_TYPE_ECHO_REPLY 0x4543484Fu /* "ECHO" in ASCII (see 'net_tcp.h Note #1c3'). */ #define NET_TCP_OPT_CFG_TYPE_TS 0x54532020u /* "TS " in ASCII (see 'net_tcp.h Note #1c4'). */ #endif #endif /*$PAGE*/ /* ********************************************************************************************************* * TCP CONNECTION TIMEOUT DEFINES * * Note(s) : (1) (a) (1) RFC #1122, Section 4.2.2.13 'DISCUSSION' states that "the graceful close algorithm * of TCP requires that the connection state remain defined on (at least) one end of * the connection, for a timeout period of 2xMSL ... During this period, the (remote * socket, local socket) pair that defines the connection is busy and cannot be reused". * * (2) The following sections reiterate that the TIME-WAIT state timeout scalar is two * maximum segment lifetimes (2 MSL) : * * (A) RFC #793, Section 3.9 'Event Processing : SEGMENT ARRIVES : * Check Sequence Number : TIME-WAIT STATE' * (B) RFC #793, Section 3.9 'Event Processing : SEGMENT ARRIVES : * Check FIN Bit : TIME-WAIT STATE' * * (b) (1) RFC #793, Section 3.3 'Sequence Numbers : Knowing When to Keep Quiet' states that * "the Maximum Segment Lifetime (MSL) is ... to be 2 minutes. This is an engineering * choice, and may be changed if experience indicates it is desirable to do so". * * (2) Microsoft Corporation's Windows XP defaults MSL to 15 seconds. ********************************************************************************************************* */ /* Max seg timeout (see Note #1b) : */ #define NET_TCP_CONN_TIMEOUT_MAX_SEG_MIN_SEC ( 0u ) /* ... min = 0 seconds */ #define NET_TCP_CONN_TIMEOUT_MAX_SEG_MAX_SEC ( 2u * DEF_TIME_NBR_SEC_PER_MIN) /* ... max = 2 minutes */ #define NET_TCP_CONN_TIMEOUT_MAX_SEG_DFLT_SEC ( 15u ) /* ... dflt = 15 seconds */ #define NET_TCP_CONN_TIMEOUT_MAX_SEG_SCALAR 2u /* ... scalar (see Note #1a). */ #define NET_TCP_CONN_TIMEOUT_CONN_DFLT_SEC (120u * DEF_TIME_NBR_SEC_PER_MIN) /* Dflt conn timeout = 120 minutes */ #define NET_TCP_CONN_TIMEOUT_USER_DFLT_SEC ( 30u * DEF_TIME_NBR_SEC_PER_MIN) /* Dflt user timeout = 30 minutes */ /*$PAGE*/ /* ********************************************************************************************************* * TCP CONNECTION STATES * * Note(s) : (1) See the following RFC's for TCP state machine summary : * * (a) RFC # 793; Sections 3.2, 3.4, 3.5, 3.9 * (b) RFC #1122; Sections 4.2.2.8, 4.2.2.10, 4.2.2.11, 4.2.2.13, 4.2.2.18, 4.2.2.20 * * (2) (a) #### Additional closing-data-available state used for closing connections to allow the * application layer to receive any remaining data. * * See also 'net_tcp.c NetTCP_RxPktConnHandlerFinWait1() Note #2f5A2', * 'net_tcp.c NetTCP_RxPktConnHandlerFinWait2() Note #2f5B', * 'net_tcp.c NetTCP_RxPktConnHandlerClosing() Note #2d2B2a1B', * & 'net_tcp.c NetTCP_RxPktConnHandlerLastAck() Note #2d2A1b'. ********************************************************************************************************* */ #define NET_TCP_CONN_STATE_NONE 0u #define NET_TCP_CONN_STATE_FREE 1u #define NET_TCP_CONN_STATE_CLOSED 10u #define NET_TCP_CONN_STATE_LISTEN 20u #define NET_TCP_CONN_STATE_SYNC_RXD 30u #define NET_TCP_CONN_STATE_SYNC_RXD_PASSIVE 31u #define NET_TCP_CONN_STATE_SYNC_RXD_ACTIVE 32u #define NET_TCP_CONN_STATE_SYNC_TXD 35u #define NET_TCP_CONN_STATE_CONN 40u #define NET_TCP_CONN_STATE_FIN_WAIT_1 50u #define NET_TCP_CONN_STATE_FIN_WAIT_2 51u #define NET_TCP_CONN_STATE_CLOSING 52u #define NET_TCP_CONN_STATE_TIME_WAIT 53u #define NET_TCP_CONN_STATE_CLOSE_WAIT 55u #define NET_TCP_CONN_STATE_LAST_ACK 56u #define NET_TCP_CONN_STATE_CLOSING_DATA_AVAIL 59u /* See Note #2a. */ /* ********************************************************************************************************* * TCP CONNECTION QUEUE STATES ********************************************************************************************************* */ #define NET_TCP_RX_Q_STATE_NONE 0u #define NET_TCP_RX_Q_STATE_CLOSED 100u #define NET_TCP_RX_Q_STATE_CLOSING 101u #define NET_TCP_RX_Q_STATE_SYNC 110u #define NET_TCP_RX_Q_STATE_CONN 111u #define NET_TCP_TX_Q_STATE_NONE 0u #define NET_TCP_TX_Q_STATE_CLOSED 200u #define NET_TCP_TX_Q_STATE_CLOSING 201u #define NET_TCP_TX_Q_STATE_SYNC 210u #define NET_TCP_TX_Q_STATE_CONN 211u #define NET_TCP_TX_Q_STATE_SUSPEND 215u #define NET_TCP_TX_Q_STATE_CLOSED_SUSPEND 220u #define NET_TCP_TX_Q_STATE_CLOSING_SUSPEND 221u /*$PAGE*/ /* ********************************************************************************************************* * TCP CONNECTION CODE DEFINES **************
上傳時間: 2015-11-22
上傳用戶:the same kong
本文對數(shù)據(jù)報表的需求進行了分析,結(jié)合WinCC就復(fù)雜數(shù)據(jù)報表的實現(xiàn)進行了介紹。
標(biāo)簽: com-WinCC elecfans 數(shù)據(jù)報表 實現(xiàn)方法
上傳時間: 2016-05-25
上傳用戶:guangyu_2005
Received: from mail.creditcard.cmbc.com.cn (unknown [111.205.122.39]) by newmx82.qq.com (NewMx) with SMTP id for <714620454@QQ.COM>; Fri, 20 Oct 2017 03:56:09 +0800 X-QQ-FEAT: nHaaMjwLeTyzuDp5C5V++RVfPHSVEqOujK0vwZroSro= X-QQ-MAILINFO: MjJD59SVx+LnQ1oU2sDuZ8tZJyZAOGTJaybWFAYRjurknrZoc6gjmnU06 o+pkiTJsdtxgA5CmtpN2ggrWb/T2GoG07QFXqgJtIk+5X1iaz4UykQ9M2a782+Fdn83doxC 4Ej1t99JoZcj8dDkeM5dzZTSR8uZGwHEnIK9Uim+NcaroB2EUWgclSmSzIxUHIbJ1nTLA8G B4/wa X-QQ-mid: mx82t1508442969ti70kc84u X-QQ-ORGSender: master@creditcard.cmbc.com.cn Received: from sedm([195.203.59.13]) by mail.creditcard.cmbc.com.cn(1.0) with SMTP id sedm587; Thu, 19 Oct 2017 17:48:11 +0800 Date:Thu, 19 Oct 2017 17:48:11 +0800 (CST) Message-ID:<0305-euid-31911508406491578> To:=?gbk?B?zsTS1SDFrsq/?=<714620454@QQ.COM> From:master<master@creditcard.cmbc.com.cn> Subject: =?gbk?B?w/HJ+tDF08O/qDIwMTfE6jEw1MK159fTttTVy7Wl?= X-Priority: 3 X-MSMail-Priority: Normal MIME-Version: 1.0 Content-Type: multipart/related; boundary="****MAIN_BOUNDARY****2727BD00F7949069C75FEDD44F1F2988" This is a multi-part message in MIME format. --****MAIN_BOUNDARY****2727BD00F7949069C75FEDD44F1F2988 Content-Type: multipart/alternative; boundary="****SUB_BOUNDARY****2727BD00F7949069C75FEDD44F1F2988" --****SUB_BOUNDARY****2727BD00F7949069C75FEDD44F1F2988 Content-Type: text/html; charset="gb2312" Content-Transfer-Encoding: base64
標(biāo)簽: 源代碼
上傳時間: 2017-11-17
上傳用戶:wendingchang
VK元泰原廠LED的面板驅(qū)動產(chǎn)品主要應(yīng)用于段式和點陣式LED的顯示驅(qū)動包括但不局限以下產(chǎn)品: 儀表顯示、大小家電、標(biāo)志牌、健身器材顯示面板等,同時涉及顯示器控制器、雙斜率與顯示驅(qū)動ADC及顯示器驅(qū)動計數(shù)器相關(guān)產(chǎn)品,產(chǎn)品具備顯示、背光、按鍵掃描、單線、兩線及三線通訊等不同特色。LED面板顯示驅(qū)動控制芯片/段式和點陣式LED顯示驅(qū)動專家。樣品免費,大量原裝現(xiàn)貨!歡迎加Q索取產(chǎn)品PDF資料。 VK元泰原廠LED顯示屏驅(qū)動主要大量應(yīng)用于以下這些產(chǎn)品簡介: 1:VCR、VCD、DVD 及家庭影院等產(chǎn)品的顯示屏驅(qū)動。 2:電磁爐、微波爐、冰箱、空調(diào) 、家庭影院等產(chǎn)品的高段位顯示屏驅(qū)動。 3:電子產(chǎn)品LED顯示屏驅(qū)動,電子秤及小家電產(chǎn)品的顯示屏驅(qū)動。 4:機頂盒、各種家電設(shè)備、智能電表等數(shù)碼管、多段位顯示屏驅(qū)動 VK1628概述 VK1628 是 1/5~1/8 占空比的 LED 顯示控制驅(qū)動電路。由 10 根段輸出、4 根柵輸出、3 根段/柵輸出,1 個顯示存儲器、控制電路、鍵掃描電路組成了一個高可靠性的單片機外圍 LED 驅(qū)動電路。串行數(shù)據(jù)通過4線串行接口輸入到 VK1628采用 SOP28 的封裝形式。 VK1629A概述 VK1629A 是LED(發(fā)光二極管顯示器)驅(qū)動控制專用電路,內(nèi)部集成有MCU 數(shù)字接口、數(shù)據(jù)鎖存器、LED 高壓驅(qū)動等電路。主要應(yīng)用于冰箱、空調(diào)、家庭影院等產(chǎn)品的高段位顯示屏驅(qū)動。 VK1629B概述 VK1629B 是 LED(發(fā)光二極管顯示器)驅(qū)動控制專用電路,內(nèi)部集成有 MCU 數(shù)字接口、數(shù)據(jù)鎖存器、鍵盤掃描、LED 高壓驅(qū)動等電路。主要應(yīng)用于冰箱、空調(diào)、家庭影院等產(chǎn)品的高段位顯示屏驅(qū)動。 VK1629C 概述 VK1629C 是帶鍵盤掃描接口的 LED(發(fā)光二極管顯示器)驅(qū)動控制專用電路,內(nèi)部 集成有 MCU 數(shù)字接口、數(shù)據(jù)鎖存器、LED 高壓驅(qū)動、鍵盤掃描等電路。主要應(yīng)用于冰箱、空調(diào)、家庭影院等產(chǎn)品的高段位顯示屏驅(qū)動。 VK1629D 概述 VK1629D 是 LED(發(fā)光二極管顯示器)驅(qū)動控制專用電路,內(nèi)部集成有 MCU 數(shù)字接口、數(shù)據(jù)鎖存器、LED 高壓驅(qū)動等電路。主要應(yīng)用于冰箱、空調(diào)、家庭影院等產(chǎn)品的高段位顯示屏驅(qū)動。 VK1640 概述 VK1640 是一款 LED(發(fā)光二極管顯示器)驅(qū)動控制專用電路,內(nèi)部集成有 MCU 數(shù)字接口、數(shù)據(jù)鎖存器、LED 高壓驅(qū)動。本產(chǎn)品采用 CMOS 工藝,主要應(yīng)用于小型 LED 顯示屏驅(qū)動。 VK1640B概述 ----- SSOP24 超小封裝體積方便開發(fā)設(shè)計,更低成本單價! VK1640B 是一款 LED(發(fā)光二極管顯示器)驅(qū)動控制專用電路,內(nèi)部集成有 MCU 數(shù)字接口、 數(shù)據(jù)鎖存器、LED 高壓驅(qū)動。本產(chǎn)品采用 CMOS 工藝,主要應(yīng)用于小型 LED 顯示屏驅(qū)動。 VK1650概述 VK1650 是一種帶鍵盤掃描電路接口的 LED 驅(qū)動控制專用電路。內(nèi)部集成有 MCU 輸入輸出控制數(shù)字接口、數(shù)據(jù)鎖存器、LED 驅(qū)動、鍵盤掃描、輝度調(diào)節(jié)等電路。本芯片性能穩(wěn)定、質(zhì)量可靠、抗干擾能力強,可適應(yīng)于 24 小時長期連續(xù)工作的應(yīng)用場合。 VK1651概述 VK1651 是一種帶鍵盤掃描接口的 LED(發(fā)光二極管顯示器)驅(qū)動控制專用電路,內(nèi)部集 成有 MCU 數(shù)字接口、數(shù)據(jù)鎖存器、LED 高壓驅(qū)動、鍵盤掃描等電路。本產(chǎn)品性能優(yōu)良,質(zhì)量可靠。主要應(yīng)用于電磁爐。微波爐及小家電產(chǎn)品的顯示屏驅(qū)動。 VK1668概述 VK1668 是 1/5~1/8 占空比的 LED 顯示控制驅(qū)動電路。由 10 根段輸出、4 根柵輸出、3 根段/柵輸出,1 個顯示存儲器、控制電路、鍵掃描電路組成了一個高可靠性的單片機外圍 LED 驅(qū)動電路。串行數(shù)據(jù)通過4線串行接口輸入到 VK1668采用 SOP24 的封裝形式。 VK6932概述 VK6932 是一款 LED(發(fā)光二極管顯示器)驅(qū)動控制專用電路,內(nèi)部集成有 MCU 數(shù)字接口、數(shù)據(jù)鎖存器、LED 高壓驅(qū)動。本產(chǎn)品采用 CMOS 工藝,主要應(yīng)用于 LED 顯示屏驅(qū)動。 VK16K33 概述 --- RAM映射16*8 LED控制器驅(qū)動器,帶按鍵控制 VK16K33是一個內(nèi)存映射和多功能LED控制器驅(qū)動程序。更大顯示設(shè)備中的段是128個模式(16個SEG 和 8個COM),矩陣鍵為13*3(更大值)。掃描路。VK16K33的軟件配置特點使其適用于多個LED應(yīng)用包括LED模塊和顯示子系統(tǒng)。VK16K33與大多數(shù)微控制器兼容,并且通過雙線雙向I2c總線進行通信。 內(nèi)存映射的LED控制器及驅(qū)動器 VK1628 --- 通訊接口:STB/CLK/DIO 電源電壓:5V(4.5~5.5V) 驅(qū)動點陣:70/52 共陰驅(qū)動:10段7位/13段4位 共陽驅(qū)動:7段10位 按鍵:10x2 封裝SOP28 VK1629 --- 通訊接口:STB/CLK/DIN/DOUT 電源電壓:5V(4.5~5.5V) 驅(qū)動點陣:128 共陰驅(qū)動:16段8位 共陽驅(qū)動:8段16位 按鍵:8x4 封裝QFP44 VK1629A --- 通訊接口:STB/CLK/DIO 電源電壓:5V(4.5~5.5V) 驅(qū)動點陣:128 共陰驅(qū)動:16段8位 共陽驅(qū)動:8段16位 按鍵:--- 封裝SOP32 VK1629B --- 通訊接口:STB/CLK/DIO 電源電壓:5V(4.5~5.5V) 驅(qū)動點陣:112 共陰驅(qū)動:14段8位 共陽驅(qū)動:8段14位 按鍵:8x2 封裝SOP32 VK1629C --- 通訊接口:STB/CLK/DIO 電源電壓:5V(4.5~5.5V) 驅(qū)動點陣:120 共陰驅(qū)動:15段8位 共陽驅(qū)動:8段15位 按鍵:8x1 封裝SOP32 VK1629D --- 通訊接口:STB/CLK/DIO 電源電壓:5V(4.5~5.5V) 驅(qū)動點陣:96 共陰驅(qū)動:12段8位 共陽驅(qū)動:8段12位 按鍵:8x4 封裝SOP32 VK1640 --- 通訊接口: CLK/DIN 電源電壓:5V(4.5~5.5V) 驅(qū)動點陣:128 共陰驅(qū)動:8段16位 共陽驅(qū)動:16段8位 按鍵:--- 封裝SOP28 VK1640B -- 通訊接口: CLK/DIN 電源電壓:5V(4.5~5.5V) 驅(qū)動點陣:96 共陰驅(qū)動:8段12位 共陽驅(qū)動:12段8位(封裝小,價格低)封裝SSOP24 VK1650 --- 通訊接口: SCL/SDA 電源電壓:5V(3.0~5.5V) 驅(qū)動點陣:8x16 共陰驅(qū)動:8段4位 共陽驅(qū)動:4段8位 按鍵:7x4 封裝SOP16/DIP16 VK1651 --- 通訊接口: SCL/SDA 電源電壓:5V(3.0~5.5V) 驅(qū)動點陣:8x14 共陰驅(qū)動:7段4位 共陽驅(qū)動:4段7位 按鍵:7x4 封裝SOP16/DIP16 VK1668 ---通訊接口:STB/CLK/DIO 電源電壓:5V(4.5~5.5V) 驅(qū)動點陣:70/52 共陰驅(qū)動:10段7位/13段4位 共陽驅(qū)動:7段10位 按鍵:10x2 封裝SOP24 VK6932 --- 通訊接口:STB/CLK/DIN 電源電壓:5V(4.5~5.5V) 驅(qū)動點陣:128 共陰驅(qū)動:8段16位17.5/140mA 共陽驅(qū)動:16段8位 按鍵:--- 封裝SOP32 VK16K33 --- 通訊接口:SCL/SDA 電源電壓:5V(4.5V~5.5V) 驅(qū)動點陣:128/96/64 共陰驅(qū)動:16段8位/12段8位/8段8位 共陽驅(qū)動:8段16位/8段12位/8段8位 按鍵:13x3 10x3 8x3 封裝SOP20/SOP24/SOP28 聯(lián) 系 人:許先生 聯(lián) 系 QQ:191 888 5898 聯(lián)系手機:188 9858 2398
標(biāo)簽: 1628 1629 1640 1651 1650 LED VK 面板 芯片 版本
上傳時間: 2019-02-16
上傳用戶:szqxw1688
無線電CW通聯(lián) 基本Q短語,通聯(lián)實例 A: CQCQCQ DE BA4ALC/5 BA4ALC/5 BA4ALC/5 PSE K B:BA4ALC/5 DE BD4IZL BD4IZL K A:BD4IZL DE BA4ALC/5 GM TNX FER CALL DR OM UR RST 559 55N K B:RR BA4ALC/5 DE BD4IZL GM DR OM TNX 55N RPRT UR 599 5NN FB MY NAME IS YU YU QTH JINAN JINAN BA4ALC/5 DE BD4IZL K A: DR YU OM TNX FB RPRT OP JACK JACK QTH NINGBO NINGBO WX HR IS FINE ES WARM TEMP 20C 20C HW? DE BA4ALC/5 K B:R DR JACK OM WX CLOUDY CLOUDY ES TEMP 15C 15C BT RIG FT80C FT80C ANT DIPOLE DP PWR 100WATTS 1TTW BA4ALC/5 DE BD4IZL K A: BD4IZL DE BA4ALC/5 MY RIG IS IC746PRO IC746PRO ES PWR 100W 1OOW BT ANT 2 ELE YAGI 2ELE YAGI 12MH TNX FER NICE QSO QSL VIA BURO HPE CUAGN BD4IZL DE BA4ALC/5 73 73 GL ES GB TU TU SK.. B:TNX FB CW QSO QSL QRZ.COM CUAGN BA4ALC/5 DE BD4IZL 73 DR JACK TU SK.. A:. B:.
上傳時間: 2019-03-05
上傳用戶:shuyinglee
#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);//輸入學(xué)生信息 void input_student2(void);//輸入總函數(shù) void input_student3(int &,int);//判斷學(xué)號是否重復(fù) void input_student4(int,int);//覆蓋原信息 void sort_student3(student s[],int);//按照英語成績排序 void sort_student4(student s[],int);//按照計算機成績排序 void sort_student2(student s[],int);//按照數(shù)學(xué)成績排序 void sort_student5(student s[],int);//按照平均成績排序 float input_score2(int);//計算學(xué)生平均成績 void print_student2(void);//顯示表頭 void print_student3(int);//顯示學(xué)生信息 void print_student1(int);//顯示全部學(xué)生資料 void sort_student1(void);//排序總函數(shù) void menu(void);//菜單調(diào)度總函數(shù) int search_student2(int);//按學(xué)號查詢學(xué)生信息并輸出 void search_student3(int);//按平均分最高查詢并輸出 void search_student1(void);//查詢總函數(shù) void delete_student2(int,int);//刪除學(xué)生信息 void delete_student1(void);//刪除總函數(shù) void change_student2(int);//修改學(xué)生資料 void change_student1(void);//修改總函數(shù) void input_score3(int);//統(tǒng)計成績 void input_score1(void);//統(tǒng)計成績總函數(shù) void print_help(void);//輸出幫助信息 void exit_student(void);//退出系統(tǒng) void save_student(student *,int);//保存學(xué)生信息 void main() { menu(); } void save_student(student *s,int a)//保存學(xué)生信息 { FILE *fp; if((fp=fopen("d:\\學(xué)生信息.txt","wb"))==NULL) { printf("不能打開文件!\n"); } else { printf("保存信息到D盤\n"); fprintf(fp,"本班所有學(xué)生具體信息如下:\r\n"); fprintf(fp," 學(xué)號 姓名 數(shù)學(xué)成績 英語成績 計算機成績 平均成績\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)//退出系統(tǒng) { exit(1); } void print_help(void)//輸出幫助信息 { printf("本系統(tǒng)所能容納的最大學(xué)生數(shù)為%d人\n學(xué)生信息保存在D盤根目錄下,保存文件為“學(xué)生信息.txt”。\n感謝使用!\n",N); } void input_score1(void)//統(tǒng)計成績總函數(shù) { int c; c=search_student2(iNumOfStu); printf("學(xué)號:%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)//統(tǒng)計成績 { printf("數(shù)學(xué)新成績:"); 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)//修改學(xué)生資料 { printf("學(xué)號:%d----修改為:",stu[a].number); scanf("%d",&stu[a].number); getchar(); printf("姓名:%s----修改為:",stu[a].name); gets(stu[a].name); printf("數(shù)學(xué)成績:%.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)//修改總函數(shù) { int c; c=search_student2(iNumOfStu); getchar(); printf("是否要修改此學(xué)生信息?(“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)//刪除總函數(shù) { 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)//刪除學(xué)生信息 { for(int i=a;i<b-1;i++) { stu[i]=stu[i+1]; } --iNumOfStu; } void search_student1(void)//查詢總函數(shù) { printf("1、按學(xué)號查詢\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)//菜單調(diào)度總函數(shù) { print_menu(); choosemenu(); } void sort_student1(void)//排序總函數(shù) { printf("1、按數(shù)學(xué)成績排序\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)//顯示全部學(xué)生資料 { printf("本班所有學(xué)生具體信息如下\n"); print_student2(); for(int i=0;i<a;i++) { print_student3(i); } } void print_student3(int a)//顯示學(xué)生信息 { 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(" 學(xué)號 姓名 數(shù)學(xué)成績 英語成績 計算機成績 平均成績\n"); } void input_student4(int a,int b)//覆蓋原信息 { stu[a]=stu[b-1]; --iNumOfStu; } void input_student3(int &a,int b)//判斷學(xué)號是否重復(fù) { if(a!=0) { int i=0; do { if(stu[a].number==stu[i].number) { printf("此學(xué)號代表的學(xué)生已錄入\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("請重新輸入學(xué)生信息:\n"); input_student1(iNumOfStu-1); break; } default: break; } break; } ++i; } while(i<b-1); } } void print_menu(void)//輸出菜單 { printf("======歡迎來到學(xué)生信息管理系統(tǒng)======\n"); printf(" 1、輸入學(xué)生資料\n"); printf(" 2、刪除學(xué)生資料\n"); printf(" 3、查詢學(xué)生資料\n"); printf(" 4、修改學(xué)生資料\n"); printf(" 5、顯示學(xué)生資料\n"); printf(" 6、統(tǒng)計學(xué)生成績\n"); printf(" 7、排序?qū)W生成績\n"); printf(" 8、保存學(xué)生資料\n"); printf(" 9、獲取幫助信息\n"); printf(" 10、退出系統(tǒng)\n"); printf("====================================\n"); printf("請選擇:"); } void input_student2(void)//輸入總函數(shù) { char end; printf("請輸入學(xué)生信息(在最后一個學(xué)生信息錄入完成后以“/”結(jié)束錄入):\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)//輸入學(xué)生信息 { printf("學(xué)號:"); scanf("%d",&stu[a].number); getchar(); printf("姓名:"); gets(stu[a].name); printf("數(shù)學(xué)成績:"); 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)//計算學(xué)生平均成績 { 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)//按照數(shù)學(xué)成績排序 { 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)//按照學(xué)號查找學(xué)生并輸出 { int num; int c; printf("請輸入要查詢的學(xué)號:"); scanf("%d",&num); for(int i=0;i<a;i++) { if(num==stu[i].number) { c=i; } } printf("此學(xué)生的信息是:\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; } } 運行結(jié)果: 源文件下載地址: http://115.com/file/clnq138g#一個簡單的學(xué)生成績管理系統(tǒng).rar (請將此地址復(fù)制到瀏覽器地址欄中訪問下載頁面)
標(biāo)簽: 成績查詢系統(tǒng)
上傳時間: 2019-06-08
上傳用戶:啊的撒旦
蟲蟲下載站版權(quán)所有 京ICP備2021023401號-1