当前位置:   article > 正文

C语言学生选课系统实现_学生选修课程系统设计c语言代码

学生选修课程系统设计c语言代码

学生选修课程系统设计

1、需求分析

    系统以菜单方式工作,因而要提供键盘式选择菜单以实现功能选择;由于课程信息要用文件保存,因而要提供文件的输入输出操作;由于要浏览信息,所以要提供显示功能;要实现查询功能,故要提供查找操作。

2、总体设计

   整个系统可以设计为信息输入模块、信息查询模块以及信息浏览模块。

3、详细设计

   数据结构采用结构体,这里采用课程信息结构体和学生选课信息结构体。

 Struct

{

  Char courseCode[10];   //课程编号

  Char courseName[20];  //课程名称

  Char courseType[10];  //课程类别

  Int  totalPeriod;      //总学时

  Int  classPeriod;     //授课学时

  Int  experiPeriod;    //上机学时

  Float creditHour;    //学分

  Int  term;         //开课学期

}CourseInfo[N];   //课程信息结构体

Struct

{

  Int stuNo;  //学号;

  Char courseCode[10];   //课程编号

}StuCourInfo[N]; //学生选课信息结构体

(1) 信息输入模块

  从键盘输入课程信息和学生选课信息,写入文件。(fwrite, fprintf)

(2)信息浏览模块

  分屏显示课程信息,每屏10条课程记录,按任意键继续。从文件中读数据(fread,fscanf),然后再显示。

(3)信息查询模块

   通过菜单选择查询字段,可以按照课程编号、课程名称、课程性质、开课学期、学分对课程信息文件进行查找,查找算法可以选择基本查找、二分查找等算法。

 1、首先在项目文件夹内(.c文件同级文件夹)创建class.txt文件和student.txt文件,作为系统的数据文件进行保存。

 2、在初次运行系统时,建议先选择课程可学生数据添加选项,因为数据文件中不存在数据。

3、本系统最大选课数在15门以内,超出的不计。

