C语言实训报告

上传人:suij****uang 文档编号:57728999 上传时间:2022-02-24 格式:DOC 页数:30 大小:889.50KB
收藏 版权申诉 举报 下载
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(

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

5、通过母,以及三部分内容的混合形式第 12天对录入的数据实现修改,还原,删除通过代码测试第 13天用户名的增加,新建,删除用户画出流程图第 14天数据的查询 ,数据查询函数的应用,小样本数据实验代码通过第 15天以链表形式来保存数据,链表结构体的混合使用界面建立完毕第 16天掌握内存函数 malloc(size),calloc() 函数的使用内存空间分配通过第 17天实现文件的读取操作代码通过第 18天实现查询和更新功能代码通过第 19天实现统计功能代码通过第 20天答辩按照要求完成任务,阐述清楚。第 21天撰写实训报告格式满足相关文档要求五、考核指标及成绩评定实训成绩评定方法:平时成绩( 20

6、%) +验收与答辩( 50%) +实训报告( 30%) =总评成绩验收与答辩成绩评定标准:1、全部完成90-1002、主要功能完成70-903、部分功能完成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 总体设计思路 52.2 设计流程 52.3 包含的模块 53 系统详细设计 6 3.1 主函数 63.2 各功能模块设计 74 设计的实现 95 总结 116 参考文献 121

7、实训简介1.1 实训任务1、巩固和强化学生的程序设计基本知识和基本技能,尤其是C 语言的基本数据类型、构造类型、函数、指针、文件等等方面的基本知识和技能。2、培养和训练学生综合利用所学基本知识和基本技能进行小型应用程序开发的技能。3、培养学生适应岗位需要,独立分析问题、解决问题的基本能力,以及团队合作精神。1.2 题目简介电话簿管理系统是具有数据插入、更新、删除、显示和查询功能的电话簿管理程序。1.3 主要内容(1)数据包括姓名、工作单位、电话号码和E-MAIL 地址等。(2)可对记录中的姓名和电话号码进行更新。(3)可增加和删除记录。(4)可显示所有的保存的记录。(5)可按姓名或电话号码进行

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

9、程序和通过实际的分析、理论练习实际能够编制出现实生活或模拟现实生活中简单的、常见的系统。2 总体设计流程2.1 总体设计思路根据上面的要求可知,系统有菜单选择、数据输入、数据查找、数据更新、数据的存储等功能。2.2 设计流程开始显示一系列功能选项输入 n,判断 n 是否是 16根据 n 的值调用各功能模块函数结束图 2-1主程序流程图2.3包含的模块可以将系统设计分为四大模块,即显示、查找、更新(包括增加和删除)和退出,如图 2-2 所示。其中,主要功能是显示、查询和更新三个模块。通讯录管理系统显示查询更新退出图 2-2 系统功能模块图3 系统详细设计3.1 主函数主函数设计比较简洁, 只提供

10、输入、 功能处理和输出部分得函数调用。其中各功能模块采用菜单方式选择。程序如下:int main()struct person a100;int A100,i,X;for(i=0;i100;i+)Ai=i;doprintf(*菜单*n);printf(请选择要进行的操作 n);printf(1: 输入联系人信息 n);printf(2: 分屏显示所有联系人信息 n);printf(3: 查找联系人信息 n);printf(4: 删除联系人信息 n);printf(5: 增加联系人信息 n);printf(6: 修改联系人信息 n);printf(0: 退出 n);printf(*菜单*n);s

11、canf(%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;case 5: fun5(a,A);break;case 6: fun6(a,A);break;while(X!=0);3.2 各功能模块设计数据结构:通讯录的各类数据信息均用字符型数组,用结构体的形式, 把各个信息作为结构的成员。结构体的变量可以是指针类型,结构体的类型如下:struct personchar name20;char WP20;char PN20

12、;char MPN20;char FZ20;char EM20;char QQ20;fun1 (struct person b100,int B100) :输入联系人信息函数。本函数通过do while 循环语句进行对联系人各类信息的输入。void fun2 (struct person F100,int h100) :分屏显示联系人信息函数。 利用if else 语句和嵌套 for 语句作为循环体通过结构体数组来进行对存储的联系人的各类信息分屏显示。定义一个输出结构数组,定义一个数p,k=0,分屏显示所有联系人,十个联系人为一页, t+1 为页数,判断如果 t 为 0,运用一个 for 循环

13、输出所有联系人信息, 则所有数据在一页显示, 否则运用一个双重循环, 第一层循环为显示的页数循环, 第二层循环为输出每页的联系人信息, 在显示完一页之后,输入 p,如果 P 为 1,则运用 system( “cls,”)清除屏幕 ,运用循环操作继续执行显示操作,直到 k|n);printf(|0 退出销售管理系统|n);printf(|1销售员信息录入|n);printf(|2销售员信息显示|n);printf(|3销售额信息保存|n);printf(|4产品总销售额由大到小排序|n);printf(|5 统计产品销售额信息|n);printf(|6插入销售员及其信息|n);printf(|7

14、删除销售员及其信息|n);printf(|n);printf(|请选择系统的功能项|n);printf(-n);scanf(%d,&i);switch(i)case 0:printf(o退出销售管理系统on);exit(0);break;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(-

15、 统计产品销售额信息 -n);statistics_sailer();break;case 6:printf(- 插入销售员及其信息 -n);insert();break;case 7:printf(- 删除销售员及其信息 -n);del();break;default:printf( 输入错误 ,请重新选择 !);break;销售管理主功销销销销销销界能售售售售售售面选管管管管管管显择理理理理理理示信信信信信信息息息息息息输修查导导删入改询入出除图 2-23.2 各功能模块设计数据结构:销售管理系统的各类数据信息均用字符型数组,用结构体的形式, 把各个信息作为结构的成员。结构体的变量可以是指

16、针类型,结构体的类型如下:struct sellerchar num10;char name20;int sailerl;int sailerm;int sum;seller200;void input() :销售员信息输入函数void input()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

17、%d,&selleri.sailerl,&selleri.sailerm);system(cls);void show ():销售员信息显示函数void show ()struct seller *p;system(cls);printf( 姓名工号产品一销售额产品二销售额: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,

18、sizeof(struct seller),1,fp);system(cls);printf(nn);printf( 保存成功 !n);printf(nn);void sort():总销售额信息排序函数void sort()struct 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=

