C语言实训报告

上传人:dus****log 文档编号:130924903 上传时间:2022-08-05 格式:DOCX 页数:30 大小:586.05KB
收藏 版权申诉 举报 下载
C语言实训报告_第1页
第1页 / 共30页
C语言实训报告_第2页
第2页 / 共30页
C语言实训报告_第3页
第3页 / 共30页
资源描述:

《C语言实训报告》由会员分享,可在线阅读,更多相关《C语言实训报告(30页珍藏版)》请在装配图网上搜索。

1、郑州轻工业学院实 训 报 告实训名称: 基本编程技能实训 成 绩: 时间: 2017 年 6 月 26 日至 2017 年 10月 20日一、题目1、电话簿管理系统2、商品销售管理系统3、基于内存的学籍管理系统(以windows系统实现为主,尝试Linux平台下的程序实现)二、实训的性质和任务1、巩固和强化学生的程序设计基本知识和基本技能,尤其是C语言的基本数据类型、构造类型、函数、指针、文件等等方面的基本知识和技能。2、培养和训练学生综合利用所学基本知识和基本技能进行小型应用程序开发的技能。3、培养学生适应岗位需要,独立分析问题、解决问题的基本能力,以及团队合作精神。三、实训的基本要求通过本

2、次实训,学生应达到以下几个方面的要求:1、素质要求以积极认真的态度对待本次实训,遵章守纪,团队协作。善于发现问题,分析问题,解决问题,努力培养自己的独立工作能力。2、知识要求熟练账务C语言的集成开发环境的使用,以及C语言的数据类型、语法、基本结构等。熟练掌握C语句的功能、用法以及函数的调用使用和头文件的使用等。3、能力要求学生应具有一定的项目分析能力、任务分解能力、组织实施能力以及理论练习实际应用的能力。学生应具有一定的查阅教材、各类相关资料及工具书的能力,进而养成自我学习的习惯。通过本次实训使学生基本能够把握C语言的精髓,并能够熟练使用C语言编写简单的程序和通过实际的分析、理论练习实际能够编

3、制出现实生活或模拟现实生活中简单的、常见的系统。四、实训内容及要求天/日期任务描述通过标准第1天说明系统功能,明确课题任务与涉及的要求、分配具体的任务。分析实训内容,讲解相关知识,引导学生入门。学生理解题目第2天学生具体分析第一个实训题目,明确思路和任务,并可以查询相关书籍、资料,设计出每一个模块的流程图;理解并设计相关的数据类型定义。画出相关流程图第3天编写printheader()、printdata()两个函数代码通过第4天编写Disp()、stringinput()两个函数代码通过第5天编写Locate()、Add()两个函数,完成定位和添加功能代码通过第6天编写Quran()、Del

4、()两个函数,完成查询和删除功能代码通过第7天编写Insert()、Modify()函数,实现插入和修改功能代码通过第8天编写Save()、SelectSort()两个函数,实现存盘和排序功能同上第9天编写函数main()函数,整合前面的功能模块,完成整个系统成功运行系统第10天学生具体分析第二个实训题目,明确思路和任务,并可以查询相关书籍、资料,设计出每一个模块的流程图;理解并设计相关的数据类型定义。画出相关流程图第11天建立录入函数系统,小规模数据实验,录入字符,数字,字母,以及三部分内容的混合形式代码通过第12天对录入的数据实现修改,还原,删除通过代码测试第13天用户名的增加,新建,删除

5、用户画出流程图第14天数据的查询 ,数据查询函数的应用,小样本数据实验代码通过第15天以链表形式来保存数据,链表结构体的混合使用界面建立完毕第16天掌握内存函数malloc(size), calloc()函数的使用内存空间分配通过第17天实现文件的读取操作代码通过第18天实现查询和更新功能代码通过第19天实现统计功能代码通过第20天答辩按照要求完成任务,阐述清楚。第21天撰写实训报告格式满足相关文档要求五、考核指标及成绩评定实训成绩评定方法: 平时成绩(20%)+验收与答辩(50%)+实训报告(30%)=总评成绩验收与答辩成绩评定标准:1、全部完成90-1002、主要功能完成70-903、部分

6、功能完成60-704、少部分完成40-605、几乎没做0-40完 成 期 限: 2017年10月20日 指导教师签名: 2017年 6 月 26 日目录1实训简介4 1.1实训任务41.2 题目简介41.3 主要内容41.4 基本要求42 总体设计流程5 2.1 总体设计思路5 2.2 设计流程5 2.3 包含的模块53 系统详细设计63.1主函数63.2各功能模块设计74 设计的实现95 总结116参考文献121 实训简介1.1 实训任务1、巩固和强化学生的程序设计基本知识和基本技能,尤其是C语言的基本数据类型、构造类型、函数、指针、文件等等方面的基本知识和技能。2、培养和训练学生综合利用所

