2022年C语言课件教育实训设计报告.pdf
《2022年C语言课件教育实训设计报告.pdf》由会员分享,可在线阅读,更多相关《2022年C语言课件教育实训设计报告.pdf(15页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C 语言课程实训设计报告一、项目概述我这次实训的项目主要是农民工资收入统计系统,农民工资收入统计系统主要实现的是农民信息的输入、输出,按农民的门牌号排序,实现农民信息的插入、查找、删除等操作,以及可以计算全村总收入和人均收入,也能够找出小康家庭、中等家庭以及贫困家庭。这次实训的项目主要通过C 语言来实现程序的运行,主要通过C 语言中的函数调用和结构体来做程序,还要用到许多小的知识点,例如:用冒泡法实现排序; scanf、 printf 语句;strcpy复制语句;ifelse语句实现选择等等。二、项目分析和设计这个项目的程序可分为几个板块来做,每个板块有每个板块的作用,通过不同程序的不同作用相
2、互调用即可实现整个程序的运行,这个项目程序主要可以分为以下几个板块:1、定义头文件:运用#include,#include ,主菜单输入信息输出信息升序排序插入并排序查找并删除总收入与人均收入找出小康家庭等写入文件精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 1 页,共 15 页 - - - - - - - - - - #include,#include 等头文件2、定义结构体数组:运用 typedef struct 农民列表信息 变量名表列 ; 这种类型是直接定义结构体类型变量。3、对调用函数进行声明
3、:根据所写程序对有些函数进行声明,例如:Void show_menu(); 在程序中实现的是对菜单函数的调用。4、主函数:Void main()为主函数,在主函数中通过dowhile 语句和switch case语句进行选择和函数调用。Void main() do switch() while(); 5、菜单函数:定义函数为void show_menu() 主要用 printf 语句输出菜单函数,并且还通过主函数调用菜单函数实现对农民信息的选择。6、输入农民的信息:定义函数为 int create(peasant nu,int n) nu为结构体数组, 在此函数中,通过 scanf语句实现农民
4、信息的输入,并用while 语句判断并实现多余信息的清除,以及判断是否继续进行输入信息,最后还有一个值返还给主函数main()。7、输出农民信息:定义函数为void print(peasant nu,int n) 主要运用 printf 语句输出农民的信息,并用for 语句和 if 语句判断,如果输入的信息超过十个就停止输入,若没有就继续输。用 system( “ pause ” )清除界面。8、对函数进行排序:定义函数为void sort(peasant nu,int n) 在此函数中,利用两层循环按门牌号进行排序,如果变量在结构体中定义成数组形式,就用strcpy语句进行复制;如果定义成整
5、形就要新定义一个变量作为中间函数进行替换来实现数的交换。9、插入信息并排序:定义函数为int insert(peasant nu,int n) 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 2 页,共 15 页 - - - - - - - - - - 在此函数中,利用scanf语句进行输入信息,再调用排序函数sort(nu,n)进行排序,最后还要返回一个值到主函数main(). 10、查找并删除记录:int del(peasant nu,int n) 此程序需要按姓名查找,所以输入姓名,并用while
6、实现循环次数,用 strcmp比较输入姓名与原来姓名, 若 strcmp(a,b)=0,即表明找到该信息并且删除,删除是通过for 以及 strcpy对查找的信息进行删除,若strcmp(a,b)!=0,即表明没有找到该信息。11、计算全村总收入以及人均收入定义函数为void ave(peasant nu,int n) 在此函数中主要运用for 语句进行控制,即可计算出总收入以及人均收入并输出。12、找出小康家庭、中等家庭、贫困家庭定义函数为void fib(peasant nu,int n) 在此函数中主要运用ifelse语句进行判断选择,判断哪家是小康家庭,哪家是中等家庭,哪家是贫困家庭并
7、且输出. void fib(peasant nu,int n) for(i=0;in;i+) if() printf(n); else if() printf(n); else printf(n); 13、把所有程序写入文件中定义函数为void printfile(peasant nu,int n) 首先先定义文件指针,用fopen ( “filename” , “w” )打开文件并判断是否能打开文件,最后再用fclose( 文件指针 )关闭文件。这个程序大体的设计便是如此,它包含了我们学过的许多知识,运用了许多重要的内容,总体分析即是如此。三、项目关键代码(加注释)#include #inc
8、lude #include #include 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 3 页,共 15 页 - - - - - - - - - - typedef struct /*定义结构体数组 */ char num20; char name20; long int income; peasant; peasant nu110000; void show_menu(); int create(peasant nu,int n); void print(peasant nu, int n); v
9、oid sort(peasant nu,int n); int insert(peasant nu,int n); int del(peasant nu,int n); void ave(peasant nu,int n); void fib(peasant nu,int n); void printfile(peasant nu,int n); void main() /*主函数 */ int n=0; int no; do show_menu(); printf(please input your choicen); scanf(“ %d” ,&no); switch(no) case 1
10、: printf(输入记录 n); n=create(nu1,n);break; case 2: printf(输出信息 n); print(nu1,n);break; case 3: printf(按门牌号排序并显示 n); sort(nu1,n); printf( 排序成功 !n); print(nu1,n); printf(tt);break; 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 4 页,共 15 页 - - - - - - - - - - case 4: printf(插入信息并按门牌
11、号排序及显示n); n=insert(nu1,n); print(nu1,n); printf(tt);break; case 5: printf(根据姓名查找并删除记录n); n=del(nu1,n); printf(tt); system(pause);break; case 6: printf(计算总收入和人均收入n); ave(nu1,n); system(pause);break; case 7: printf(找出小康家庭,中等家庭,贫困家n); fib(nu1,n); system(pause);break; case 8: printf(循环写入数据 n); printfile
12、(nu1,n); printf(tt); system(pause);break; case 0: printf(tt 谢谢使用,祝你好运,再见!n); printf(tt); system(pause); exit(0); while(no!=0); void show_menu() system(cls); /*运行前清屏 */ printf(*主菜单*n); printf(*1. 输入农民工的门牌号、姓名、收入*n); printf(*2. 输出所有农民工的信息*n); printf(*3. 实现按门牌号进行升序排序*n); printf(*4. 实现农民信息的插入 ,后按门牌号从小到大
13、输出*n); printf(*5. 根据姓名查找 ,并删除该信息*n); printf(*6. 计算全村总收入和人均收入*n); printf(*7. 找出小康家庭 ,中等家庭 ,贫困家庭*n); printf(*8. 把所有农民工信息写入到文件中去*n); printf(*0. 退出*n); 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 5 页,共 15 页 - - - - - - - - - - printf(*n); int create(peasant nu,int n) /*输入信息 */ i
14、nt i=0; char sign,x10; /*x10为清除多余的数据所用*/ while(sign!=n&sign!=N) /*判断*/ printf( 门牌号 :); /* 交互输入 */ scanf(%s,nun+i.num); printf( 姓名:); scanf(%s,nun+i.name); printf( 收入:); scanf(%d,&nun+i.income); gets(x); /*清除多余的输入 */ printf( 是否继续输入 ?(Y/N); scanf(%c,&sign); /*输入判断 */ i+; return(n+i); void print(peasan
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022 语言 课件 教育 设计 报告
限制150内