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