7、学基本知识和基本技能进行小型应用程序开发的技能。3、培养学生适应岗位需要,独立分析问题、解决问题的基本能力,以及团队合作精神。1.2题目简介电话簿管理系统是具有数据插入、更新、删除、显示和查询功能的电话簿管理程序。1.3主要内容(1)数据包括姓名、工作单位、电话号码和E-MAIL地址等。(2)可对记录中的姓名和电话号码进行更新。(3)可增加和删除记录。(4)可显示所有的保存的记录。(5)可按姓名或电话号码进行查询。1.4基本要求通过本次实训,应达到以下几个方面的要求:1、素质要求以积极认真的态度对待本次实训,遵章守纪,团队协作。善于发现问题,分析问题,解决问题,努力培养自己的独立工作能力。2、

8、知识要求熟练C语言的集成开发环境的使用,以及C语言的数据类型、语法、基本结构等。熟练掌握C语句的功能、用法以及函数的调用使用和头文件的使用等。3、能力要求应具有一定的项目分析能力、任务分解能力、组织实施能力以及理论练习实际应用的能力。学生应具有一定的查阅教材、各类相关资料及工具书的能力,进而养成自我学习的习惯。通过本次实训使学生基本能够把握C语言的精髓,并能够熟练使用C语言编写简单的程序和通过实际的分析、理论练习实际能够编制出现实生活或模拟现实生活中简单的、常见的系统。2 总体设计流程2.1 总体设计思路根据上面的要求可知,系统有菜单选择、数据输入、数据查找、数据更新、数据的存储等功能。显示一

9、系列功能选项开始输入n,判断n是否是16根据n的值调用各功能模块函数结束2.2设计流程 图2-1 主程序流程图2.3 包含的模块可以将系统设计分为四大模块,即显示、查找、更新(包括增加和删除)和退出,如图2-2所示。其中,主要功能是显示、查询和更新三个模块。 图2-2 系统功能模块图 3 系统详细设计3.1 主函数主函数设计比较简洁,只提供输入、功能处理和输出部分得函数调用。其中各功能模块采用菜单方式选择。程序如下:int main()struct person a100;int A100,i,X;for(i=0;i100;i+)Ai=i;doprintf(*菜单*n);printf( 请选择

10、要进行的操作n);printf( 1 : 输入联系人信息n);printf( 2 : 分屏显示所有联系人信息n);printf( 3 : 查找联系人信息n);printf( 4 : 删除联系人信息n);printf( 5 : 增加联系人信息n);printf( 6 : 修改联系人信息n);printf( 0 : 退出n);printf(*菜单*n);scanf(%d,&X);switch(X) case 1: fun1(a,A);break; case 2: fun2(a,A);break; case 3: fun3(a,A);break; case 4: fun4(a,A);break; c

11、ase 5: fun5(a,A);break; case 6: fun6(a,A);break; while(X!=0);3.2 各功能模块设计数据结构:通讯录的各类数据信息均用字符型数组,用结构体的形式,把各个信息作为结构的成员。结构体的变量可以是指针类型,结构体的类型如下:struct personchar name20; char WP20;char PN20;char MPN20;char FZ20;char EM20;char QQ20; fun1 (struct person b100,int B100):输入联系人信息函数。本函数通过do while 循环语句进行对联系人各类信息

12、的输入。void fun2 (struct person F100,int h100):分屏显示联系人信息函数。利用if else语句和嵌套for语句作为循环体通过结构体数组来进行对存储的联系人的各类信息分屏显示。定义一个输出结构数组,定义一个数p,k=0,分屏显示所有联系人,十个联系人为一页,t+1为页数,判断如果t为0,运用一个for循环输出所有联系人信息,则所有数据在一页显示,否则运用一个双重循环,第一层循环为显示的页数循环,第二层循环为输出每页的联系人信息,在显示完一页之后,输入p,如果P为1,则运用system(“cls”),清除屏幕,运用循环操作继续执行显示操作,直到k|n); p

13、rintf(| 0退出销售管理系统 |n);printf(| 1销售员信息录入 |n);printf(| 2销售员信息显示 |n);printf(| 3销售额信息保存 |n);printf(| 4产品总销售额由大到小排序 |n); printf(| 5统计产品销售额信息 |n);printf(| 6插入销售员及其信息 |n);printf(| 7删除销售员及其信息 |n);printf(|n);printf(| 请选择系统的功能项 |n);printf(-n);scanf(%d,&i);switch(i)case 0: printf(o 退出销售管理系统 on); exit(0);break;

14、case 1: printf(-销售员信息录入-n); input();break;case 2: printf(-销售员信息显示-n); show();break;case 3: printf(-销售额信息保存-n); save();break;case 4: printf(-总销售额信息排序-n); sort();break;case 5: printf(-统计产品销售额信息-n); statistics_sailer();break;case 6: printf(-插入销售员及其信息-n); insert();break;case 7: printf(-删除销售员及其信息-n); del

