A. C语言编程
#include <io.h>
#include <stdlib.h>
#include <stdio.h>
/*定义学生成绩结构体*/
struct stuscore
{
char szID[80];/*学号*/
char szName[80];/*姓名*/
int iEn;/*英语*/
int iCp;/*C程序*/
int iMt;/*数学*/
};
/*输入成绩并保存文件*/
void InputScore(void)
{
stuscore astu;
FILE *pf;
printf("输入学号 = ");
scanf("%s",astu.szID);
printf("输入名字 = ");
scanf("%s",astu.szName);
printf("输入英语 = ");
scanf("%d",&astu.iEn);
printf("输入C程序 = ");
scanf("%d",&astu.iCp);
printf("输入数学 = ");
scanf("%d",&astu.iMt);
/*如果文件不存在则创建*/
if ( _access("stu.txt",0) == -1 )
{
pf = fopen("stu.txt","wt");
}
else
{
pf = fopen("stu.txt","a+");
}
fprintf(pf,"%s %s %d %d %d\n",astu.szID,astu.szName,astu.iEn,astu.iCp,astu.iMt);
fclose(pf);
}
/*计算平均分保存文件*/
void JsPjf(void)
{
stuscore astu;
FILE *pf_read = fopen("stu.txt","rt");
FILE *pf_write = fopen("pjf.txt","wt");
while( ! feof(pf_read) )
{
fscanf(pf_read,"%s %s %d %d %d\n",astu.szID,astu.szName,&astu.iEn,&astu.iCp,&astu.iMt);
fprintf(pf_write,"%s %s %d",astu.szID,astu.szName,(astu.iEn+astu.iCp+astu.iMt)/3);
}
fclose(pf_read);
fclose(pf_write);
}
/*统计每门课程平均分并写文件*/
void TjKcPjf(void)
{
stuscore astu;
int iTotalEn = 0,iTotalCp = 0,iTotalMt = 0;
FILE *pf_read = fopen("stu.txt","rt");
FILE *pf_write = NULL;
int iNumber = 0;
while( ! feof(pf_read) )
{
fscanf(pf_read,"%s %s %d %d %d\n",astu.szID,astu.szName,&astu.iEn,&astu.iCp,&astu.iMt);
iTotalEn += astu.iEn;
iTotalCp += astu.iCp;
iTotalMt += astu.iMt;
iNumber++;
}
fclose(pf_read);
pf_write = fopen("kcpj.txt","wt");
fprintf(pf_write,"英语平均分:%d\n",iTotalEn/iNumber);
fprintf(pf_write,"C语言平均分:%d\n",iTotalCp/iNumber);
fprintf(pf_write,"数学平均分:%d\n",iTotalMt/iNumber);
fclose(pf_write);
}
/*菜单*/
void ShowMenu(void)
{
char c = 0;
while( true )
{
system("cls");
printf("请选择:\n");
printf("1 输入学生成绩.\n");
printf("2 计算学生平均成绩.\n");
printf("3 计算课程平均成绩.\n");
printf("0 退出.\n");
printf("\n输入 = ");
fflush(stdin);
c=getchar();
fflush(stdin);
if ( c < '0' || c > '9' )
{
continue;
}
switch( c )
{
case('0'):
{
exit(0);
break;
}
case('1'):
{
InputScore();
break;
}
case('2'):
{
JsPjf();
break;
}
case('3'):
{
TjKcPjf();
break;
}
default:
{
continue;
}
}
}
}
/*剩下的功能参照上面的格式自己做一下就OK了*/
int main(void)
{
ShowMenu();
return 0;
}
B. CP 1E PLC 怎么分段编程
如图所示,2个图。望采纳。。。。。。
C. 使用CP卡进行编程通讯有什么限制
1)CP5613不能连接S7-200 CPU通讯口编程。 2)CP5511/CP5512/CP5611不能在Windows XP Home版下使用。 3)所有的CP卡不支持S7-200的自由口编程调试。 4)CP卡与S7-200通讯时,不能选择“CP卡(auto)” 5)MPI的最低通讯速率为19.2K。
D. cp在c语言中啥意思
在整个
c
语言编译器中没有
ikey
这个关键字,ikey
在
c
语言源程序中可以是用户自定义的标识符、或者是用户自定义的一个变量。注意:这两个的用法在编程上面是有区别的:
(1)、ikey
作为一个静态的常量标识符来使用
#define
ikey
100
/*
用户把
ikey
定义成一个静态的常量标识符来使用,假设
ikey
的值为
100
*/
void
main(
)
{
int
number
;
scanf("%d",
&number)
;
if(
number
==
ikey
)
printf("number
is
equaled
ikey
!\n")
;
else
printf("number
is
not
equaled
ikey
!\n"
)
;
}
(2)、ikey
作为一个变量来使用
void
main(
)
{
int
ikey
;
scanf("%d",
&ikey)
;
printf("ikey
is
:
%d\n",
ikey)
;
}
E. shell编程中,关于cp的小问题
题主你好,
我们可以使用递归的方法去处理该问题.具体代码见截图:
写在最后: 其实这个问题做个视频看着比较直观,但是视频审核需要一段时间,所以先以截图的形式给出,如果后期你有需要我可以再附上一个运行视频
希望可以帮到题主,欢迎追问
F. 我用CP PASCAL 编程为什么错了
program p1_1 (input,output)
Var j,h:integer;
begin
for j:=1 to 5 do
begin
write (':16- j')
for h:=1 to 2 *j-1 do write ('*');
writeln;
end;
end.
G. 如何通过cp234-1对200plc编程
利用CP243-1对PLC进行下载程序前,你需要先组态好CP243-1,然后将配置程序用PPI电缆下载到CPU后,才能使用CP243-1对PLC进行上下载程序操作
H. PLC中DDECP编程语言
一、 顺控指令
1 触点指令
00 LD 逻辑操作开始
01 LDI 逻辑非操作开始
02 AND 逻辑乘
03 ANI 逻辑乘非
04 OR 逻辑加
05 ORI 逻辑加非
2 连接指令
06 ANB AND逻辑块与
07 ORB OR逻辑块或
08 MPS 存储操作结果
09 MRD 从MPS读取操作结果
10 MPP 从MPS读取操作结果
并清除结果
3 输出指令
11 OUT 软元件输出
12 SET 软元件置位
13 RST 软元件复位
14 PLS 在输入信号的上升沿
15 PLF 在输入信号的下降沿
16 CHK 软元件输出翻转
4 移位指令
17 SFT 元件移1位
18 SFTP 元件移1位
5 主控指令
19 MC 主控开始
20 MCR 主控复位
6 结束指令
21 FEND 结束主程序
22 END 总的程序末尾,
返回第0步
7 其它指令
23 STOP 停止
24 NOP 空操作
二 基本指令
1 比较指令
16位数据比较
25 LD= 当S1=S2, 接通,
当S1≠S2, 断开
26 AND=
27 OR=
28 LD<> 当S1≠S2, 接通,
当S1=S2, 断开
29 AND<>
30 OR<>
31 LD> 当S1>S2, 接通,
当S1≤S2, 断开
32 AND>
33 OR>
34 LD<= 当S1≤S2, 接通,
当S1>S2, 断开
35 AND<=
36 OR<=
37 LD< 当S1<s2, 接通,="" 当s1≥s2,="" 断开="" 38="" and<="" 39="" or= 当S1≥S2, 接通,
当S1=
42 OR>=
32位数据比较
43 LDD= 当(S1+1,S1)=(S2+1,S2), 接通
44 ANDD=
45 ORD=
46 LDD<> 当(S1+1,S1)≠(S2+1,S2),接通
47 ANDD<>
48 ORD<>
49 LDD> 当(S1+1,S1)>(S2+1,S2), 接通
50 ANDD>
51 ORD>
52 LDD<= 当(S1+1,S1)≤(S2+1,S2),接通
53 ANDD<=
54 ORD<=
55 LDD< 当(S1+1,S1)<(S2+1,S2), 接通
56 ANDD<
57 ORD<
58 LDD>= 当(S1+1,S1)≥(S2+1,S2),接通
59 ANDD>=
60 ORD>=
2 算术运算指令
二进制16位加/减
61 + (D)+(S)→(D)
62 +P
63 + (S1)+(S2)→(D)
64 +P
65 - (D)-(S)→(D)
66 -P
67 - (S1)-(S2)→(D)
68 -P
二进制32位加/减
69 D+ (D+1,D)+(S+1,S)→(D+1,D)
70 D+P
71 D+ (S1+1,S1)+(S2+1,S2)→(D+1,D)
72 D+P
73 D- (D+1,D)-(S+1,S)→(D+1,D)
74 D-P
75 D- (S1+1,S1)-(S2+1,S2)→(D+1,D)
76 D-P
77 * (S1)×(S2)→(D+1,D)
78 *P
79 / (S1)/(S2)→商(D), 余数(D+1)
80 /P
81 D* (S1+1,S1)×(S2+1,S2)→
(D+3,D+2,D+1,D)
82 D*P
83 D/ (S1+1,S1)/(S2+1,S2)→
商(D+1,D),余数(D+3,D+2)
84 D/P
85 B+ (D)+(S)→(D)
86 B+P
87 B+ (S1)+(S2)→(D)
88 B+P
89 B- (D)-(S)→(D)
90 B-P
91 B- (S1)-(S2)→(D)
92 B-P
93 DB+ (D+1,D)+(S+1,S) →(D+1,D)
94 DB+P
95 DB+ (S1+1,S1)+(S2+1,S2)→(D+1,D)
96 DB+P
97 DB- (D+1,D)-(S+1,S)→(D+1,D)
98 DB-P
99 DB- (S1+1,S1)-(S2+1,S2)→(D+1,D)
100 DB-P
101 B* (S1)×(S2)→(D+1,D)
102 B*P
103 B/ (S1)/(S2)→商(D),余数(D+1)
104 B/P
105 DB* (S1+1,S1)×(S2+1,S2)→
(D+3,D+2,D+1,D)
106 DB*P
107 DB/ (S1+1,S1)/(S2+1,S2)→
商(D+1,D),余数(D+3,D+2)
108 DB/P
109 INC (D)+1→(D)
110 INCP
111 DINC (D+1,D)+1→(D+1,D)
112 DINCP
113 DEC (D)-1→(D)
114 DECP
115 DDEC (D+1,D)-1→(D+1,D)
116 DDECP
3 BCD—二进制转换
117 BCD (S)→(D)BCD转换
118 BCDP
119 DBCD (S+1,S)→(D+1,D)
120 DBCDP
121 BIN (S)→(D)二进制转换
122 BINP
123 DBIN (S+1,S)→(D+1,D)
124 DBINP
4 数据传送指令
125 MOV (S)→(D)
126 MOVP
127 DMOV (S+1,S)→(D+1,D)
128 DMOVP
129 CML (S)→(D)
130 CMLP
131 DCML (S+1,S)→(D+1,D)
132 DCML
133 DCMLP
134 BMOV (S)→(D)n个
135 BMOVP
136 FMOV (S)→(D)n个
137 FMOVP
138 XCH (D1)←→(D2)
139 XCHP
140 DXCH (D1+1,D1)←→(D2+1,D2)
141 DXCHP
5 程序分支指令
142 CJ 条件满足,跳转到P**处
143 SCJ 条件满足后紧接的扫描周期,
跳转到P**处
144 JMP 无条件跳转到P**处
145 CALL 执行P**处子程序
146 CALLP
147 RET 从子程序返回
148 EI 允许中断
149 DI 禁止中断
150 IRET 从中断程序返回
151 SUB 执行n指定的程序
152 SUBP
6 程序切换指令
153 CHG 在主副程序间切换
7 刷新指令
154 COM 执行通讯刷新
155 EI 允许通讯刷新
156 DI 禁止通讯刷新
157 SEG 对应软元件的刷新,仅执行1个扫描周期,M9052 ON时有效
三 应用指令
1 逻辑运算指令
158 WAND (D) AND (S)→(D)
159 WANDP
160 WAND (S1) AND (S2)→(D)
161 WANDP
162 DAND (D+1,D) AND (S+1,S)→(D+1,D)
163 DANDP
164 WOR (D) OR (S)→(D)
165 WORP
166 WOR (S1) OR (S2)→(D)
167 WORP
168 DOR (D+1,D) OR (S+1,S)→(D+1,D)
169 DORP
170 WXOR (D) XOR (S)→(D)异或
171 WXORP
172 WXOR (S1) XOR (S2)→(D)
173 WXORP
174 DXOR (D+1,D) XOR (S+1,S)→(D+1,D)
175 DXORP
176 WXNR (D) XOR (S)→(D)
177 WXNRP
178 WXNR (S1) XOR (S2)→(D)
179 WXNRP
180 DXNR (D+1,D) XOR (S+1,S)→(D+1,D)
181 DXNRP
182 NEG 0-(D)→(D)补码
183 NEGP
2 旋转指令
184 ROR n位右转
185 RORP
186 RCR n位右转(带进位)
187 RCRP
188 ROL n位左转
189 ROLP
190 RCL n位左转(带进位)
191 RCLP
192 DROR n位右转
193 DRORP
194 DRCR n位右转(带进位)
195 DRCRP
196 DROL n位左转
197 DROLP
198 DRCL n位左转(带进位)
199 DRCLP
3 移位指令
200 SFR n位右移
201 SFRP
202 SFL n位左移
203 SFLP
204 BSFR 1位右移
205 BSFRP
206 BSFL 1位左移
207 BSFLP
208 DSFR 1位右移
209 DSFRP
210 DSFL 1位左移
211 DSFLP
4 数据处理指令
212 SER 数据搜索
213 SERP
214 SUM 位检查
215 SUMP
216 DSUM
217 DSUMP
218 DECO 译码编码
219 DECOP
220 ENCO
221 ENCOP
222 SEG 7段编码
223 BSET 对字中n位置位
224 BSETP
225 BRST 对字中n位复位
226 BRSTP
227 DIS 组合分离
228 DISP
229 UNI
230 UNIP
231 ASC ASCII转化
5 先进先出指令
232 FIFW FIFO写
233 FIFWP
234 FIFR FIFO读
235 FIFRP
6 内存缓冲区存取指令
236 FROM 从特殊功能模块读取数据
237 FROMP
238 DFRO
239 DFROP
240 TO 向特殊功能模块写数据
241 TOP
242 DTO
243 FROM 从远程I/O站读数据
244 FROMP
245 DFRO
246 DFROP
247 TO 向远程站写数据
248 TOP
249 DTO
250 DTOP
7 FOR/NEXT指令
251 FOR 重复n次
252 NEXT
8 本地站、远程I/O站存取指令
253 LRDP 从本地站读数据
254 LWTP 向本地站写数据
255 RFRP 从远程特殊功能模块读数据
256 RTOP 向远程特殊功能模块写数据
9 显示指令
257 PR 从指定的8点字软元件输出
16个字符的ASCII码
258 PR 顺序向输出模块输出ASCII
码, 直到结束符NUL(00H)
259 PRC 将字软元件的注释转换成
ASCII码,并输出
260 LED 将指定的8点字软元件显示
16个字符的ASCII码
261 LEDA 显示指定的英文数字字符
262 LEDB
263 LEDC 显示软元件S的注释
264 LEDR 显示复位
10 其它指令
265 WDT WDT复位
266 WDTP
267 CHK 故障检测
268 SLT 按参数设定的条件,数据被锁定
269 SLTR 状态锁存复位,且执行SLT
270 STRA 按参数设定的条件,采样数据存入
271 STRAR 采样跟踪复位,且允许执行
272 STC 进位标志(M9012)ON
273 CLC 进位标志(M9012)OFF
274 DUTY 用户定义时钟
11 伺服指令
275 DSFRP 请求启动伺服程序
276 PSFLP 数据修改