职工工资管理系统(编号、姓名、性别、基本工资、补贴工资、扣除工资、总工资)
【【【【——》(采用不带头结点且带头尾指针的双循环来编译!!!)
具体的模块:
1密码修改模块
2密码启动模块
3数据录入模块
4数据查找模块(按编号查询,姓名(包括模糊)查询)
5数据插入模块
6数据保存读入模块
7数据统计模块(分别统计:补贴工资,扣除工资,总工资的总数)
8数据删除模块
如果哪位高手在编的话,留下您的大名,
先谢谢各位了,
数据排序模块
职工工资管理系统(编号、姓名、性别、基本工资、补贴工资、扣除工资、总工资)
【【【【——》(采用不带头结点且带头尾指针的双循环来编译!!!)
具体的模块:
1密码修改模块
2密码启动模块
3数据录入模块
4数据查找模块(按编号查询,姓名(包括模糊)查询)
5数据插入模块
6数据保存读入模块
7数据统计模块(分别统计:补贴工资,扣除工资,总工资的总数)
8数据删除模块
如果哪位高手在编的话,留下您的大名,
先谢谢各位了,
数据排序模块
具体答案看看是否符合。
#include<stdio.h>
#define ok 1
#define error 0
typedef int ElemType;
typedef struct worker
{
int i;
char name[5];
int sex;
int number;
int jiben;
int kouchu;
int zong;
}wor;
typedef struct Lnode
{
wor worker;
struct Lnode *next;
struct Lnode *pre;
}Lnode,*list;
list head;
int pastword()
{
int i=1;
char c;
char y[10];
char p[10]="1122";
FILE *fp;
clrscr();
fp=fopen("code3.txt","r");
if(fp==NULL)
{
fp=fopen("code3.txt","w");
fwrite(p,6,1,fp);
fread(p,6,1,fp);
fclose(fp);
}
else fgets(p,10,fp);
printf("\n\n\t请输入密码:");
scanf("%s",y);
while(strcmp(y,p) && i<3)
{
clrscr();
printf("\n\t密码错误,重新请输入:");
i++;
scanf("%s",y);
}
if(!strcmp(y,p))
{
printf("\n\n\t恭喜你,密码正确请继续!!\n");
return 1;
}
if(i==3)
{
clrscr();
printf("\n\n\n\n");
printf("\t=$***********************************************=$\n");
printf("\t=$ ===数据结构课程设计=== =$\n");
printf("\t=$ =$\n");
printf("\t=$ 设计 人员 =$\n");
printf("\t=$ =$\n");
printf("\t=$ 对不起,您输入密码错误超过三次! =$\n");
printf("\t=$ =$\n");
printf("\t=$ 想要使用该系统!请与管理员联系 =$\n");
printf("\t=$ =$\n");
printf("\t=$ TEL:1234645789 =$\n");
printf("\t=S =$\n");
printf("\t=$***********************************************=$\n");
getch();
exit(0);
}
}
int fixword()
{
int i=0;
char c1[10];
char c2[10];
FILE *fp;
clrscr();
fp=fopen("code3.txt","r");
fgets(c1,10,fp);
printf("\n\n\t请输入原始密码:");
scanf("%s",c2);
if(!strcmp(c1,c2))
{
printf("\n\n\t请再次输入原始密码:");
scanf("%s",c2);
}
while(strcmp(c1,c2) && i<3)
{
printf("\n\n\t密码错误,重新请输入:");
i++;
scanf("%s",c2);
}
if(i==3 && strcmp(c1,c2))
{
clrscr();
printf("\n\n\t对不起,您输入密码超过三次!不能使用该系统!请按任意键退出!\n");
getch();
exit(0);
}
if(!strcmp(c1,c2))
{
clrscr();
printf("\n\n\t请输入新密码:");
scanf("%s",c1);
clrscr();
printf("\n\n\t请再次输入新密码:");
scanf("%s",c2);
if(strcmp(c1,c2))
{
printf("\n\n\t密码修改失败,请按任意键退回主菜单!");
getch();
exit(0);
}
}
fp=fopen("code3.txt","w");
fwrite(c1,6,1,fp);
fread(c1,6,1,fp);
fclose(fp);
clrscr();
printf("\n\n\n\n\t密码修改成功!!,按任意健退出!");
getch();
}
wor setwor(wor worker)
{
printf("请输入要插入的职工信息:\n");
printf("请输入编号:");
scanf("%d",&worker.number);
printf("请输入姓名:\n");
scanf("%s",worker.name);
printf("请选择性别(1:男,2,女)");
scanf("%d",&worker.sex);
printf("请输入基本工资:");
scanf("%d",&worker.jiben);
printf("请输入扣除工资:");
scanf("%d",&worker.kouchu);
worker.zong=worker.jiben-worker.kouchu;
return worker;
}
list setlist(list head )
{
int y;
list p,q;
printf("\n\n\n\i输入控制量!<1:继续,0:退出>");
scanf("%d",&y);
if(!y) return NULL;
if(y)
{
q=p=(list)malloc(sizeof(Lnode));
p->worker=setwor(p->worker);
head=p;
}
clrscr();
printf("\t\n\n\n输入控制量!<1:继续,0:退出>");
scanf("%d",&y);
while(y!=0)
{
p=(list)malloc(sizeof(Lnode));
p->worker=setwor(p->worker);
q->next=p;
p->pre=q;
q=p;
clrscr();
printf("\n\n\n\t输入控制量!<1:继续,0:退出>");
scanf("%d",&y);
}
p->next=head;
head->pre=p;
return head;
}
void comeout()
{
exit(0);
}
void printlist()
{
int i=0;
int s=0;
FILE *fp2;
FILE *fp1;
list p=NULL;
clrscr();
fp1=fopen("source.txt","r");
if(fp1==NULL)
{
printf("没有记录\n");
getch();
return ;
}
while(feof(fp1)==0)
{
fread(&p->worker,sizeof(struct worker),1,fp1);
i++;
}
fclose(fp1);
fp2=fopen("source.txt","r");
printf("职工信息:\t姓名:\t编号:\t性别:\t基本工资:\t扣除工资:\t总工资:\n");
while(s<=i-2)
{
fread(&p->worker,sizeof(struct worker),1,fp2);
printf("职工信息: %s\t%d\t",p->worker.name,p->worker.number);
if(p->worker.sex==1) printf("男\t");
else printf("女\t");
printf("%d\t %d\t %d\n",p->worker.jiben,p->worker.kouchu,p->worker.zong);
s++;
}
fclose(fp2);
getch();
}
turn(list head)
{
int i=0;
int s=0;
FILE *fp2;
FILE *fp1;
list q=head;
list p=NULL;
clrscr();
fp1=fopen("source.txt","r");
if(fp1==NULL)
{
printf("没有记录\n");
getch();
return ;
}
while(feof(fp1)==0)
{
fread(&p->worker,sizeof(struct worker),1,fp1);
i++;
}
fclose(fp1);
fp2=fopen("source.txt","r");
while(s<=i-2)
{
p=(list)malloc(sizeof(Lnode));
fread(&p->worker,sizeof(struct worker),1,fp2);
q->next=p;
q=p;
s++;
}
fclose(fp2);
p->next=NULL;
fun(head);
saveline2(head);
}
save2(list p)
{
FILE *fp1;
fp1=fopen("source.txt","a");
fwrite(&p->worker,sizeof(struct worker),1,fp1);
fclose(fp1);
}
saveline2(list head)
{
list p=head->next;
FILE *fp1;
fp1=fopen("source.txt","w");
fclose(fp1);
while(p->next!=NULL)
{
save2(p);
p=p->next;
}
save1(p);
clrscr();
printf("\t\t\t\n文件保存成功!按任意健返回主菜单!");
getch();
}
我给你个很简单的 你要不要吗 我用的是MFC做的 用了 access数据库如果你懂MFC 你还要拿去修改 因为有几个功能是没有的!
你提的不是问题,而是叫人帮你做作业,我想在问问上是没有人的,像这种设计都是付费的