15、();break;default:printf(输入错误,请重新选择!); break;销售管理主界面显示功能选择销售管理信息输入销售管理信息修改销售管理信息查询销售管理信息导入销售管理信息导出销售管理信息删除图2-23.2 各功能模块设计数据结构:销售管理系统的各类数据信息均用字符型数组,用结构体的形式,把各个信息作为结构的成员。结构体的变量可以是指针类型,结构体的类型如下:struct seller char num10;char name20;int sailerl; int sailerm;int sum;seller200;void input():销售员信息输入函数void inp

16、ut()int i;printf(请输入销售员个数n);scanf(%d,&n);for(i=0;in;i+)printf(输入销售员姓名:n);scanf(%s,selleri.name); printf(输入销售员工号:n); scanf(%s,selleri.num); printf(请分别输入产品一和产品二的销售额:n);scanf(%d%d,&selleri.sailerl,&selleri.sailerm); system(cls); void show ():销售员信息显示函数void show () struct seller *p;system(cls);printf(姓名

17、工号 产品一销售额 产品二销售额:n); for(p=seller;pname,p-num,p-sailerl,p-sailerm); printf(nn);void save ():销售员信息保存函数void save ()FILE *fp;int i;fp=fopen(seller.txt,w);for(i=0;in;i+) fwrite(&selleri,sizeof(struct seller),1,fp); system(cls);printf(nn);printf(保存成功!n); printf(nn);void sort():总销售额信息排序函数void sort()struct

18、 seller temp;int i,j;for(i=0;in;i+)selleri.sum=selleri.sailerl+selleri.sailerm;for(j=0;jn-1;j+)for(i=0;in-1-j;i+)if(selleri.sumselleri+1.sum)temp=selleri;selleri=selleri+1;selleri+1=temp;system(cls);printf(姓名 工号 产品一销售额 产品二销售额 产品总销售额:n);for(i=0;in;i+)printf(n%st%st%dt%8dt%8dn,selleri.name,selleri.num

19、,selleri.sailerl,selleri.sailerm,selleri.sum);void statistics_sailer ():统计产品销售额信息函数void statistics_sailer ()int i,sum1,sum2,sum;sum1=0;sum2=0;sum=0; for(i=0;in;i+)sum1+=selleri.sailerl;sum2+=selleri.sailerm;sum=sum1+sum2;system(cls); printf(产品一的销售额:%dn,sum1); printf(产品二的销售额:%dn,sum2); printf(产品总的销售额

20、:%dn,sum);void insert():插入数据函数void insert() char ch; doprintf(ntt输入新插入销售员信息n);printf(n输入销售员姓名:);fflush(stdin);gets(sellern.name); printf(n输入销售员工号:);scanf(%s,sellern.num);fflush(stdin);printf(n输入产品一销售额:);fflush(stdin);scanf(%d,&sellern.sailerl);printf(n输入产品二销售额:);fflush(stdin);scanf(%d,&sellern.saile

21、rm);printf(nn);n=n+1;sort();printf(是否继续输入?(Y/N);ch=getch();system(cls);while(ch!=N);void del():删除数据函数void del()char seller_name20;int i,j;printf(输入要删除销售员的姓名:);fflush(stdin);scanf(%s,seller_name);for(i=0;in;i+)if(strcmp(seller_name,selleri.name)=0)for(j=i;jn;j+)selleri=selleri+1;n=n-1;break; save();s

22、ystem(cls);4 设计的实现1、主菜单销售员信息输入图4-12、销售员信息显示图4-23、销售额信息保存图4-34、产品销售额有大到小排序图4-45、统计产品销售额信息图4-56、插入销售员及其信息图4-67、删除销售员及其信息图4-75总结在这次实训中,让我感觉到了许多以前从未有过的经历,实训过程中曾经想放弃过,因为实在太复杂,感觉太困难,但经过自己的努力和老师耐心指导,最终我们还是完成了设计任务,看到程序运行的正确结果,内心充满无限的辛慰和自豪。虽然不是很优秀,但是还是有一种充实的感觉。总之,编程尤其是调试是一项细致深入的工作,需要下工夫、动脑子、善于积累经验,只有这样不断的努力,锻炼自己,才能在这方面不断提高。同时,我也深深地体会到,只有把理论基础打好,在实践中才能得心应手。6参考文献1甘勇.语言程序设计. 河南科学技术出版社. 2016年2谭浩强.C程序设计(第四版)清华大学出版社. 20085 StephenPrata.C Primer Plus (第6版) 中文版. 人民邮电出版社. 2016年实训成绩评定表成绩采用五级分制:优、良、中、及格、不及格指导教师评语: 签 名: 年 月 日29

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!