课程设计 教师工资管理系统
运行平台:VC6.0(其他平台未经测试,不一定保证有效)
制作者:弓箭 中南大学 信息科学与工程学院
源代码如下:
#include
#define LEN sizeof(struct teacher)
struct teacher { int num; char name[20]; char sex[20]; char workplace[50]; char address[50]; long phone; double de_salary; double de_jintie; double de_shenghuobutie; double yingfa_salary; double cost_phone; double cost_water_elec; double cost_rent; double cost_tax; double cost_weisheng; double cost_gongjijin; double cost_all; double shifa_salary; struct teacher *next; };
/***********************************读取函数************************************/ struct teacher *load() { struct teacher *p1,*p2,*head; FILE *fp;
int i=1; if((fp=fopen(\ { printf(\ 文件不存在!按下任意键返回主菜单...\ return (NULL); } else { head=NULL; p1=(struct teacher *)malloc(LEN); while (fread(p1,LEN-4,1,fp)==1) { if(i==1) { head=p1; p2=p1; i=2; } else { p2->next=p1; p2=p2->next; } p1=(struct teacher *)malloc(LEN); } p2->next=NULL; free(p1); fclose(fp); return(head); } }
/**********************************欢迎菜单函数*************************************/ void welcome() { printf(\ >>>>>欢迎使用教师工资管理系统Beta1.2<<<<<\\n\ printf(\ *******************************************************\\n\ printf(\ * C语言课程设计 教师工资管理系统 *\\n\ printf(\ * 班级: 电气信息类1001班 学号:0909100119 *\\n\ printf(\ * 姓名:弓箭 *\\n\ printf(\ *******************************************************\\n\ printf(\ 按下任意键进入系统...\ getch(); system(\
}
/**********************************制作人员名单*************************************/ void list() { system(\ printf(\ >>>>>版权所有 侵权必究<<<<<\\n\ printf(\ printf(\ 学校(College): 中南大学 Central South University *\\n\ printf(\ 软件名称(Software): 教师工资管理系统 Teacher's Salary Managing System *\\n\ printf(\ 版本号(Edition): Beta1.2 *\\n\ printf(\ 制作人(Producer): 弓箭 James *\\n\ printf(\ 所在班级(Class): 电气信息类1001班 Electric Information 1001 *\\n\ printf(\ 所在学院(Institute):信息科学与工程学院 Information Engineering Institute*\\n\ printf(\ printf(\ >>>>>ILLEGAL COPY BANNED<<<<<\\n\ printf(\ 按下任意键返回主菜单...\ getch(); }
/***********************************菜单函数*****************************************/ int menu() { int i; printf(\ >>>>>欢迎使用教师工资管理系统Beta1.2<<<<<\\n\ printf(\ *******************************************************\\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(\ 请输入你想要的操作:\ scanf(\ return i; }
/***********************************插入函数*****************************************/ void input() { struct teacher *head,*p1,*p2,*p3,*px; int i,t; FILE *fp; char k,n='n',num[30],name[20]; p1=p2=p3=px=(struct teacher *)malloc(LEN);
if((head=load())!=NULL) { do { n='n'; printf(\ 请输入要插入的教师信息:\\n\ printf(\ ------------------------------\\n\ printf(\ 请输入教工号:\ printf(\ 请输入姓名:\ printf(\ 请输入性别:\ printf(\ 请输入单位名称:\ printf(\ 请输入家庭住址:\ printf(\ 请输入联系电话:\ printf(\ 请输入基本工资:\ printf(\ 请输入津贴:\ printf(\ 请输入生活补贴:\ printf(\ 请输入电话费:\ printf(\ 请输入水电费:\ printf(\ 请输入房租:\ printf(\ 请输入个人所得税:\ printf(\ 请输入卫生费:\ printf(\ 请输入公积金:\ px->yingfa_salary=px->de_salary+px->de_jintie+px->de_shenghuobutie; px->cost_all=px->cost_phone+px->cost_water_elec+px->cost_rent+px->cost_tax+px->cost_weisheng+px->cost_gongjijin; px->shifa_salary=px->yingfa_salary-px->cost_all; printf(\ 数据输入完毕,按下任意键继续...\ system(\ printf(\ >>>>>>>>>>> 插入教师信息 <<<<<<<<<<<\\n\ printf(\ *******************************************************\\n\ printf(\ * 1.输入教师号 *\\n\ printf(\ * 2.输入姓名 *\\n\ printf(\ * 3.返回上级菜单 *\\n\ printf(\ *******************************************************\\n\ printf(\ 请选择插入方式:\ scanf(\ while (i<1||i>3) { printf(\ 输入有误!请重新输入:\ scanf(\ } switch(i)
{ case 1:printf(\ 请输入要插入在哪条数据后面:\ scanf(\ p1=head; while (p1->num!=t) { if (p1->next!=NULL) { p1=p1->next; } else { printf(\ 查找不到相关数据!\\n\ break; } } if (p1->num==t) { printf(\要插入的信息如下:--------------------------------\\n\ printf(\教工号 姓名 性别 单位名称 家庭住址 联系电话\\n\ printf(\ %-4d %-13s %s %-19s %-19s%-14ld\\n\->phone); printf(\电话费 水电费 房租 个人所得税 卫生费 公积金 合计扣款\\n\ printf(\ %-10.1lf %-10.1lf %-10.1lf\\n\c,px->cost_rent,px->cost_tax,px->cost_weisheng,px->cost_gongjijin,px->cost_all); printf(\基本工资 津贴 生活补贴 应发工资 实发工资\\n\ printf(\%-13.1lf %-13.1lf %-13.1lf %-13.1lf %-13.1lf\\n\>yingfa_salary,px->shifa_salary); printf(\ printf(\ 确定插入吗?(y或n):\ scanf(\ } if (k=='y'||k=='Y') { if (p1->num==t) { if(p1==head)/*如果插入点为头指针*/ { p3=p1->next; p1->next=px;