收藏 分销(赏)

C语言实训总结报告.docx

上传人:w****g 文档编号:2494518 上传时间:2024-05-30 格式:DOCX 页数:31 大小:584.53KB 下载积分:12 金币
下载 相关 举报
C语言实训总结报告.docx_第1页
第1页 / 共31页
C语言实训总结报告.docx_第2页
第2页 / 共31页


点击查看更多>>
资源描述
郑州轻工业学院 实 训 报 告 实训名称: 基础编程技能实训 成 绩: 时间: 年 6 月 26 日至 年 10月 20日 一、题目 1、电话簿管理系统 2、商品销售管理系统 3、基于内存学籍管理系统(以windows系统实现为主,尝试Linux平台下程序实现) 二、实训性质和任务 1、巩固和强化学生程序设计基础知识和基础技能,尤其是C语言基础数据类型、结构类型、函数、指针、文件等等方面基础知识和技能。 2、培养和训练学生综合利用所学基础知识和基础技能进行小型应用程序开发技能。 3、培养学生适应岗位需要,独立分析问题、处理问题基础能力,和团体合作精神。 三、实训基础要求 经过此次实训,学生应达成以下多个方面要求: 1、素质要求 以主动认真态度对待此次实训,遵章守纪,团体协作。善于发觉问题,分析问题,处理问题,努力培养自己独立工作能力。 2、知识要求 熟练账务C语言集成开发环境使用,和C语言数据类型、语法、基础结构等。熟练掌握C语句功效、使用方法和函数调用使用和头文件使用等。 3、能力要求 学生应含有一定项目分析能力、任务分解能力、组织实施能力和理论练习实际应用能力。 学生应含有一定查阅教材、各类相关资料及工具书能力,进而养成自我学习习惯。经过此次实训使学生基础能够把握C语言精髓,并能够熟练使用C语言编写简单程序和经过实际分析、理论练习实际能够编制出现实生活或模拟现实生活中简单、常见系统。 四、实训内容及要求 天/日期 任务描述 经过标准 第1天 说明系统功效,明确课题任务和包含要求、分配具体任务。分析实训内容,讲解相关知识,引导学生入门。 学生了解题目 第2天 学生具体分析第一个实训题目,明确思绪和任务,并能够查询相关书籍、资料,设计出每一个模块步骤图;了解并设计相关数据类型定义。 画出相关步骤图 第3天 编写printheader()、printdata()两个函数 代码经过 第4天 编写Disp()、stringinput()两个函数 代码经过 第5天 编写Locate()、Add()两个函数,完成定位和添加功效 代码经过 第6天 编写Quran()、Del()两个函数,完成查询和删除功效 代码经过 第7天 编写Insert()、Modify()函数,实现插入和修改功效 代码经过 第8天 编写Save()、SelectSort()两个函数,实现存盘和排序功效 同上 第9天 编写函数main()函数,整合前面功效模块,完成整个系统 成功运行系统 第10天 学生具体分析第二个实训题目,明确思绪和任务,并能够查询相关书籍、资料,设计出每一个模块步骤图;了解并设计相关数据类型定义。 画出相关步骤图 第11天 建立录入函数系统,小规模数据试验,录入字符,数字,字母,和三部分内容混合形式 代码经过 第12天 对录入数据实现修改,还原,删除 经过代码测试 第13天 用户名增加,新建,删除用户 画出步骤图 第14天 数据查询 ,数据查询函数应用,小样本数据试验 代码经过 第15天 以链表形式来保留数据,链表结构体混合使用 界面建立完成 第16天 掌握内存函数malloc(size), calloc()函数使用 内存空间分配经过 第17天 实现文件读取操作 代码经过 第18天 实现查询和更新功效 代码经过 第19天 实现统计功效 代码经过 第20天 答辩 根据要求完成任务,叙述清楚。 第21天 撰写实训汇报 格式满足相关文档要求 五、考评指标及成绩评定 实训成绩评定方法: 平时成绩(20%)+验收和答辩(50%)+实训汇报(30%)=总评成绩 验收和答辩成绩评定标准: 1、全部完成90-100 2、关键功效完成70-90 3、部分功效完成60-70 4、少部分完成40-60 5、几乎没做0-40 完 成 期 限: 10月20日 指导老师署名: 6 月 26 日 目  录 1 实训介绍·····································································4 1.1 实训任务······························································4 1.2 题目介绍······························································4 1.3 关键内容······························································4 1.4 基础要求······························································4 2 总体设计步骤·······························································5 2.1 总体设计思绪························································5 2.2 设计步骤······························································5 2.3 包含模块···························································5 3 系统具体设计·······························································6 3.1 主函数········································································6 3.2 各功效模块设计····························································7 4 设计实现··································································9 5 总结···········································································11 6 参考文件·····································································12 1 实训介绍 1.1 实训任务 1、巩固和强化学生程序设计基础知识和基础技能,尤其是C语言基础数据类型、结构类型、函数、指针、文件等等方面基础知识和技能。 2、培养和训练学生综合利用所学基础知识和基础技能进行小型应用程序开发技能。 3、培养学生适应岗位需要,独立分析问题、处理问题基础能力,和团体合作精神。 1.2 题目介绍 电话簿管理系统是含有数据插入、更新、删除、显示和查询功效电话簿管理程序。 1.3 关键内容 (1)数据包含姓名、工作单位、电话号码和E-MAIL地址等。 (2)可对统计中姓名和电话号码进行更新。 (3)可增加和删除统计。 (4)可显示全部保留统计。 (5)可按姓名或电话号码进行查询。 1.4 基础要求 经过此次实训,应达成以下多个方面要求: 1、素质要求 以主动认真态度对待此次实训,遵章守纪,团体协作。善于发觉问题,分析问题,处理问题,努力培养自己独立工作能力。 2、知识要求 熟练C语言集成开发环境使用,和C语言数据类型、语法、基础结构等。熟练掌握C语句功效、使用方法和函数调用使用和头文件使用等。 3、能力要求 应含有一定项目分析能力、任务分解能力、组织实施能力和理论练习实际应用能力。 学生应含有一定查阅教材、各类相关资料及工具书能力,进而养成自我学习习惯。经过此次实训使学生基础能够把握C语言精髓,并能够熟练使用C语言编写简单程序和经过实际分析、理论练习实际能够编制出现实生活或模拟现实生活中简单、常见系统。 2 总体设计步骤 2.1 总体设计思绪 依据上面要求可知,系统有菜单选择、数据输入、数据查找、数据更新、数据存放等功效。 显示一系列功效选项 开始 输入n,判定n是否是1~6 依据n值调用各功效模块函数 结束 2.2 设计步骤 图2-1 主程序步骤图 2.3 包含模块 能够将系统设计分为四大模块,即显示、查找、更新(包含增加和删除)和退出,图2-2所表示。其中,关键功效是显示、查询和更新三个模块。 图2-2 系统功效模块图 3 系统具体设计 3.1 主函数 主函数设计比较简练,只提供输入、功效处理和输出部分得函数调用。其中各功效模块采取菜单方法选择。 程序以下: int main() { struct person a[100]; int A[100],i,X; for(i=0;i<100;i++) A[i]=i; do { printf("*************************菜单************************\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"); 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; case 5: fun5(a,A);break; case 6: fun6(a,A);break; } } while(X!=0); } 3.2 各功效模块设计 ★数据结构: 通讯录各类数据信息均用字符型数组,用结构体形式,把各个信息作为结构组员。结构体变量能够是指针类型,结构体类型以下: struct person { char name[20]; char WP[20]; char PN[20]; char MPN[20]; char FZ[20]; char EM[20]; char QQ[20];‘’‘’‘’ }; ★fun1 (struct person b[100],int B[100]):输入联络人信息函数。本函数经过do while 循环语句进行对联络人各类信息输入。 ★void fun2 (struct person F[100],int h[100]):分屏显示联络人信息函数。利用if else语句和嵌套for语句作为循环体经过结构体数组来进行对存放联络人各类信息分屏显示。定义一个输出结构数组,定义一个数p,k=0,分屏显示全部联络人,十个联络人为一页,t+1为页数,判定假如t为0,利用一个for循环输出全部联络人信息,则全部数据在一页显示,不然利用一个双重循环,第一层循环为显示页数循环,第二层循环为输出每页联络人信息,在显示完一页以后,输入p,假如P为1,则利用system(“cls”),清除屏幕,利用循环操作继续实施显示操作,直到k<t不成立,显示了10*t个联络人信息,还剩下(n-10*t)个联络人信息,循环结束后再输出剩下(n-10*t)个联络人信息,从10*t到n-1,每个人次序为10*k+i,最终,全部联络人信息全部显示出来。 ★void fun3(struct person d[100],int e[100]):联络人信息查找函数。经过for语句作为本函数循环体,由if和while语句进行判定是否输出联络人信息。 ★void fun4(struct person c[100],int k[100]):联络人信息删除函数。经过for语句作为本函数循环体,由if来判定是否删除联络人信息。 ★void fun5(struct person b[100],int B[100]):联络人信息添加函数。本函数经过do while 循环语句进行对联络人各类信息添加。 ★void fun6(struct person T[100],int r[100]):修改联络人信息函数。经过for语句作为本函数循环体,来进行联络人信息修改。 4 设计实现 1、主菜单输入联络人信息 图4-1 2、显示全部联络人信息 图4-2 3、查找联络人 图4-3 4、删除联络人 图4-4 5、添加联络人 图4-5 6、修改联络人信息 图4-6 5 总结 在这次实训中,让我感觉到了很多以前从未有过经历,实训过程中曾经想放弃过,因为实在太复杂,感觉太困难,但经过自己努力和老师耐心指导,最终我们还是完成了设计任务,看到程序运行正确结果,内心充满无限辛慰和自豪。即使不是很优异,不过还是有一个充实感觉。  总而言之,编程尤其是调试是一项细致深入工作,需要下工夫、动脑子、善于积累经验,只有这么不停努力,锻炼自己,才能在这方面不停提升。同时,我也深深地体会到,只有把理论基础打好,在实践中才能得心应手。 6 参考文件 [1] 甘勇.《C语言程序设计》. 河南科学技术出版社. [2]谭浩强.《C程序设计(第四版)》.清华大学出版社. [5] Stephen Prata.《C Primer Plus (第6版) 汉字版》. 人民邮电出版社. 目  录 1 实训介绍·····································································14 1.1 实训任务······························································14 1.2 题目介绍······························································14 1.3 关键内容······························································14 1.4 基础要求······························································14 2 总体设计步骤·······························································15 2.1 总体设计思绪························································15 2.2 设计步骤······························································15 2.3 包含模块···························································16 3 系统具体设计·······························································16 3.1 主函数········································································16 3.2 各功效模块设计····························································19 4 设计实现··································································24 5 总结···········································································27 6 参考文件·····································································28 1 实训介绍 1.1实训任务 1、巩固和强化学生程序设计基础知识和基础技能,尤其是C语言基础数据类型、结构类型、函数、指针、文件等等方面基础知识和技能。 2、培养和训练学生综合利用所学基础知识和基础技能进行小型应用程序开发技能。 3、培养学生适应岗位需要,独立分析问题、处理问题基础能力,和团体合作精神。 1.2 题目介绍 商品销售管理系统是含有数据插入、更新、删除、显示和查询功效商品销售管理程序。 1.3 关键内容 1)销售员代号 2)产品代号 3)这种产品当日销售额 4)输出统计报表 1.4 基础要求 经过此次实训,应达成以下多个方面要求: 1、素质要求 以主动认真态度对待此次实训,遵章守纪,团体协作。善于发觉问题,分析问题,处理问题,努力培养自己独立工作能力。 2、知识要求 熟练C语言集成开发环境使用,和C语言数据类型、语法、基础结构等。熟练掌握C语句功效、使用方法和函数调用使用和头文件使用等。 3、能力要求 应含有一定项目分析能力、任务分解能力、组织实施能力和理论练习实际应用能力。 学生应含有一定查阅教材、各类相关资料及工具书能力,进而养成自我学习习惯。经过此次实训使学生基础能够把握C语言精髓,并能够熟练使用C语言编写简单程序和经过实际分析、理论练习实际能够编制出现实生活或模拟现实生活中简单、常见系统。 2 总体设计步骤 2.1 总体设计思绪 依据上面要求可知,系统有菜单选择、数据输入、数据查找、数据更新、数据存放等功效。 2.2 设计步骤输入统计 读取文件 保留到文件 每位销售员销售额 每种产品销售额 按销售额对销售员排序 显示便条清单 退出管理 图2-1 2.3 包含模块 能够将系统设计分为八大模块: 即主界面显示:完成系统菜单显示;功效选择模块:依据用户选择完成对应功效; 销售管理信息输入:完成用户从界面输入销售管理信息,保留入系统功效; 销售信息修改:完成用户从界面输入销售管理信息,在系统中查询定位,并将录入数据保留入系统功效; 销售信息查询:完成用户从界面输入条件,在系统中查询符合条件销售信息,并在界面上显示功效; 销售管理信息导入:完成用户从界面输入需要导入文件路径名称,读取该文件内容,保留入系统,并在界面上显示导入内容功效; 销售管理信息导出:完成用户从界面输入需要导出文件路径名称,将系统中销售管理信息保留入文件中; 销售管理信息删除:完成用户从界面输入需要销售管理信息姓名,并将其从系统中删除。 图2-2所表示。其中,关键功效是显示、查询和更新三个模块。 3 系统具体设计 3.1 主函数 主函数设计比较简练,只提供输入、功效处理和输出部分得函数调用。其中各功效模块采取菜单方法选择。 程序以下: int main () { void insert(); void del(); void input(); void show(); void save(); void sort(); void statistics_sailer(); int i; while (1) { printf("----------------------------------\n"); printf("| 销售管理系统 |\n"); printf("|>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>|\n"); printf("| 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 退出销售管理系统 o\n"); 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("-----统计产品销售额信息-----\n"); statistics_sailer();break; case 6: printf("-----插入销售员及其信息-----\n"); insert();break; case 7: printf("-----删除销售员及其信息-----\n"); del();break; default:printf("输入错误,请重新选择!!"); break; } } } 销售管理 主 界 面 显 示 功 能 选 择 销 售 管 理 信 息 输 入 销 售 管 理 信 息 修 改 销 售 管 理 信 息 查 询 销 售 管 理 信 息 导 入 销 售 管 理 信 息 导 出 销 售 管 理 信 息 删 除 图2-2 3.2 各功效模块设计 ★数据结构: 销售管理系统各类数据信息均用字符型数组,用结构体形式,把各个信息作为结构组员。结构体变量能够是指针类型,结构体类型以下: struct seller { char num[10]; char name[20]; int sailerl; int sailerm; int sum; }seller[200]; ★void input(): 销售员信息输入函数 void input() { int i; printf("请输入销售员个数\n"); scanf("%d",&n); for(i=0;i<n;i++) { printf("输入销售员姓名:\n"); scanf("%s",seller[i].name); printf("输入销售职员号:\n"); scanf("%s",seller[i].num); printf("请分别输入产品一和产品二销售额:\n"); scanf("%d%d",&seller[i].sailerl,&seller[i].sailerm); } system("cls"); } ★void show (): 销售员信息显示函数 void show () { struct seller *p; system("cls"); printf("姓名 工号 产品一销售额 产品二销售额:\n"); for(p=seller;p<seller+n;p++) printf("%-8s %2s %6d %12d\n",p->name,p->num,p->sailerl,p->sailerm); printf("\n\n"); } ★void save (): 销售员信息保留函数 void save () { FILE *fp; int i; fp=fopen("seller.txt","w"); for(i=0;i<n;i++) fwrite(&seller[i],sizeof(struct seller),1,fp); system("cls"); printf("\n\n"); printf("保留成功!\n"); printf("\n\n"); } ★void sort(): 总销售额信息排序函数 void sort() { struct seller temp; int i,j; for(i=0;i<n;i++) seller[i].sum=seller[i].sailerl+seller[i].sailerm; for(j=0;j<n-1;j++) for(i=0;i<n-1-j;i++) if(seller[i].sum<seller[i+1].sum) { temp=seller[i]; seller[i]=seller[i+1]; seller[i+1]=temp; } system("cls"); printf("姓名 工号 产品一销售额 产品二销售额 产品总销售额:\n"); for(i=0;i<n;i++) printf("\n%s\t%s\t%d\t%8d\t%8d\n",seller[i].name,seller[i].num,seller[i].sailerl,seller[i].sailerm,seller[i].sum); } ★void statistics_sailer (): 统计产品销售额信息函数 void statistics_sailer () { int i,sum1,sum2,sum; sum1=0;sum2=0;sum=0; for(i=0;i<n;i++) { sum1+=seller[i].sailerl; sum2+=seller[i].sailerm; sum=sum1+sum2; } system("cls"); printf("产品一销售额:%d\n",sum1); printf("产品二销售额:%d\n",sum2); printf("产品总销售额:%d\n",sum); } ★void insert(): 插入数据函数 void insert() { char ch; do { printf("\n\t\t输入新插入销售员信息\n"); printf("\n输入销售员姓名:"); fflush(stdin); gets(seller[n].name); printf("\n输入销售职员号:"); scanf("%s",seller[n].num); fflush(stdin); printf("\n输入产品一销售额:"); fflush(stdin); scanf("%d",&seller[n].sailerl); printf("\n输入产品二销售额:"); fflush(stdin); scanf("%d",&seller[n].sailerm); printf("\n\n"); n=n+1; sort(); printf("是否继续输入?(Y/N)"); ch=getch(); system("cls"); } while(ch!='N'); } ★void del(): 删除数据函数 void del() { char seller_name[20]; int i,j; printf("输入要删除销售员姓名:"); fflush(stdin); scanf("%s",seller_name); for(i=0;i<n;i++) { if(strcmp(seller_name,seller[i].name)==0) { for(j=i;j<n;j++) seller[i]=seller[i+1]; n=n-1; } break; } save(); system("cls"); } 4 设计实现 1、主菜单销售员信息输入 图4-1 2、销售员信息显示 图4-2 3、销售额信息保留 图4-3 4、产品销售额有大到小排序 图4-4 5、统计产品销售额信息 图4-5 6、插入销售员及其信息 图4-6 7、删除销售员及其信息 图4-7 5总结 在这次实训中,让我感觉到了很多以前从未有过经历,实训过程中曾经想放弃过,因为实在太复杂,感觉太困难,但经过自己努力和老师耐心指导,最终我们还是完成了设计任务,看到程序运行正确结果,内心充满无限辛慰和自豪。即使不是很优异,不过还是有一个充实感觉。  总而言之,编程尤其是调试是一项细致深入工作,需要下工夫、动脑子、善于积累经验,只有这么不停努力,锻炼自己,才能在这方面不停提升。同时,我也深深地体会到,只有把理论基础打好,在实践中才能得心应手。 6参考文件 [1] 甘勇.《C语言程序设计》. 河南科学技术出版社. [2]谭浩强.《C程序设计(第四版)》.清华大学出版社. [5] Stephen Prata.《C Primer Plus (第6版) 汉字版》. 人民邮电出版社. 实训成绩评定表 成绩 采取五级分制:优、良、中、及格、不及格 指导老师评语: 签 名: 年 月 日
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 通信科技 > 开发语言

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服