1 / 20
文档名称:

C语言程序设计论文.doc

格式:doc   大小:231KB   页数:20页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

C语言程序设计论文.doc

上传人:xunlai783 2018/5/2 文件大小:231 KB

下载得到文件列表

C语言程序设计论文.doc

文档介绍

文档介绍:学年论文
(课程论文、课程设计)
题目: 员工工资管理系统
作者:
所在学院: 信息学院
专业年级:
指导教师:
职称:
2010 年 12 月 15 日
目录
设计思路******************************3
程序模块图****************************4
源程序********************************5
程序运行截图*************************16
学****心得*****************************19
评分表******************************20
程序设计思路
员工工资管理系统是一个使用很普遍的系统,我要做的是一个简单的系统。这个系统包括员工的一些基本信息:工号、姓名、年龄、出生日期、学历、电话号码、工资(包括基本工资、效益工资、浮动工资、总工资)。
首先要对员工的基本信息进行存档即先要把员工所有的信息通过载入进行存档,然后使其能在编译状态下被读出。做完这些便要开始对程序做排序,这是这次作业的一个难点,不仅要求做2项排序,关键还要用函数调用,这就给我们这程序时增加了难度。
在没写主函数之前要先定义结构体,它要包括员工所有的信息,像员工的出生日期里面又包括年月日,所以把出生日期再定义一个结构体,员工工资里也包括好几项所以也要定义一个结构体。定义完所有的结构体以后就开始写主函数了。
因为整个程序是采用函数调用的方式写的所以主函数并不好写。首先把程序分成两个大块第一块是打开文档如果文档为空就进行载入,如果不为空就读出员工信息;第二块进行排序,排序分为两种一是按员工总工资排序,二是按员工姓名进行排序读者可以在二者间进行选择;在写选择时就用到了switch开关语句和goto循环,虽然不提倡用goto循环但是在这里用它不会影响程序而且比较好用。先声明三个函数打开文件函数、总工资排序函数、姓名排序函数;然后调用函数是把两个排序函数写在switch开关语句里以便读者进行选择。对函数声明调用完以后就开始写三个函数。打开载入函数分打开载入、读出两分;写按排序时先用for语句把文件读出再用if 语句比较大小进行交换输出。
为了使输出的信息整齐清晰在每次输出完进行第二次输出时都要有两行空白以便分开每次输出的信息;为了读者操作方便加入一些文字信息。
程序模块图
员工工资管理系统
文件打开模块
查询模块











源程序
#include<>
#include<>
struct data
{
int y;
int m;
int d;
};
struct staff
{
int no;
char name[30];
int age;
struct data brithday;
char edu[5];
int tel[11];
int wage1;
int wage2;
int wage3;
int wage4;
}sta[32];
void main()
{
int p;
void open();
void wage();
void name();
open();
loop:
printf("请选择排序方式:\n");
printf("1:按总工资排序\n");
printf("2:按姓名排序\n");
scanf("%d",&p);
switch(p)
{
case 1: wage();break;
case 2: name();break;
default : printf("error\n");break;
}goto loop;
}
void open()
{
int i;
struct staff sta[32];
FILE *fp;
if((fp=fopen("d:\\","r"))==NULL)
{
printf("文件为空请载入\n");
scanf("%d",&sta[i].no);
scanf("%s",&sta[i].name);
scanf("%d",&sta[i].age);
scanf("%d",&sta[i].);
scanf("%d",&sta[i].);
scanf("%d",&sta[i].);
scanf("%s",&sta[i].edu);
scanf("%s",&