4、源码如下:

  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #include<string.h>//需要用到strcmp函数
  4. //宏定义
  5. #define LEN 15//姓名和学号的最大字符数.文件URL路径长度,最多选课数
  6. #define N 50//最大学生人数,课程数
  7. int n = 0, c = 0, t = 1;//n代表当前学生人数,c表示课程数,t用来控制整个程序的执行,以及程序的退出;
  8. int m = 0,M=0;//m添加的学生人数,M添加的课程数
  9. //函数声明
  10. void menu();//主菜单函数
  11. void readInfo(); //数组初始化
  12. void select(); //操作选择
  13. void help(); //使用帮助
  14. void increaseClass(); //增加课程信息
  15. void increaseStudent(); //增加学生信息
  16. void classDisplay(); //课程浏览
  17. void studentDisplay(); //学生浏览
  18. void save(int f); //信息文件保存
  19. void find(); //查找
  20. void findStudent();
  21. void findClass();
  22. void exitSys(); //退出函数
  23. struct Class
  24. {
  25. char courseCode[10]; //课程编号;001
  26. char courseName[20]; //课程名称;大学英语
  27. char courseType[10]; //课程类型;必修
  28. int totalPeriod; //总学时;60
  29. int classPeriod; //授课学时;40
  30. int experiPeriod; //上机学时;20
  31. float creditHour; //学分;4
  32. int term; //开课学期;1为上学期,2为下学期
  33. }CourseInfo[N];
  34. struct Student
  35. {
  36. int stuNo; //学号0000
  37. char courseCode[LEN][10]; //课程编号;
  38. }StuCourInfo[N];
  39. void menu()
  40. {
  41. printf("\n\n");
  42. printf("*****************************************************\n");
  43. printf("* 学生选修课程系统 *\n");
  44. printf("*****************************************************\n");
  45. printf("********************系统功能菜单*********************\n");
  46. printf("-----------------------------------------------------\n");
  47. printf("** 1、使用帮助\n\n");
  48. printf("** 2、增加课程信息\n\n");
  49. printf("** 3、增加学生信息\n\n");
  50. printf("** 4、课程浏览\n\n");
  51. printf("** 5、学生浏览\n\n");
  52. printf("** 6、查询\n\n");
  53. printf("** 0、退出系统\n\n");
  54. printf("-----------------------------------------------------\n");
  55. printf("*****************************************************\n\n");
  56. }
  57. //初始化数组函数
  58. void readInfo()
  59. {
  60. //课程初始化
  61. int i=0;
  62. int j = 0,flag=0;
  63. FILE* fp = fopen("class.txt", "r"); //打开文件;fopen()为C语言内置的文件打开函数。
  64. if (NULL == fp)
  65. {
  66. printf("打开文件失败!!\n");
  67. exit(0);//退出整个程序
  68. }
  69. while(!feof(fp))//内置函数,判断文件指针所指文件内有无数据,此处在文件数据为空的时候依然会进入,所以数据默认为1条。
  70. {
  71. fscanf(fp, "%s %s %s %d %d %d %f %d\n",
  72. &CourseInfo[i].courseCode,
  73. &CourseInfo[i].courseName,
  74. &CourseInfo[i].courseType,
  75. &CourseInfo[i].totalPeriod,
  76. &CourseInfo[i].classPeriod,
  77. &CourseInfo[i].experiPeriod,
  78. &CourseInfo[i].creditHour,
  79. &CourseInfo[i].term);//文件数据读取函数
  80. c++;
  81. i++;
  82. }
  83. fclose(fp); //关闭文件
  84. //学生初始化
  85. FILE* fp1 = fopen("student.txt", "r"); //打开文件
  86. if (NULL == fp1)
  87. {
  88. printf("打开文件失败!!\n");
  89. exit(0);
  90. }
  91. i = 0;
  92. while (!feof(fp1))
  93. {
  94. fscanf(fp1, "%d ",&StuCourInfo[i].stuNo);
  95. for (j = 0; j < LEN-1; j++)
  96. {
  97. fscanf(fp1, "%s ", &StuCourInfo[i].courseCode[j]);
  98. }
  99. fscanf(fp1,"%s \n", &StuCourInfo[i].courseCode[j]);
  100. n++;
  101. i++;
  102. }
  103. fclose(fp1); //关闭文件
  104. printf("当前课程数为:%d(默认为1)\n",c);
  105. printf("当前人数为:%d(默认为1)\n", n);
  106. system("pause");
  107. }
  108. void select()
  109. {
  110. int num;//num是菜单选项
  111. readInfo();//初始化程序,读取数据文件。
  112. while (t)//t是全局变量,用tuichu函数来控制循环是否继续
  113. {
  114. system("cls"); //清屏
  115. menu();//输出主菜单界面
  116. printf("您好,请输入菜单编号:");
  117. scanf("%d", &num);
  118. switch (num)
  119. {
  120. case 1: help(); break;
  121. case 2: increaseClass(); break;
  122. case 3: increaseStudent(); break;
  123. case 4: classDisplay(); break;
  124. case 5: studentDisplay(); break;
  125. case 6: find(); break; //进入后选择findStudent()学生查询还是findClass()课程查询。
  126. case 0: exitSys(); break;
  127. default:printf("输入有误,请重新输入!");
  128. }
  129. }
  130. system("pause");
  131. }
  132. void help()
  133. {
  134. system("cls"); //清屏
  135. printf("\n这是一个学生选修课程系统,为了帮助您更快的了解使用它,请先仔细阅读以下注意事项:\n");
  136. printf("\n 注意事项:\n ");
  137. printf("\n 1、请根据提示进行操作!\n");
  138. printf("\n 2、初次使用请先选择增加学生信息!\n");
  139. printf("\n 3、修改或者增加学生信息后会自动保存,请放心!\n");
  140. printf("\n 5、若您之前使用过,下次进入系统将会自动读取文件信息!\n");
  141. printf("\n 6、在添加学生时,用两个字符代表不同的性别,比如男用‘M’代替,女用‘W’代替!\n");
  142. printf("\n 7、保存或者刷新时,系统会在源程序“studentClass.c”的相同目录建立一个.txt文件来保存学生信息,您可以查看该文件,\n但非专业人员不要轻易改动,否则会造成刷新数据异常或刷新失败!\n");
  143. printf("\n 8、学生信息包括:学号、已选修的课程号!\n");
  144. printf("\n 9、课程信息包括:课程编号,课程名称,课程类型,总学时,授课学时,上机学时,学分,开课学期!\n");
  145. printf("\n 10、使用遇到任何问题请与开发人员联系!\n");
  146. printf("\n 11、最后感谢您的使用!\n");
  147. system("pause");
  148. }
  149. void increaseClass()
  150. {
  151. system("cls"); //清屏
  152. int i = c, j, flag; //i表示增加课程数
  153. printf("\n请输入增加科目数:\n");
  154. scanf("%d",&M);
  155. if (M > 0)
  156. {
  157. do
  158. {
  159. //课程号输入及查重
  160. flag = 1;
  161. while (flag)
  162. {
  163. flag = 0;
  164. printf("----------------------------------------------\n");
  165. printf("\n请输入第%d个课程编号(例:001):\n", i + 1);
  166. scanf("%s", &CourseInfo[i].courseCode);
  167. //判断课程号是否重复:
  168. for (j = 0; j < i; j++)
  169. {
  170. if (strcmp(CourseInfo[i].courseCode, CourseInfo[j].courseCode) == 0)//字符串比较函数相等为0
  171. {
  172. printf("\n该课程已存在,请重新输入:\n");
  173. flag = 1;
  174. break;
  175. }
  176. }
  177. }
  178. //其他信息录入
  179. printf("请输入第%d个课程名称(例:大学英语):\n", i + 1);
  180. scanf("%s",&CourseInfo[i].courseName);
  181. printf("请输入第%d个课程类型(例:必修):\n", i + 1);
  182. scanf("%s", &CourseInfo[i].courseType);
  183. printf("请输入第%d个课程总学时(例:60):\n", i + 1);
  184. scanf("%d", &CourseInfo[i].totalPeriod);
  185. printf("请输入第%d个课程授课学时(例:40):\n", i + 1);
  186. scanf("%d", &CourseInfo[i].classPeriod);
  187. //实验学时为总学时-授课学时
  188. CourseInfo[i].experiPeriod = CourseInfo[i].totalPeriod - CourseInfo[i].classPeriod;
  189. printf("请输入第%d个课程上机学时为:\n%d\n", i + 1,CourseInfo[i].experiPeriod);
  190. printf("请输入第%d个课程学分(例:4):\n", i + 1);
  191. scanf("%f", &CourseInfo[i].creditHour);
  192. printf("请输入第%d个课程开课学期(例:1:前半年;2:后半年):\n", i + 1);
  193. scanf("%d", &CourseInfo[i].term);
  194. i++;
  195. printf("----------------------------------------------\n");
  196. } while (i<c+M); //输入的课程数量没有达到;
  197. }
  198. c += M; //课程数更新。
  199. save(1); //课程保存
  200. system("pause");
  201. system("cls");
  202. }
  203. //f=0表示为学生文件写入;f=1表示为课程文件写入。
  204. void save(int f)
  205. {
  206. //数据写入:
  207. int i,j;
  208. FILE* fp;
  209. char filename[LEN]; //文件名class.txt和student.txt
  210. if (f == 0)
  211. {
  212. strcpy(filename, "student.txt");
  213. if ((fp = fopen(filename, "a")) == NULL)
  214. {
  215. printf("打开文件失败!\n");
  216. exit(0);
  217. }
  218. for (i = n-m; i < n; i++)
  219. {
  220. //可用sprintf(strStuNo,"%d",StuCourInfo[i].sruNo)
  221. //也可用char *_itoa_s(int i,char *s,int radix);//i为要转换为字符的数字;*s为转换后的指向字符串的指针;radix为转换后的字符串指针。
  222. /*if (fwrite(&StuCourInfo[i], sizeof(struct Student), n, fp) != 1)
  223. printf("保存失败!!\n");*/
  224. char strStuNo[10];
  225. sprintf(strStuNo,"%d", StuCourInfo[i].stuNo );//内置将基本数据型转换为字符串的函数
  226. fputs(strStuNo, fp);
  227. fputs(" ", fp);
  228. for (j = 0; j < LEN; j++)
  229. {
  230. fputs(StuCourInfo[i].courseCode[j], fp);
  231. fputs(" ", fp);
  232. }
  233. fputs("\n", fp);
  234. }
  235. m = 0;//添加人数清零
  236. }
  237. else
  238. {
  239. strcpy(filename, "class.txt");
  240. if ((fp = fopen(filename, "a")) == NULL)
  241. {
  242. printf("打开文件失败!\n");
  243. exit(0);
  244. }
  245. for (i = c-M; i < c; i++)
  246. {
  247. //if (fwrite(&CourseInfo[i], sizeof(struct Class), c, fp) != 1)
  248. // printf("保存失败!!\n");
  249. fputs(CourseInfo[i].courseCode, fp);//将CourseInfo[i].courseCode取出来的数据赋给fp指针,并写到文件里
  250. fputs(" ", fp);
  251. fputs(CourseInfo[i].courseName, fp);
  252. fputs(" ", fp);
  253. fputs(CourseInfo[i].courseType, fp);
  254. fputs(" ", fp);
  255. char strTotalPeriod[10];
  256. sprintf(strTotalPeriod, "%d", CourseInfo[i].totalPeriod);//将int型转换为字符串
  257. fputs(strTotalPeriod, fp);//将转换后的字符串写入文件
  258. fputs(" ", fp);
  259. char strClassPeriod[10];
  260. sprintf(strClassPeriod,"%d", CourseInfo[i].classPeriod);
  261. fputs(strClassPeriod, fp);
  262. fputs(" ", fp);
  263. char strExperiPeriod[10];
  264. sprintf(strExperiPeriod,"%d", CourseInfo[i].experiPeriod);
  265. fputs(strExperiPeriod, fp);
  266. fputs(" ", fp);
  267. char strCreditHour[10];
  268. sprintf(strCreditHour, "%.1f", CourseInfo[i].creditHour);
  269. fputs(strCreditHour, fp);
  270. fputs(" ", fp);
  271. char strTerm[10];
  272. sprintf(strTerm,"%d" ,CourseInfo[i].term);
  273. fputs(strTerm, fp);
  274. fputs("\n", fp);
  275. }
  276. M = 0;//添加课程清零
  277. }
  278. //printf("请输入文件名:\n");
  279. //scanf("%s", filename);
  280. fclose(fp);
  281. printf("保存成功!!\n");
  282. }
  283. void increaseStudent()
  284. {
  285. system("cls"); //清屏
  286. int i = n, j, flag,x=0; //i表示增加学生人数,x表示学生选课数
  287. printf("\n请输入增加学生人数:\n");
  288. scanf("%d", &m);
  289. if (m > 0)
  290. {
  291. do
  292. {
  293. //学生号输入及查重
  294. flag = 1;
  295. while (flag)
  296. {
  297. flag = 0;
  298. printf("----------------------------------------------\n");
  299. printf("\n请输入第%d个学生学号(例:0001):\n", i + 1);
  300. scanf("%d", &StuCourInfo[i].stuNo);
  301. //判断学号是否重复:
  302. for (j = 0; j < i; j++)
  303. {
  304. if (StuCourInfo[i].stuNo==StuCourInfo[j].stuNo)
  305. {
  306. printf("该学号已存在,请重新输入:\n");
  307. flag = 1;
  308. break;
  309. }
  310. }
  311. }
  312. //其他信息录入
  313. printf("**********************************************\n");
  314. printf("请输入该学生一共选修课程数:\n");
  315. scanf("%d", &x);
  316. printf("**********************************************\n");
  317. for (j = 0; j < x; j++)
  318. {
  319. printf("\n请输入第%d个学生第%d个选修课程号(例:001:大学英语):\n", i + 1,j+1);
  320. scanf("%s", &StuCourInfo[i].courseCode[j]);
  321. }
  322. for (; j < LEN; j++)
  323. {
  324. strcpy(StuCourInfo[i].courseCode[j], "*");//字符串赋值
  325. }
  326. i++;
  327. printf("----------------------------------------------\n");
  328. } while (i < n + m); //输入的学生人数没有达到;
  329. }
  330. n += m; //人数更新。
  331. save(0); //学生保存
  332. system("pause");
  333. system("cls");
  334. }
  335. //查询结果不需要清屏
  336. void classDisplay()
  337. {
  338. int i;
  339. system("cls"); //清屏
  340. printf("----------------------------------------------\n");
  341. printf("当前所有课程信息展示:\n");
  342. for (i = 0; i < c; i++)
  343. {
  344. printf("%d",i+1);
  345. printf("-课程编号:%s\t",CourseInfo[i].courseCode);
  346. printf("-课程名称:%s\t", CourseInfo[i].courseName);
  347. printf("-课程类型:%s\t", CourseInfo[i].courseType);
  348. printf("-总学时:%d\t", CourseInfo[i].totalPeriod);
  349. printf("-授课学时:%d\t", CourseInfo[i].classPeriod);
  350. printf("-上机学时:%d\t", CourseInfo[i].experiPeriod);
  351. printf("-学分:%.1f\t", CourseInfo[i].creditHour);
  352. printf("-开课学期:%d\t\n",CourseInfo[i].term);
  353. if ((i+1) % 10 == 0)
  354. {
  355. system("pause");
  356. system("cls");
  357. }
  358. }
  359. printf("展示完成!!\n");
  360. printf("----------------------------------------------\n");
  361. system("pause");
  362. }
  363. void studentDisplay()
  364. {
  365. int i,j;
  366. system("cls"); //清屏
  367. printf("----------------------------------------------\n");
  368. printf("当前所有学生信息展示:\n");
  369. for (i = 0; i < n; i++)
  370. {
  371. printf("%d", i + 1);
  372. printf("-学号:%05d\t已选课程编号:", StuCourInfo[i].stuNo);
  373. for (j = 0; j!=LEN; j++)
  374. {
  375. printf("\t-%s",StuCourInfo[i].courseCode[j]);
  376. }
  377. printf("\n");
  378. }
  379. printf("展示完成!!\n");
  380. printf("----------------------------------------------\n");
  381. system("pause");
  382. }
  383. void find()
  384. {
  385. system("cls"); //清屏
  386. int flag;
  387. printf("\n----------------------------------------------\n");
  388. printf("请选择查询方向:\n");
  389. printf("----》1、课程信息查询\n");
  390. printf("----》2、学生信息查询\n");
  391. scanf("%d",&flag);
  392. printf("----------------------------------------------\n");
  393. if (flag == 1)
  394. findClass();
  395. else
  396. findStudent();
  397. }
  398. void findClass()
  399. {
  400. int f = 1;
  401. printf("----------------------------------------------\n");
  402. printf("课程查询:\n");
  403. //***********************************************************************
  404. do
  405. {
  406. printf("1-->根据课程编号查询课程\n");
  407. printf("2-->根据课程名称查询课程\n");
  408. printf("3-->根据课程类别查询课程\n");
  409. printf("4-->根据开课学期查询课程\n");
  410. printf("5-->根据课程学分查询课程\n");
  411. printf("请输入您的查询条件编号:\n");
  412. int choice = 0;
  413. scanf("%d", &choice);
  414. if (choice == 1) {
  415. printf("请输入课程编号:\n");
  416. char courseCode[10];
  417. scanf("%s", courseCode);
  418. for (int i = 0; i < c; i++) {
  419. if (strcmp(courseCode, CourseInfo[i].courseCode) == 0) {
  420. printf("--》课程编号:%s 课程名称:%s 课程类型:%s 总学时:%d 授课学时:%d 上机学时:%d 学分:%.1f 开课学期:%d\n",
  421. CourseInfo[i].courseCode,
  422. CourseInfo[i].courseName,
  423. CourseInfo[i].courseType,
  424. CourseInfo[i].totalPeriod,
  425. CourseInfo[i].classPeriod,
  426. CourseInfo[i].experiPeriod,
  427. CourseInfo[i].creditHour,
  428. CourseInfo[i].term);
  429. }
  430. }
  431. printf("数据已经全部显示!\n");
  432. }
  433. else if (choice == 2) {
  434. printf("请输入课程名称:\n");
  435. char courseName[10];
  436. scanf("%s", courseName);
  437. for (int i = 0; i < c; i++) {
  438. if (strcmp(courseName, CourseInfo[i].courseName) == 0) {
  439. printf("%s %s %s %d %d %d %f %d\n",
  440. CourseInfo[i].courseCode,
  441. CourseInfo[i].courseName,
  442. CourseInfo[i].courseType,
  443. CourseInfo[i].totalPeriod,
  444. CourseInfo[i].classPeriod,
  445. CourseInfo[i].experiPeriod,
  446. CourseInfo[i].creditHour,
  447. CourseInfo[i].term);
  448. }
  449. }
  450. printf("数据已经全部显示!\n");
  451. }
  452. else if (choice == 3) {
  453. printf("请输入课程类别:\n");
  454. char courseType[10];
  455. scanf("%s", courseType);
  456. for (int i = 0; i < c; i++) {
  457. if (strcmp(courseType, CourseInfo[i].courseType) == 0) {
  458. printf("%s %s %s %d %d %d %f %d\n",
  459. CourseInfo[i].courseCode,
  460. CourseInfo[i].courseName,
  461. CourseInfo[i].courseType,
  462. CourseInfo[i].totalPeriod,
  463. CourseInfo[i].classPeriod,
  464. CourseInfo[i].experiPeriod,
  465. CourseInfo[i].creditHour,
  466. CourseInfo[i].term);
  467. }
  468. }
  469. printf("数据已经全部显示!\n");
  470. }
  471. else if (choice == 4) {
  472. printf("请输入开课学期:\n");
  473. int term = 0;
  474. scanf("%d", &term);
  475. for (int i = 0; i < c; i++) {
  476. if (term == CourseInfo[i].term) {
  477. printf("%s %s %s %d %d %d %f %d\n",
  478. CourseInfo[i].courseCode,
  479. CourseInfo[i].courseName,
  480. CourseInfo[i].courseType,
  481. CourseInfo[i].totalPeriod,
  482. CourseInfo[i].classPeriod,
  483. CourseInfo[i].experiPeriod,
  484. CourseInfo[i].creditHour,
  485. CourseInfo[i].term);
  486. }
  487. }
  488. printf("数据已经全部显示!\n");
  489. }
  490. else if (choice == 5) {
  491. printf("请输入学分:\n");
  492. float creditHour = 0.0;
  493. scanf("%f", &creditHour);
  494. for (int i = 0; i < c; i++) {
  495. if (creditHour == CourseInfo[i].creditHour) {
  496. printf("%s %s %s %d %d %d %f %d\n",
  497. CourseInfo[i].courseCode,
  498. CourseInfo[i].courseName,
  499. CourseInfo[i].courseType,
  500. CourseInfo[i].totalPeriod,
  501. CourseInfo[i].classPeriod,
  502. CourseInfo[i].experiPeriod,
  503. CourseInfo[i].creditHour,
  504. CourseInfo[i].term);
  505. }
  506. }
  507. printf("数据已经全部显示!\n");
  508. }
  509. else {
  510. printf("输入错误!!\n");
  511. }
  512. printf("\n");
  513. printf("是否继续查询?(1为是;0为否)\n");
  514. scanf("%d", &f);
  515. } while (f==1);
  516. //***********************************************************************
  517. printf("查询完成!!\n");
  518. system("pause");
  519. }
  520. void findStudent()
  521. {
  522. int i,number,j,f=1;
  523. printf("----------------------------------------------\n");
  524. printf("学生查询:\n");
  525. do
  526. {
  527. printf("请输入学生学号(例0001):\n");
  528. scanf("%d", &number);
  529. for (i = 0; i < n; i++)
  530. {
  531. if (number == StuCourInfo[i].stuNo)
  532. {
  533. printf("-学号:%05d\t已选课程编号:", StuCourInfo[i].stuNo);
  534. for (j = 0; j != LEN; j++)
  535. {
  536. printf("\t-%s", StuCourInfo[i].courseCode[j]);
  537. }
  538. printf("\n");
  539. break;
  540. }
  541. }
  542. printf("数据已经全部显示!\n");
  543. printf("是否继续查询?(1为是;0为否)\n");
  544. scanf("%d", &f);
  545. } while (f==1);
  546. printf("查询完成!!\n");
  547. system("pause");
  548. }
  549. void exitSys()
  550. {
  551. system("cls"); //清屏
  552. int h;//控制是否确认退出
  553. printf("即将退出,确认请按1,取消请按0\n");
  554. scanf("%d", &h);
  555. if (h == 1)
  556. {
  557. t = 0;//t是main函数中while函数是否继续执行的控制条件,是一个全局变量,程序开头已经定义并且赋值位 1
  558. printf("成功退出,感谢使用!\n");
  559. }
  560. if (h == 0)
  561. {
  562. printf("退出已取消!\n");
  563. system("pause");
  564. }
  565. }
  566. int main()
  567. {
  568. select();
  569. return 0;
  570. }

 5、实验报告如下:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/615719
推荐阅读
相关标签
  

闽ICP备14008679号