19、temp;system(cls);printf( 姓名工号产品一销售额产品二销售额产品总销售额 :n);for(i=0;in;i+)printf(n%st%st%dt%8dt%8dn,selleri.name,selleri.num,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;

20、sum2+=selleri.sailerm;sum=sum1+sum2;system(cls);printf( 产品一的销售额 :%dn,sum1);printf( 产品二的销售额 :%dn,sum2);printf( 产品总的销售额 :%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(std

21、in);printf(n 输入产品一销售额 :);fflush(stdin);scanf(%d,&sellern.sailerl);printf(n 输入产品二销售额 :);fflush(stdin);scanf(%d,&sellern.sailerm);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);

22、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();system(cls);4 设计的实现1、主菜单销售员信息输入图 4-12、销售员信息显示图 4-23、销售额信息保存图 4-34、产品销售额有大到小排序图 4-45、统计产品销售额信息图 4-56、插入销售员及其信息图 4-67、删除销售员及其信息图 4-75 总结在这次实训中, 让我感觉到了许多以前从未有过的经历,实训过程中曾经想放弃过,因为实

23、在太复杂,感觉太困难,但经过自己的努力和老师耐心指导,最终我们还是完成了设计任务, 看到程序运行的正确结果, 内心充满无限的辛慰和自豪。虽然不是很优秀,但是还是有一种充实的感觉。总之,编程尤其是调试是一项细致深入的工作,需要下工夫、动脑子、善于积累经验,只有这样不断的努力,锻炼自己,才能在这方面不断提高。同时,我也深深地体会到,只有把理论基础打好,在实践中才能得心应手。6 参考文献1 甘勇 .语言程序设计 . 河南科学技术出版社 . 2016 年2 谭浩强 .C 程序设计(第四版)清华大学出版社 . 20085 Stephen Prata.C Primer Plus (第 6 版) 中文版 . 人民邮电出版社 . 2016 年实训成绩评定表成绩采用五级分制:优、良、中、及格、不及格指导教师评语:签名:年月日

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