- 1、本文档共23页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
目录
题目内容---------------------------------------------2
程序特点及功能------------------------------------3
总体思路---------------------------------------------3
详细设计---------------------------------------------4
程序清单---------------------------------------------5
运行结果与分析------------------------------------17
参考文献---------------------------------------------22
正文
1.题目内容:工资管理
课程设计目的和要求
巩固和加强《C语言程序设计》课程的理论知识。
掌握C语言的基本概念,语法,语义和数据类型的使用特点。
掌握C语言程序设计的方法及编程技巧,能正确的使用C语言编写程序。
进一步理解和运用结构化程序设计的思想和方法。
使学生掌握调试程序的基本方法及上机操作方法。
通过查询手册和文献资料,培养学生独立分析问题和解决问题的能力。
初步掌握开发一个小型实用系统的方法。
培养学生的创新能力创新思维。
培养学生良好的程序设计风格。进一步理解和运用。
2.相关知识
1. 函数的调用,指针,数组,结构体,链表
2. 主函数无限循环
2.程序特点及功能
1.特点:程序简单易懂
2.功能:各种基本信息数据的录入;各种基本数据的修改;各种基本数据
的插入;各种基本数据的删除;基于各种数据的查询;基于各种数据的计
算。
3.总体思路
主要设计思想:主函数无限循环;操作之前先开辟内存,建立动态链表,文件中如果有数据则导入内存,每条记录存入一个链表节点;数据的录入、
修改、插入、删除、查询等均是对内存中的链表进行操作,每次操作后将数据保存到文件。
4.详细设计
.设计方案(流程图)
5.程序清单
程序代码实现
#include<stdio.h>/*I/O 函数*/
#include<string.h>/*字符串函数*/
#include<malloc.h>/*动态存储分配函数*/
#include <stdlib.h> /*标准函数库*/
#include<conio.h>/*屏幕操作函数*/
#define NULL 0 /*宏定义*/
#define LEN sizeof(struct worker)/*宏定义*/
struct worker /*数据结构 链表*/
{
char id[19];
char name[9];
char sex[3];
int age;
int work_age;
char department[7];
char position[7];
char position_num[6];
char credit_num[20];
char telephone[13];
char mobile[14];
float basepay;
float positionpay;
float others;
int waterpay;
int powerpay;
double maypay;
int neatpay;
int tvpay;
int extra;
double endpay;
struct worker *next;
};
void newRec();/*新建职工记录*/
void searchRec();/*查询职工记录*/
void modifyRec();/*修改职工记录*/
void deleteRec();/*删除职工记录*/
void displayRec();/*显示所有职工信息*/
void loadRec();/*导入文件到内存*/
void saveRec();/*保存所有记录*/
void printRec();/*输出报表*/
int menu_select();/*主菜单*/
struct worker * head,* p1,* p2,* p3;/*定义结构体指针 head为头指针 p1为输入数据缓存空间指针 p2为尾指针*/
void main() /*主函数*/
{
for(;;)
{
loadRec();
switch(menu_select())
{
case 1: system("cls"); newRec();break;
case 2: system("cls"); searchRec();break;
case 3: system("cls"); modifyRec(
文档评论(0)