本篇文章给大家谈谈c语言教师工资管理系统,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
1、用C语言设计职工工资管理系统2、用C语言课程设计—职工工资管理系统(分别用结构体数组和链表编写程序)3、教师信息管理系统(C语言)4、求C语言 工资管理系统 原代码5、c语言程序设计、工资管理系统6、用c语言编写工资管理系统
用C语言设计职工工资管理系统
#includeiostream.h
#includestdlib.h
#includestring.h
#includeiomanip.h
using namespace std;
#define OK 1
#define ERROR 0
typedef struct LNode{
char num[20];
char name[20];
double basic;
double reward;
double total;
struct LNode *next;
}LNode,*LinkList; int initlist(LinkList L)
{ L=(LinkList)malloc(sizeof(LNode));
L-next=NULL;
return OK;
} int DisplayInfo(LinkList L)
{
LinkList p=L-next;
if(!p)
{
cout”当前无记录!”endl;
return ERROR;
}
cout”编号”setw(12)”姓名”setw(12)”基本工资”setw(9)”奖金”setw(12)”工资总额”endl; while(p!=NULL)
{
coutp-numsetw(9)p-namesetw(8)p-basicsetw(12)p-rewardsetw(12)p-totalendl;
p=p-next;
}
cout’\n”\n’;
return OK;
} int InputInfo(LinkList L)
{
LinkList p; p=(LinkList)malloc(sizeof(LNode));
cout”请输入职工工资信息:(格式如:2001001 james 1980 600 )”endl;
cinp-num;
cinp-name;
cinp-basic;
cinp-reward;
p-total=p-basic+p-reward;
p-next=L-next;
L-next=p; return OK;
}int DeleteByCode(LinkList L,char key[])
{
LinkList p=L,q;
while(p-next!=NULL)
{
if(strcmp(p-next-num,key)==0)
{
q=p-next;
p-next=q-next;
free(q);
return OK;
}
p=p-next;
}
return ERROR;} int Search(LinkList L,int tag)
{
LinkList p=L-next;
if(tag==1)
{
char num[20];
cout”请输入要查找职工编号号:”endl;
cinnum;
while(p)
{
if(strcmp(p-num,num)==0)
{
cout”编号”setw(12)”姓名”setw(12)”基本工资”setw(9)”奖金”setw(12)”工资总额”endl;
coutp-numsetw(9)p-namesetw(8)p-basicsetw(12)p-rewardsetw(12)p-totalendl;
cout’\n’;
return OK;
}
p=p-next;
}
}
else if(tag==2)
{
char name[20];
cout”请输入要查找的姓名:”endl;
cinname;
while(p)
{
if(strcmp(p-name,name)==0)
{
cout”编号”setw(12)”姓名”setw(12)”基本工资”setw(9)”奖金”setw(12)”工资总额”endl;
coutp-numsetw(9)p-namesetw(8)p-basicsetw(12)p-rewardsetw(12)p-totalendl;
cout’\n’;
return OK;
}
p=p-next;
}
}
else
cout”输入错误!”endl;
return ERROR;}
int Sort(LinkList L)
{
LinkList p;
LinkList q,min,w=L;
for(p=L-next;p-next;p=p-next)
{
min=p;
for(q=p-next;q;q=q-next) if(min-totalq-total)
min=q; if(min!=p)
{ strcpy(w-num,p-num);
strcpy(w-name,p-name);
w-basic=p-basic;
w-reward=p-reward;
w-total=p-total;
strcpy(p-num,min-num);
strcpy(p-name,min-name);
p-basic=min-basic;
p-reward=min-reward;
p-total=min-total;
strcpy(min-num,w-num);
strcpy(min-name,w-name);
min-basic=w-basic;
min-reward=w-reward;
min-total=w-total; }
}
return OK;
}
int change(LinkList L)
{
LinkList p=L-next;
char q[20];
cout”请输入要修改的职工编号号:”endl;
cinq;
while(p)
{
if(strcmp(p-num,q)==0)
{
cout”编号”setw(12)”姓名”setw(12)”基本工资”setw(9)”奖金”setw(12)”工资总额”endl;
coutp-numsetw(9)p-namesetw(8)p-basicsetw(12)p-rewardsetw(12)p-totalendl;
cout”请重新输入该职工的工资信息:”endl;
cinp-basic;
cinp-reward;
cout’\n’;
return OK;
}
p=p-next;
}
}
int Menu(LinkList S)
{
int sign=1;
while(sign)
{
int i;
cout”请选择要进行的操作:1:插入 2:删除 3:输出 4:查找 5:排序 6:修改 0:退出”endl;
cini;
if(i==1)
{ if(InputInfo(S))
cout”操作成功!”endl;
cout’\n’;
}
else if(i==2)
{
char num[20];
cout”请输入要删除的职工编号:”endl;
cinnum; if(DeleteByCode(S,num))
cout”操作成功!”endl; else
{
cout”此编号不存在!”endl;
cout’\n’;
}
}
else if(i==3)
DisplayInfo(S);
else if(i==4)
{
int tag;
cout”1:按编号查找 2:按姓名查找 “endl;
cintag;
if(!Search(S,tag))
cout”未找到!”endl;
cout’\n’; }
else if(i==5)
{
if(Sort(S));
cout”操作成功!”endl;
cout’\n’;
}
else if(i==6)
{
if(change(S))
cout”修改成功!”endl;
} else if(i==0)
sign=0;
else
cout”输入有误,请重新输入!”endl;
cout’\n’;
}
return OK;
}
int main()
{
LinkList S;
initlist(S);
Menu(S);
return OK;} 已经调试无bug 有问题的话联系我。
用C语言课程设计—职工工资管理系统(分别用结构体数组和链表编写程序)
#includestdio.h
#define NUM 100
void input()
;void search()
;void search_num();
void dele()
;void dele_name();
void dele_num()
;void modi()
;void modi_num();
void output()
;void stat()
;void fun()
;void run();
struct emploee /*职工数据结构*/
{
char no[5];
char name[8];
char sex[3];
int age;
int salar;
}emp[NUM],newemp;
main()
{int x;
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”);
printf(“*** 欢迎使用职工工资管理系统 ***\n”);
printf(“请选择(0-8):\n”);
scanf(“%d”,x);
switch(x)
{
case 1: input();break;
case 2: search();break;
case 3: modi();break;
case 4: dele();break;
case 5: output();break;
case 6: stat();break;
case 7: run();break;
case 8: fun();break;
default:printf(“\n Wrong!”);
}
if(x==0)break;
}
}
void input()
{
FILE *fp;
int n,i;
if ((fp=fopen(“emp”,”wb”))==NULL)
{
printf(“不能建立emp文件\n”);
exit(1);
}
printf(“输入职工人数:”);
scanf(“%d”,n);
printf(“输入格式:职工号 姓名 性别 年龄 工资Enter\n”);
for(i=0;in;i++) /* 循环获取n个职工记录 */
{
printf(“第%d个职工:”,i+1);
scanf(“%s%s%s%d%d”,emp[i].no,emp[i].name,emp[i].sex,
emp[i].age,emp[i].salar);
}
for(i=0;in;i++) /*将n个职工记录写入文件*/
fwrite(emp[i],sizeof(struct emploee),1,fp);
fclose(fp);
}
/*************************统计模块**********************/
void stat( )
{
FILE *fp;
int n,num;
if((fp=fopen(“emp”,”rb”))==NULL)
{
printf(“不能打开emp文件\n”);
exit(1);
}
printf(“工资数:”);
scanf(“%d”,num);
printf(“记录号 职工号 姓名 性别 年龄 工资\n”);
for(n=0;fread(emp,sizeof(struct emploee),1,fp);n++)
if(emp[n].salar=num)
printf(“%6d%6s%9s%4s%5d%6d\n”,n+1,emp[n].no,emp[n].name,emp[n].sex,
emp[n].age,emp[n].salar);
fclose(fp);
}
/********************删除模块*******************/
void dele()
{
int x;
while(1)
{
printf(“\n\n\t\t删除子菜单\n”);
printf(“\t\t*********\n”);
printf(“\t\t 1.按职工号删除记录\n”);
printf(“\t\t 0.返回主菜单\n”);
printf(“\t\t*********\n”);
printf(“\t 请选择(0-1):”);
scanf(“%d”,x);
switch(x)
{case 1:dele_num();break;
default:printf(“\nWrong!”);
}
if(x==0)break;
}
}
void dele_num()
{
FILE *fp;
int i,j,n;
char num[5];
if((fp=fopen(“emp”,”rb”))==NULL)
{
printf(“不能打开emp文件\n”);
exit(1);
}
printf(“删除前:\n”);
printf(“记录号 职工号 姓名 性别 年龄 工资\n”);
for(n=0;fread(emp[n],sizeof(struct emploee),1,fp);n++)
printf(“%6s%6s%9s%4s%5d%6d\n”,n+1,emp[n].no,emp[n].name,emp[n].sex,
emp[n].age,emp[n].salar); /*n为emp文件中记录数*/
printf(“要删除的职工号:”);
scanf(“%s”,num);
for(i=0;(strcmp(emp[i].no,num)!=0in);i++)
if(i=n)
{
printf(“\t没有%s职工号的职工\n”,num);
exit(2);
}
fclose(fp);
fp=fopen(“emp”,”w+”);
if(n==1) /*一个记录已经删除了*/
{
fclose(fp);
exit(3);
}
for(j=0;ji;j++)
fwrite(emp[j],sizeof(struct emploee),1,fp);
for(j=i+1;jn;j++)
fwrite(emp[j],sizeof(struct emploee),1,fp);
printf(“删除后:\n”);
fseek(fp,0,SEEK_SET);
printf(“记录号 职工号 姓名 性别 年龄 工资\n”);
for(i=0;fread(emp[i],sizeof(struct emploee),1,fp);i++)
printf(“%6s%6s%9s%4s%5d%6d\n”,i+1,emp[i].no,emp[i].name,emp[i].sex,
emp[i].age,emp[i].salar);
fclose(fp);
}
/********************修改模块*******************/
void modi()
{
int x;
while(1)
{
printf(“\n\n\t\t修改子菜单\n”);
printf(“\t\t*********************\n”);
printf(“\t\t1. 按职工号修改\n”);
printf(“\t\t0. 返回主菜单\n”);
printf(“\t\t*********************\n”);
printf(“\t请选择(0-1):”);
scanf(“%d”,x);
switch(x)
{
case 1:modi_num();break;
default:printf(“\n输错误!”);
}
if(x==0)break;
}
}
void modi_num()
{
FILE *fp;
int i,j;
char num[5];
if((fp=fopen(“emp”,”rb+”))==NULL)
{
printf(“不能 打开emp文件\n”);
exit(1);
}
printf(“要修改的职工号:”);
scanf(“%s”,num);
for(i=0;fread(emp[i],sizeof(struct emploee),1,fp);i++)
if(!strcmp(emp[i].no,num))break;
if(feof(fp))
{
printf(“\t没有%s职工号的职工\n”,num);
exit(2);
}
printf(“记录号 职工号 姓名 性别 年龄 工资\n”);
printf(“%6d%6s%9s%4s%5d%6d\n”,i+1,emp[i].no,emp[i].name,emp[i].sex,
emp[i].age,emp[i].salar);
printf(“输入格式:职工号 姓名 性别 年龄 工资Enter\n”);
printf(“第%d个记录:”,i+1);
scanf(“%s%s%s%d%d”,newemp.no,newemp.name,newemp.sex,newemp.age,
newemp.salar);/*获取新的职工记录*/
fseek(fp,-(long)sizeof(struct emploee),SEEK_CUR);
/*文件指针指向该修改的记录开头*/
fwrite(newemp,sizeof(struct emploee),1,fp);/*用newemp覆盖当前记录*/
printf(” 修改后:\n”);
fseek(fp,0,SEEK_SET);/*显示修改后的文件数据*/
printf(“记录号 职工号 姓名 性别 年龄 工资\n”);
for(i=0;fread(emp[i],sizeof(struct emploee),1,fp)!=0;i++)
printf(“%6d%6s%9s%4s%5d%6d\n”,i+1,emp[i].no,emp[i].name,emp[i].sex,
emp[i].age,emp[i].salar);
fclose(fp);
}
/*************************查询模块***********************/
void search( )
{
int x;
while(1)
{
printf(“\n\n\t\t查子菜单\n”);
printf(“\t\t********************\n”);
printf(“\t\t 1.按职工号查询\n”);
printf(“\t\t 0.返回主菜单\n”);
printf(“\t\t********************\n”);
printf(“\t请选择(0-1):”);
scanf(“%d”,x);
switch(x)
{
case 1:search_num();break;
default :printf(“\n Wrong!”);
}
if(x==0) break;
}
}
void search_num()
{
FILE *fp;
int i;
char num;
if((fp=fopen(“emp”,”rb”))==NULL)
{
printf(“不能打开emp文件\n”);
exit(1);
}
printf(“要查询的职工号:”);
scanf(“%s”,num);
for(i=0;fread(emp[i],sizeof(struct emploee),1,fp);i++)
if(!strcmp(emp[i].no,num)) break;
if(feof(fp))
{
printf(“\t查无此人\n”);
exit(2);
}
printf(“记录号 职工号 姓名 性别 年龄 工资\n”);
printf(“%6d%6s%9s%4s%5d%6d\n”,i+1,emp[i].no,emp[i].name,emp[i].sex,
emp[i].age,emp[i].salar);
fclose(fp);
}
/*******************输出模块********************/
void output()
{int i;
FILE *fp;
if((fp=fopen(“emp”,”r”))==NULL)
{printf(“不能打开emp文件\n”);
exit(0);
}
printf(“记录号 职工号 姓名 性别 年龄 工资\n”);
for(i=0;fread(emp[i],sizeof(struct emploee),1,fp)!=0;i++)
{
printf(“%6d%6s%9s%4s%5d%6d\n”,i+1,emp[i].no,emp[i].name,emp[i].sex,
emp[i].age,emp[i].salar);
}
fclose(fp);
}
/******************追加模块*******************/
void run()
{
FILE *fp;
int n,i,j;
if((fp=fopen(“emp”,”ab+”))==NULL)
{printf(“不能打开emp文件\n”);
exit(0);
}
printf(“要追加的职工人数:”);
scanf(“%d”,n);
for(i=0;in;i++)
{ printf(“输入格式:职工号 姓名 性别 年龄 工资enter\n”);
printf(“职工记录:”);
scanf(“%s%s%s%d%d”,newemp.no,newemp.name,newemp.sex,newemp.age,
newemp.salar);
/*获取一个职工记录*/
fwrite(newemp,sizeof(struct emploee),1,fp);
/*将该职工记录写入文件*/
}
fclose(fp);
}
/*******************显示模块****************/
void fun()
{printf(“\t\t******************************************\n”);
printf(“\t\t* *\n”);
printf(“\t\t* *\n”);
printf(“\t\t* 谢 谢 使 用 ! *\n”);
printf(“\t\t* *\n”);
printf(“\t\t* *\n”);
printf(“\t\t******************************************\n”);
}
教师信息管理系统(C语言)
这个=v=你先建个教师的Class再往里面填method吧 无外乎就是什么get set之类的
至于功能界面 你看看能不能用什么widget之类的插件吧
求C语言 工资管理系统 原代码
#include iostream
#include string
#define MaxHEAP 100
using namespace std;
class Elem{
private:
int objectID;
int priority;
string proName;
public:
Elem(int objectID=0,int priority=0){
setID(objectID);
setPri(priority);
setProN(proName);
}
int getID(){
return objectID;
}
int getPri(){
return priority;
}
string getProN(){
return proName;
}
void setID(int id){
objectID=id;
}
void setPri(int pri){
priority=pri;
}
void setProN(string s)
{
proName=s;
}
};
class Heap
{
private:
Elem items[MaxHEAP];
int size;
public :
Heap(){
Elem items[MaxHEAP];
setSize(0);}
void setSize(int sz)
{size=sz;}
int heapIsEmpty(){
return size==0;
}
void heapInsert(Elem newItem)
{if(sizeMaxHEAP)
{
items[size]=newItem;
int place=size;
int parent=(place-1)/2;
while((parent=0)(items[parent].getPri()items[place].getPri()))
{
Elem temp=items[parent];
items[parent]=items[place];
items[place]=temp;
place=parent;
parent=(place-1/2);
}
++size;
}
heapRebuild(0);
}
Elem heapDelete(int ID)
{
Elem rootItem;
if(!heapIsEmpty())
{
for(int i=0;isize;i++)
if(items[i].getID()==ID)
{rootItem=items[i];
swap(items[i],items[0]);
}
items[0]=items[–size];
heapRebuild(0);
}
else cout”\n错误:目录为空”endl;
return rootItem;
}
void heapInit(){
setSize(0);
cout”空的项目”endl;}
void heapView(){
if(size==0){
cout”空的项目!”endl;
}
else{
cout”共有项目数: “sizeendl;
for(int ct=0;ctsize;ct++){
cout”ID: “items[ct].getID()” 优先级: “items[ct].getPri()
” 工资数目: ” items[ct].getProN()endl;
}
}
}
void search(int ID)
{ int N=0;
for(int i=0;isize;i++)
if(items[i].getID()==ID)
{N++;
cout”ID: “items[i].getID()” 优先级: “items[i].getPri()
” 名称: ” items[i].getProN()endl; }
if(!N) cout”未找到匹配的ID”endl;
}
void heapRebuild(int root)
{
int child=2*root+1;
if(childsize)
{
int rightChild=child+1;
if((rightChildsize)(items[rightChild].getPri()=items[child].getPri()))
{child=rightChild;
}
if(items[root].getPri()=items[child].getPri())
{
Elem temp=items[root];
items[root]=items[child];
items[child]=temp;
heapRebuild(child);
}
}
}
};
class priQueue
{private:
Heap h;
public:
priQueue(){
Heap();
}
int priIsEmpty(){
return h.heapIsEmpty();
}
void priInit(){
h.heapInit();
}
void priInsert(Elem newItem){
h.heapInsert(newItem);
}
Elem priDelete(int ID){
return h.heapDelete(ID);
}
void priView(){h.heapView();
}
void search(int ID)
{
h.search(ID);
}
};
void showMenu(){
cout”————————————————“endl;
cout”—————–*工资管理系统*—————–“endl;
cout”————————————————“endl;
cout” 1.重置”endl;
cout” 2.输入”endl;
cout” 3.删除”endl;
cout” 4.查询”endl;
cout” 5.打印”endl;
cout” 0.退出”endl;
cout”————————————————“endl;
}
void showTip(){
cout”———————————^_^–操作完成!”endl;
cout”————————————选择0-5继续”endl;
}
int main(){
string i=”-1″;
int ID,PRI;
string proName;
Elem in;
priQueue PQ;
PQ.priInit();
system(“cls”);
showMenu();
cout”选择菜单中的数字以便处理数据!”endl;
cini;
system(“cls”);
while(i!=”0″)
{ if(i==”1″)
{ system(“cls”);
showMenu();
cout”你选择了1,项目将全部清空:”endl;
PQ.priInit();
showTip();
}
else if(i==”2″)
{system(“cls”);
showMenu();
cout”你选择了2,输入ID,优先级,工资”endl;
cout”输入 ID(数字):”endl;
cinID;
cout”输入优先级(数字):”endl;
cinPRI;
cout”输入工资数目(数字):”endl;
cinproName;
in.setID(ID);
in.setPri(PRI);
in.setProN(proName);
PQ.priInsert(in);
showTip();
}
else if(i==”3″)
{system(“cls”);
showMenu();
cout”你选择了3,请选择你要删除的ID号”endl;
cinID;
PQ.priDelete(ID);
showTip();
}
else if(i==”4″)
{system(“cls”);
showMenu();
cout”你选择了4,输入要查找的项目ID号”endl;
cinID;
PQ.search(ID);
showTip();
}
else if(i==”5″)
{system(“cls”);
showMenu();
cout”你选择了5,整个系统工资情况显示如下:”endl;
PQ.priView();
showTip();
}
else {
system(“cls”);
showMenu();
cout”无效输入!”endl;
}
cini;
system(“cls”);
}
return 0;
}
c语言程序设计、工资管理系统
#include stdio.h
#include windows.h
#include time.h
#include string.h
#define N 100
struct employee
{
int num;
char name[10];
char zhicheng;
int jiben;
int jiangjin;
int baoxian;
int zafei;
int shiji;
}em[100]; /*定义一个结构体*/
void menu();
void input();
void save(int);
void display();
void del();
void search();
void search_zhicheng();
void search_name();
void modify(); /*定义各函数*/
void menu() /*菜单函数*/
{
printf(“\n”);
printf(” 网计091 第7小组\n”);
printf(“\n”);
printf(” ******************职工信息管理****************\n”);
printf(” 1.录入职工信息”);
printf(” 2.浏览职工信息\n”);
printf(” 3.查询职工信息”);
printf(” 4.删除职工信息\n”);
printf(” 5.修改职工信息\n”);
printf(” 6.退出\n”);
printf(” ********************谢谢使用******************\n”);
printf(“\n”);
printf(“\n”);
}
void main()
{
int n,flag;
char a;
while(1)
{
do
{
menu(); /*调用菜单函数*/
printf(“请选择你需要操作的步骤(1–6):\n”);
scanf(“%d”,n);
if(n=1n=6)
{
flag=1;
break;
}
else
{
flag=0;
printf(“您输入有误,请重新选择!”);
}
}while(flag==0);
switch(n)
{
case 1:printf(” 输入职工信息\n”);printf(“\n”);input();break;
case 2:printf(” 浏览职工信息\n”);printf(“\n”);system(“cls”);display();break;
case 3:printf(” 按职工号查询职工信息\n”);printf(“\n”);system(“cls”);search();break;
case 4:printf(” 删除职工信息\n”);printf(“\n”);system(“cls”);del();break;
case 5:printf(” 修改职工信息\n”);printf(“\n”);system(“cls”);modify();break;
case 6:goto la;
default :break;
}
}
la:
system(“cls”);
printf(“\n\n\n\n\n 谢谢使用!\n”);
}
void input() /*录入函数*/
{
int i,m;
printf(“请输入需要创建信息的职工人数(1–100):\n”);
scanf(“%d”,m);
for (i=0;im;i++)
{
printf(“请输入职工号: “);
scanf(“%d”,em[i].num); //这里的代码错,要用数组下标
printf(“\n”);
printf(“请输入姓名: “);
scanf(“%s”,em[i].name);//这里的代码错,要用数组下标
getchar();
printf(“请输入职称: “);
scanf(“%c”,em[i].zhicheng);//这里的代码错,要用数组下标
printf(“请输入基本工资: “);
scanf(“%d”,em[i].jiben);//这里的代码错,要用数组下标
printf(“请输入奖金: “);
scanf(“%d”,em[i].jiangjin);//这里的代码错,要用数组下标
printf(“请输入保险: “);
scanf(“%d”,em[i].baoxian);//这里的代码错,要用数组下标
printf(“请输入杂费: “);
scanf(“%d”,em[i].zafei);//这里的代码错,要用数组下标
em[i].shiji=em[i].jiben + em[i].jiangjin – em[i].baoxian – em[i].zafei;//这里的代码错,要用数组下标
printf(“\n”);
}
printf(“\n创建完毕!\n”);system(“cls”);
save(m);
}
void save(int m) /*保存文件函数*/
{
int i;
FILE*fp;
if ((fp=fopen(“employee_list”,”wb”))==NULL) /*创建文件并判断是否能打开*/
{
printf (“cannot open file\n”);
exit(0);
}
for (i=0;im;i++) /*将内存中职工的信息输出到磁盘文件中去*/
if (fwrite(em,sizeof(struct employee),1,fp)!=1)
printf(“file write error\n”);
fclose(fp);
}
int load() /*导入函数*/
{
FILE*fp;
int i=0;
if((fp=fopen(“employee_list”,”rb”))==NULL)
{
printf (“cannot open file\n”);
exit(0);
}
else
{
do
{
fread(em,sizeof(struct employee),1,fp);
i++;
}
while(feof(fp)==0);
}
fclose(fp);
return(i-1);
}
void display() /*浏览函数*/
{
int i;
int m=load();
printf(“\n职工号\t姓名\t职称\t基本工资\t奖金\t保险\t杂费\t实际工资 \n”);
for(i=0;im;i++) /*m为输入部分的职工人数*/
printf(“\n %d\t %s\t %c\t %d\t %d\t %d\t %d\t %d\n”,em[i].num,em[i].name,em[i].zhicheng,em[i].jiben,em[i].jiangjin,em[i].baoxian,em[i].zafei,em[i].shiji); //这里的代码错,要用数组下标
printf(“按任意键继续\n”);
getchar();getchar();system(“cls”);
}
void del() /*删除函数*/
{
int m=load();
int i,j,n,t,flag;
char name1[10];
printf(“\n 原来的职工信息:\n”);
display(); /* 调用浏览函数*/
printf(“\n”);
printf(“请输入要删除的职工的姓名:\n”);
scanf(“%s”,name1);
for(flag=1,i=0;flagim;i++)
{
if(strcmp(em[i].name,name1)==0)
{
printf(“\n已找到此人,原始记录为:\n”);
printf(“\n职工号\t姓名\t职称\t基本工资\t奖金\t保险\t杂费\t实际工资 \n”);
printf(“\n%d\t%s\t%c\t%d\t%d\t%d\t%d\t%d\n”,em[i].num,em[i].name,em[i].zhicheng,em[i].jiben,em[i].jiangjin,em[i].baoxian,em[i].zafei,em[i].shiji);
printf(“\n确实要删除此人信息请按1,不删除请按0\n”);
scanf(“%d”,n);
if(n==1) /*如果删除,则其他的信息都往上移一行*/
{
for(j=i;jm-1;j++)
{
em[j]=em[j+1];
}
flag=0;
}
}
}
if(!flag)
m=m-1;
else
printf(“\n对不起,查无此人!\n”);
printf(“\n 浏览删除后的所有职工信息:\n”);
save(m); /*调用保存函数*/
display(); /*调用浏览函数*/
printf(“\n继续删除请按1,不再删除请按0\n”);
scanf(“%d”,t);
switch(t)
{
case 1:del();break;
case 0:break;
default :break;
}system(“cls”);
}
void search()/*查询函数*/
{
int t,flag;
do
{
printf(“\n按姓名查询请按1 ; 按职称查询请按2 ; 进入主函数按3\n”);
scanf(“%d”,t);
if(t=1t=3)
{
flag=1;
break;
}
else
{
flag=0;
printf(“您输入有误,请重新选择!”);
}
}while(flag==0);system(“cls”);
while(flag==1)
{
switch(t)
{
case 1:printf(“按姓名查询\n”);search_name();break;
case 2:printf(“按职称查询\n”);search_zhicheng();break;
case 3:main();break;
default:break;
}
system(“cls”);
}
}
void search_name()
{
char name1[10];
int i,t;
int m=load();
printf(“请输入要查找的姓名:\n”);
scanf(“%s”,name1);
for(i=0;im;i++)
if(strcmp(name1,em[i].name)==0)
{
printf(“\n已找到此人,其记录为:\n”);
printf(“\n职工号\t姓名\t职称\t基本工资\t奖金\t保险\t杂费\t实际工资 \n”);
printf(“\n%d\t%s\t%c\t%d\t%d\t%d\t%d\t%d\n”,em[i].num,em[i].name,em[i].zhicheng,em[i].jiben,em[i].jiangjin,em[i].baoxian,em[i].zafei,em[i].shiji);
break;
}
if(i==m)
printf(“\n对不起,查无此人\n”);
printf(“\n”);
printf(“返回查询函数请按1,继续查询职工号请按2\n”);
scanf(“%d”,t);
switch(t)
{
case 1:search();break;
case 2: break;
default:break;
}
}
void search_zhicheng()
{
char zhicheng;
int i,t=0;
int m=load();
system(“cls”);
printf(“请输入要查找的职称:\n”);
scanf(“%c”,zhicheng); //这里要用地址
for(i=0;im;i++)
if(em[i].zhicheng==zhicheng)
{
printf(“\n已找到,其记录为:\n”);
printf(“\n职工号\t姓名\t职称\t基本工资\t奖金\t保险\t杂费\t实际工资 \n”);
printf(“\n%d\t%s\t%c\t%d\t%d\t%d\t%d\t%d\n”,em[i].num,em[i].name,em[i].zhicheng,em[i].jiben,em[i].jiangjin,em[i].baoxian,em[i].zafei,em[i].shiji);
}
if(i==m)
printf(“\n对不起,查无此人\n”);
printf(“\n”);
printf(“返回查询函数请按1,继续查询学历请按2\n”);
scanf(“%d”,t);
switch(t)
{
case 1:system(“cls”);search();break;
case 2:break;
default :break;
}
}
void modify() /*修改函数*/
{
int num;
char name[10];
char zhicheng;
int jiben;
int jiangjin;
int baoxian;
int zafei;
int shiji;
int b,c,i,n,t,flag;
int m=load(); /*导入文件内的信息*/
printf(“\n 原来的职工信息:\n”);
display(); /* 调用浏览函数*/
printf(“\n”);
printf(“请输入要修改的职工的姓名:\n”);
scanf(“%s”,name);
for(flag=1,i=0;flagim;i++)
{
if(strcmp(em[i].name,name)==0)
{
printf(“\n已找到此人,原始记录为:\n”);
printf(“\n职工号\t姓名\t职称\t基本\t奖金\t保险\t杂费\t实际工资 \n”);
printf(“\n%d\t%s\t%c\t%d\t%d\t%d\t%d\t%d\n”,em[i].num,em[i].name,em[i].zhicheng,em[i].jiben,em[i].jiangjin,em[i].baoxian,em[i].zafei,em[i].shiji);
printf(“\n确实要修改此人信息请按1 ; 不修改请按0\n”);
scanf(“%d”,n);
if(n==1)
{
printf(“\n需要进行修改的选项\n 1.职工号 2.姓名 3.职称 4.基本工资 5.奖金 6.保险 7.杂费 8.实际工资\n”);
printf(“请输入你想修改的那一项序号:\n”);
scanf(“%d”,c);
if(c8||c1)
printf(“\n选择错误,请重新选择!\n”);
}
flag=0;
}
}
if(flag==1)
printf(“\n对不起,查无此人!\n”);
do
{
switch(c) /*因为当找到第i个职工时,for语句后i自加了1,所以下面的应该把改后的
信息赋值给第i-1个人*/
{
case 1:printf(“职工号改为: “);
scanf(“%d”,num);
em[i-1].num=num;
break;
case 2:printf(“姓名改为: “);
scanf(“%s”,name);
strcpy(em[i-1].name,name);
break;
case 3:printf(“职称改为: “);
getchar();
scanf(“%c”,zhicheng);
em[i-1].zhicheng=zhicheng;
break;
case 4:printf(“基本工资改为: “);
scanf(“%d”,jiben);
em[i-1].jiben=jiben;
break;
case 5:printf(“奖金改为: “);
scanf(“%d”,jiangjin); //这里要用地址
em[i-1].jiangjin=jiangjin;
break;
case 6:printf(“保险改为: “);
scanf(“%d”,baoxian);//这里要用地址
break;
case 7:printf(“杂费改为: “);
scanf(“%d”,zafei);//这里要用地址
em[i-1].zafei=zafei;
break;
case 8:printf(“实际工资改为: “);
scanf(“%d”,shiji);
em[i-1].shiji=shiji;
break;
}
printf(“\n”);
printf(“\n是否确定所修改的信息?\n 是 请按1 ; 不,重新修改 请按2: \n”);
scanf(“%d”,b);
}
while(b==2);
printf(“\n浏览修改后的所有职工信息:\n”);
printf(“\n”);
save(m);
display();
printf(“\n继续修改请按1,不再修改请按0\n”);
scanf(“%d”,t);
switch(t)
{
case 1:modify();break;
case 0:break;
default :break;
}system(“cls”);
}
用c语言编写工资管理系统
程序名称:工资管理系统
程序说明:
该系统在磁盘上储存了某单位上月全体员工的工资信息,对于每一位职工存储以下信息:
月份,职工编号,基本工资,津贴,岗贴,补贴,房贴,交通补贴,应发数,房租,储蓄,
会费,个人所得税,应扣数,实发数。
工资管理系统详细代码参考一下
c语言教师工资管理系统的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、c语言教师工资管理系统的信息别忘了在本站进行查找喔。