通讯录管理系统大数据结构课程设计.docx
《通讯录管理系统大数据结构课程设计.docx》由会员分享,可在线阅读,更多相关《通讯录管理系统大数据结构课程设计.docx(30页珍藏版)》请在冰豆网上搜索。
通讯录管理系统大数据结构课程设计
C语言课程设计:
通讯录管理系统
一、需求分析………………………………………………………2
二、概要设计………………………………………………………2
三、详细设计………………………………………………………3
四、上机操作………………………………………………………14
五、实习心得………………………………………………………19
六、源程序………………………………………………………20
一、需求分析
具有数据的插入、修改、删除、显示和查询功能的簿管理程序。
(1)数据包括:
人名、工作单位、和地址。
(2)可对记录中的某某和进展修改。
(3)可增加和删除记录。
(4)可显示所有的保存记录。
(5)可按人名或进展查询。
[提示]
建议采用结构体数组和文件系统实现。
结构体成员包括人名、工作单位、和地址。
根据题目的要求程序应该采用结构体数组和文件系统实现。
应该有文件的操作功能;在程序中应该包括输入、显示、删除、查询、添加、修改、保存、加载和退出的功能。
二、概要设计
根据上面的分析,可以将程序系统的设计分为如下几个模块:
插入、显示、删除、查询、修改、保存和退出。
三、详细设计
1、主函数;
主函数一般设计得比拟简洁,只提供输入,处理和输出局部的函数调用。
其中各功能模块用菜单方式选择。
流程图
N
Y
【程序】
intmain()//主函数
{
Manman[500],*pman=man;;
charcontrol;
intsize;
printf("\t\t**********************************************\n");//窗口初始化
printf("\t\t**********欢迎使用通讯录管理系统!
***********\n");
printf("\t\t*--------------------------------------------*\n");
printf("\t\t*请按回车键继续!
*\n");
printf("\t\t**********************************************\n");
scanf("%c",&control);
if(control)
size=Scan(pman);//判断文件是否存在
printf("\t\t\t请输入相应操作数操作\n");
for(;;)//菜单生成
printf("\t\t*1--插入信息*\n");
printf("\t\t*2--按某某查找*\n");
printf("\t\t*3--按查找*\n");
printf("\t\t*4--删除信息*\n");
printf("\t\t*5--显示信息*\n");
printf("\t\t*6--修改信息*\n");
printf("\t\t*0--退出系统*\n");
scanf("%s",&control);
switch(control)
case'1':
size=Insert(pman,size);break;//插入新的通讯录
case'2':
S_asname(pman,size);break;//按某某查找
case'3':
S_astel(pman,size);break;//按查找
case'4':
Delete(pman,size);break;//删除信息
case'5':
Display(pman,size);break;//显示所有信息
case'6':
Modify(pman,size);break;//修改信息
case'0':
printf("**************谢谢使用!
再见!
**************\n");//退出系统
return0;
default:
printf("**********输入数字有误,请重新输入**********\n");break;
}
2、插入模块
此模块为插入信息模块,插入后再调用保存函数来保存所插入的数据,支持多条信息的插入。
intInsert(Man*pMan,intSize)//插入模块
inti,n;
printf("\t\t***********请输入要插入数据的个数.************\n");
scanf("%d",&n);
for(i=0;i{printf("您将要录入第%d条记录(共有%d条)\n",i+1,n);printf("请输入某某:\n");scanf("%s",&pMan[Size+i].Name);printf("请输入工作单位:\n");scanf("%s",&pMan[Size+i].Depart);printf("请输入:\n");scanf("%s",&pMan[Size+i].TEL);printf("请输入Email地址:\n");scanf("%s",&pMan[Size+i].Email);}if(Save(pMan,Size+n)){printf("\t\t***********恭喜!数据插入成功!***********\n");}else{printf("\t\t***********操作失败,请稍后再试!***********\n");}returnSize+n;}3、显示模块此模块为显示所有记录,流程图如下:【程序】voidDisplay(Man*pMan,intSize)//显示所有记录{inti;printf("\t人名\t工作单位\t\t地址\n");printf("\t************************************************************\n");for(i=0;i<=Size;i++,pMan++)//依次输出文件中的信息{printf("\t%s\t\t%s\t%s\t%s\n",pMan->Name,pMan->Depart,pMan->TEL,pMan->Email);printf("\t-----------------------------------------------------------\n");}} 4、查找模块本模块分为按某某查找和按查找两个子模块。4.1按某某查找模块,流程图如下:【程序】voidS_asname(Man*pMan,intSize)//查找信息{inti=0;charname[8];printf("\t\t***********请输入要查询信息的某某:***********\n");printf("\t\t**********************************************\n");scanf("%s",name);while(iName,name))//查找{pMan++;i++;}if(!strcmp(pMan->Name,name))//找到后输出{printf("\t\t***************查到的信息为:***************\n");printf("\t*************************************************************\n");printf("\t人名\t工作单位\t\t地址\n");printf("\t*************************************************************\n");printf("\t%s\t\t%s\t%s\t%s\n",pMan->Name,pMan->Depart,pMan->TEL,pMan->Email);printf("\t*************************************************************\n");}else{printf("\t\t***********抱歉,没有找到相关数据************\n");printf("\t\t**********************************************\n");}}4.2按查找模块,此模块与按某某查找模块相似,流程图略。【程序】voidS_astel(Man*pMan,intSize)//按查找模块{inti=0;chartel[12];printf("\t\t***********请输入要查询信息的:************\n");printf("\t\t**********************************************\n");scanf("%s",tel);while(iTEL,tel))//查找信息{pMan++;i++;}if(!strcmp(pMan->TEL,tel))//输出找到的信息{printf("\t\t****************查到的信息为:****************\n");printf("\t*******************************************************\n");printf("\t人名\t工作单位\t\t地址\n");printf("\t*******************************************************\n");printf("\t%s\t\t%s\t%s\t%s\n",pMan->Name,pMan->Depart,pMan->TEL,pMan->Email);printf("\t*******************************************************\n");}else{printf("\t\t************抱歉,没有找到相关数据************\n");printf("\t\t**********************************************\n");}}5、删除模块此模块先利用查找模块找到所要删除的信息,然后根据用户的选择来确定是否删除信息,此种调用到Save函数。其流程图如下:【程序】voidDelete(Man*pMan,intSize)//删除信息{charname[8],control;inti=0;printf("\t\t***********请输入要删除信息的某某:***********\n");printf("\t\t**********************************************\n");scanf("%s",name);while(iName,name))//同查找,找到后跳出{pMan++;i++;}if(!strcmp(pMan->Name,name))//找到了,删除信息!做出判断.{printf("您要删除的信息为:\n");printf("%s\t\t%s\t%s\t%s\n",pMan->Name,pMan->Depart,pMan->TEL,pMan->Email);printf("是否确认删除?〔Y/N〕\n");scanf("%s",&control);switch(control){case'y':pMan->Name[0]='\0';pMan->Depart[0]='\0';pMan->TEL[0]='\0';pMan->Email[0]='\0';if(Save(pMan,Size))//将新信息写入文件{printf("\t\t**************恭喜!信息删除成功!**************\n");;printf("\t\t**********************************************\n");break;}else{printf("\t\t************操作失败,请稍后再试!*************\n");printf("\t\t**********************************************\n");break;}case'n':printf("信息未删除!\n");break;default:printf("选择有误!\n");break;}}else{printf("\t\t*********抱歉,没有找到相关信息!*********\n");printf("\t\t******************************************\n");}}6、修改模块此模块先调用查找函数查找到所要修改的信息,然后用户根据需要来修改信息。流程图如下:【程序】voidModify(Man*pMan,intSize)//修改模块{voidDisplay();inti=0;charname[8];chardepart[20];chartel[12];charemail[30];printf("\t\t************输入要修改信息的某某:************\n");printf("\t\t**********************************************\n");scanf("%s",name);while(iName,name))//遍历数组,查找数据,假如查到跳出循环{pMan++;i++;}if(!strcmp(pMan->Name,name))//如果找到,如此开始修改{printf("请输入修改后的某某:\n");scanf("%s",name);strcpy(pMan->Name,name);printf("请输入修改后的工作单位:\n");scanf("%s",depart);strcpy(pMan->Depart,depart);printf("请输入修改后的:\n");scanf("%s",tel);strcpy(pMan->TEL,tel);printf("请输入修改后的地址:\n");scanf("%s",email);strcpy(pMan->Email,email);if(Save(pMan,Size))//将修改信息写入文件,并判断是否写入成功{printf("\t\t**************恭喜!信息修改成功!**************\n");;printf("\t\t**********************************************\n");}else{printf("\t\t*************操作失败,请稍后再试!*************\n");printf("\t\t**********************************************\n");}}else{printf("\t\t************抱歉,没有找到相关信息!************\n");printf("\t\t**********************************************\n");}}7、其他模块【程序】structMan//定义结构体{charName[8];//名字charDepart[20];//工作单位charTEL[12];//charEmail[30];//};【程序】intSave(Man*pMan,intSize)//把数据写入文件{inti;FILE*out;out=fopen("info.txt","w");if(out==NULL)//判断文件打开成功与否{printf("\t\t************文件info.txt打开失败!************\n");printf("\t\t**********************************************\n");return0;}for(i=0;i{fprintf(out,"%s\t%s\t%s\t%s\n",pMan->Name,pMan->Depart,pMan->TEL,pMan->Email);}fclose(out);return1;}【程序】intScan(Man*pMan)//从文本中读取数据{printf("\t\t**********正在读取文件信息,请稍后!***********\n");inti;FILE*in=fopen("info.txt","r");if(in==NULL)//判断文件是否打开成功{printf("\t\t***********文件info.txt打开失败!***********\n");return0;}for(i=0;!feof(in);i++,pMan++)//打开成功后一一读取,直到读完为止fscanf(in,"%s%s%s%s",pMan->Name,pMan->Depart,pMan->TEL,pMan->Email);fclose(in);printf("\t\t*************文件数据读入成功!*************\n");return(i-1);}7.4getch()函数【程序】voidgetch(){charstop;printf("\n确认?(按任意键并回车返回!)\n");getchar();scanf("%c",&stop);return;}四、上机操作〕namedepartphoneemail 2、要插入的信息namedepartphoneemail 3、各模块功能的实现〔1〕窗口的初始化〔2〕主菜单〔3〕显示所有信息〔4〕插入信息第一条第二条(6)按某某查找模块(7)按查找模块(8)删除没有的信息删除已有信息取消删除确认删除〔9〕退出系统 五、实习心得在教师的带领下进展了C语言程序实践学习。在短短一周的实习期间使我获取了不少新知识也巩固了许多老知识。在这之前,我们已经对C语言这门课程学习了一个学期,对其有了一定的了解,但是也仅仅是停留在学习了解的X围,对里面的好多东西还是很陌生,并不是很熟练,有着许多欠缺,更多的在运用起来的时候还是感到很不好动手。C语言是需要有一定根底、而且动手能力强的学科。上机实验是学习程序设计语言必不可少的实践环节,特别是C语言灵活、简洁,更需要通过编程的实践来真正掌握它。对于程序设计语言的学习目的,可以概括为学习语法规定、巩固贯穿系统知识、掌握程序设计方法、提高程序设计能力,这些都必须通过充分的实际上机操作才能完成。课堂上许多关于C语言的语法规如此,听起来十分枯燥无味,也不容易记住,死记硬背是不可取的。然而要使用C语言这个工具解决实际问题,又必须掌握它。通过屡次上机练习,对于语法知识有了感性的认识,加深对它的理解,在理解的根底上就会自然而然地掌握C语言的语法规定。对于一些内容自己认为在课堂上听懂了,但上机实践中会发现原来理解的偏差,更加巩固了学过的知识,而且在设计的时候学要系统的知识,也是一个较大的挑战,某一方面知识的欠缺都将影响到整个程序的设计。这次上机实习让我学到了很多有用的东西,巩固了之前的学习,让我学到了在教室和做题中学不到的一些知识,通过这个程序的学习,使我进一步理解和运用结构化程序设计的思想和方法。相信对以后初步掌握开发一个小型实用系统的根本方法,学会调试一个比拟长程序的根本方法,学会利用流程图表示算法,进一步掌握和提高利用C语言进展程序设计的能力。我认为,这次实习对于我是非常有意义的,对我个人的影响比拟大,对我的动手能力有了很大的提高。在体会到程序成功后的快乐后,发现自己也逐步喜欢上了这门语言,对以后的专业知识的学习也会很有帮助。最后感谢在实习过程中帮助过我的教师和同学,正是你们的帮助才有了这次实习的成功! 六、源程序#include#includestructMan//定义结构体{charName[8];//名字charDepart[20];//工作单位charTEL[12];//charEmail[30];//}; voidgetch(){charstop;printf("\n确认?(按任意键并回车返回!)\n");getchar();scanf("%c",&stop);return;} intScan(Man*pMan)//从文本中读取数据{printf("\t\t**********正在读取文件信息,请稍后!***********\n");inti;FILE*in=fopen("info.txt","r");if(in==NULL)//判断文件是否打开成功{printf("\t\t***********文件info.txt打开失败!***********\n");return0;}for(
{printf("您将要录入第%d条记录(共有%d条)\n",i+1,n);
printf("请输入某某:
\n");
scanf("%s",&pMan[Size+i].Name);
printf("请输入工作单位:
scanf("%s",&pMan[Size+i].Depart);
printf("请输入:
scanf("%s",&pMan[Size+i].TEL);
printf("请输入Email地址:
scanf("%s",&pMan[Size+i].Email);
if(Save(pMan,Size+n))
printf("\t\t***********恭喜!
数据插入成功!
else
printf("\t\t***********操作失败,请稍后再试!
returnSize+n;
3、显示模块
此模块为显示所有记录,流程图如下:
voidDisplay(Man*pMan,intSize)//显示所有记录
inti;
printf("\t人名\t工作单位\t\t地址\n");
printf("\t************************************************************\n");
for(i=0;i<=Size;i++,pMan++)//依次输出文件中的信息
printf("\t%s\t\t%s\t%s\t%s\n",pMan->Name,pMan->Depart,pMan->TEL,pMan->Email);
printf("\t-----------------------------------------------------------\n");
4、查找模块
本模块分为按某某查找和按查找两个子模块。
4.1按某某查找模块,流程图如下:
voidS_asname(Man*pMan,intSize)//查找信息
inti=0;
charname[8];
printf("\t\t***********请输入要查询信息的某某:
scanf("%s",name);
while(iName,name))//查找
pMan++;
i++;
if(!
strcmp(pMan->Name,name))//找到后输出
printf("\t\t***************查到的信息为:
***************\n");
printf("\t*************************************************************\n");
printf("\t\t***********抱歉,没有找到相关数据************\n");
4.2按查找模块,此模块与按某某查找模块相似,流程图略。
voidS_astel(Man*pMan,intSize)//按查找模块
chartel[12];
printf("\t\t***********请输入要查询信息的:
************\n");
scanf("%s",tel);
while(iTEL,tel))//查找信息
strcmp(pMan->TEL,tel))//输出找到的信息
printf("\t\t****************查到的信息为:
****************\n");
printf("\t*******************************************************\n");
printf("\t\t************抱歉,没有找到相关数据************\n");
5、删除模块
此模块先利用查找模块找到所要删除的信息,然后根据用户的选择来确定是否删除信息,此种调用到Save函数。
其流程图如下:
voidDelete(Man*pMan,intSize)//删除信息
charname[8],control;
printf("\t\t***********请输入要删除信息的某某:
while(iName,name))//同查找,找到后跳出
strcmp(pMan->Name,name))//找到了,删除信息!
做出判断.
printf("您要删除的信息为:
printf("%s\t\t%s\t%s\t%s\n",pMan->Name,pMan->Depart,pMan->TEL,pMan->Email);
printf("是否确认删除?
〔Y/N〕\n");
case'y':
pMan->Name[0]='\0';
pMan->Depart[0]='\0';
pMan->TEL[0]='\0';
pMan->Email[0]='\0';
if(Save(pMan,Size))//将新信息写入文件
printf("\t\t**************恭喜!
信息删除成功!
**************\n");;
printf("\t\t**********************************************\n");break;
printf("\t\t************操作失败,请稍后再试!
*************\n");
case'n':
printf("信息未删除!
\n");break;
printf("选择有误!
printf("\t\t*********抱歉,没有找到相关信息!
*********\n");
printf("\t\t******************************************\n");
6、修改模块
此模块先调用查找函数查找到所要修改的信息,然后用户根据需要来修改信息。
流程图如下:
voidModify(Man*pMan,intSize)//修改模块
voidDisplay();
chardepart[20];
charemail[30];
printf("\t\t************输入要修改信息的某某:
while(iName,name))//遍历数组,查找数据,假如查到跳出循环
strcmp(pMan->Name,name))//如果找到,如此开始修改
printf("请输入修改后的某某:
strcpy(pMan->Name,name);
printf("请输入修改后的工作单位:
scanf("%s",depart);
strcpy(pMan->Depart,depart);
printf("请输入修改后的:
strcpy(pMan->TEL,tel);
printf("请输入修改后的地址:
scanf("%s",email);
strcpy(pMan->Email,email);
if(Save(pMan,Size))//将修改信息写入文件,并判断是否写入成功
信息修改成功!
printf("\t\t*************操作失败,请稍后再试!
printf("\t\t************抱歉,没有找到相关信息!
7、其他模块
structMan//定义结构体
charName[8];//名字
charDepart[20];//工作单位
charTEL[12];//
charEmail[30];//
};
intSave(Man*pMan,intSize)//把数据写入文件
FILE*out;
out=fopen("info.txt","w");
if(out==NULL)//判断文件打开成功与否
printf("\t\t************文件info.txt打开失败!
for(i=0;i{fprintf(out,"%s\t%s\t%s\t%s\n",pMan->Name,pMan->Depart,pMan->TEL,pMan->Email);}fclose(out);return1;}【程序】intScan(Man*pMan)//从文本中读取数据{printf("\t\t**********正在读取文件信息,请稍后!***********\n");inti;FILE*in=fopen("info.txt","r");if(in==NULL)//判断文件是否打开成功{printf("\t\t***********文件info.txt打开失败!***********\n");return0;}for(i=0;!feof(in);i++,pMan++)//打开成功后一一读取,直到读完为止fscanf(in,"%s%s%s%s",pMan->Name,pMan->Depart,pMan->TEL,pMan->Email);fclose(in);printf("\t\t*************文件数据读入成功!*************\n");return(i-1);}7.4getch()函数【程序】voidgetch(){charstop;printf("\n确认?(按任意键并回车返回!)\n");getchar();scanf("%c",&stop);return;}四、上机操作〕namedepartphoneemail 2、要插入的信息namedepartphoneemail 3、各模块功能的实现〔1〕窗口的初始化〔2〕主菜单〔3〕显示所有信息〔4〕插入信息第一条第二条(6)按某某查找模块(7)按查找模块(8)删除没有的信息删除已有信息取消删除确认删除〔9〕退出系统 五、实习心得在教师的带领下进展了C语言程序实践学习。在短短一周的实习期间使我获取了不少新知识也巩固了许多老知识。在这之前,我们已经对C语言这门课程学习了一个学期,对其有了一定的了解,但是也仅仅是停留在学习了解的X围,对里面的好多东西还是很陌生,并不是很熟练,有着许多欠缺,更多的在运用起来的时候还是感到很不好动手。C语言是需要有一定根底、而且动手能力强的学科。上机实验是学习程序设计语言必不可少的实践环节,特别是C语言灵活、简洁,更需要通过编程的实践来真正掌握它。对于程序设计语言的学习目的,可以概括为学习语法规定、巩固贯穿系统知识、掌握程序设计方法、提高程序设计能力,这些都必须通过充分的实际上机操作才能完成。课堂上许多关于C语言的语法规如此,听起来十分枯燥无味,也不容易记住,死记硬背是不可取的。然而要使用C语言这个工具解决实际问题,又必须掌握它。通过屡次上机练习,对于语法知识有了感性的认识,加深对它的理解,在理解的根底上就会自然而然地掌握C语言的语法规定。对于一些内容自己认为在课堂上听懂了,但上机实践中会发现原来理解的偏差,更加巩固了学过的知识,而且在设计的时候学要系统的知识,也是一个较大的挑战,某一方面知识的欠缺都将影响到整个程序的设计。这次上机实习让我学到了很多有用的东西,巩固了之前的学习,让我学到了在教室和做题中学不到的一些知识,通过这个程序的学习,使我进一步理解和运用结构化程序设计的思想和方法。相信对以后初步掌握开发一个小型实用系统的根本方法,学会调试一个比拟长程序的根本方法,学会利用流程图表示算法,进一步掌握和提高利用C语言进展程序设计的能力。我认为,这次实习对于我是非常有意义的,对我个人的影响比拟大,对我的动手能力有了很大的提高。在体会到程序成功后的快乐后,发现自己也逐步喜欢上了这门语言,对以后的专业知识的学习也会很有帮助。最后感谢在实习过程中帮助过我的教师和同学,正是你们的帮助才有了这次实习的成功! 六、源程序#include#includestructMan//定义结构体{charName[8];//名字charDepart[20];//工作单位charTEL[12];//charEmail[30];//}; voidgetch(){charstop;printf("\n确认?(按任意键并回车返回!)\n");getchar();scanf("%c",&stop);return;} intScan(Man*pMan)//从文本中读取数据{printf("\t\t**********正在读取文件信息,请稍后!***********\n");inti;FILE*in=fopen("info.txt","r");if(in==NULL)//判断文件是否打开成功{printf("\t\t***********文件info.txt打开失败!***********\n");return0;}for(
fprintf(out,"%s\t%s\t%s\t%s\n",pMan->Name,pMan->Depart,pMan->TEL,pMan->Email);
fclose(out);
return1;
intScan(Man*pMan)//从文本中读取数据
printf("\t\t**********正在读取文件信息,请稍后!
FILE*in=fopen("info.txt","r");
if(in==NULL)//判断文件是否打开成功
printf("\t\t***********文件info.txt打开失败!
for(i=0;!
feof(in);i++,pMan++)//打开成功后一一读取,直到读完为止
fscanf(in,"%s%s%s%s",pMan->Name,pMan->Depart,pMan->TEL,pMan->Email);
fclose(in);
printf("\t\t*************文件数据读入成功!
return(i-1);
7.4getch()函数
voidgetch()
charstop;
printf("\n确认?
(按任意键并回车返回!
)\n");
getchar();
scanf("%c",&stop);
return;
四、上机操作
〕
namedepartphoneemail
2、要插入的信息
3、各模块功能的实现
〔1〕窗口的初始化
〔2〕主菜单
〔3〕显示所有信息
〔4〕插入信息
第一条
第二条
(6)按某某查找模块
(7)按查找模块
(8)删除没有的信息
删除已有信息
取消删除
确认删除
〔9〕退出系统
五、实习心得
在教师的带领下进展了C语言程序实践学习。
在短短一周的实习期间使我获取了不少新知识也巩固了许多老知识。
在这之前,我们已经对C语言这门课程学习了一个学期,对其有了一定的了解,但是也仅仅是停留在学习了解的X围,对里面的好多东西还是很陌生,并不是很熟练,有着许多欠缺,更多的在运用起来的时候还是感到很不好动手。
C语言是需要有一定根底、而且动手能力强的学科。
上机实验是学习程序设计语言必不可少的实践环节,特别是C语言灵活、简洁,更需要通过编程的实践来真正掌握它。
对于程序设计语言的学习目的,可以概括为学习语法规定、巩固贯穿系统知识、掌握程序设计方法、提高程序设计能力,这些都必须通过充分的实际上机操作才能完成。
课堂上许多关于C语言的语法规如此,听起来十分枯燥无味,也不容易记住,死记硬背是不可取的。
然而要使用C语言这个工具解决实际问题,又必须掌握它。
通过屡次上机练习,对于语法知识有了感性的认识,加深对它的理解,在理解的根底上就会自然而然地掌握C语言的语法规定。
对于一些内容自己认为在课堂上听懂了,但上机实践中会发现原来理解的偏差,更加巩固了学过的知识,而且在设计的时候学要系统的知识,也是一个较大的挑战,某一方面知识的欠缺都将影响到整个程序的设计。
这次上机实习让我学到了很多有用的东西,巩固了之前的学习,让我学到了在教室和做题中学不到的一些知识,通过这个程序的学习,使我进一步理解和运用结构化程序设计的思想和方法。
相信对以后初步掌握开发一个小型实用系统的根本方法,学会调试一个比拟长程序的根本方法,学会利用流程图表示算法,进一步掌握和提高利用C语言进展程序设计的能力。
我认为,这次实习对于我是非常有意义的,对我个人的影响比拟大,对我的动手能力有了很大的提高。
在体会到程序成功后的快乐后,发现自己也逐步喜欢上了这门语言,对以后的专业知识的学习也会很有帮助。
最后感谢在实习过程中帮助过我的教师和同学,正是你们的帮助才有了这次实习的成功!
六、源程序
#include
for(
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1