永发信息网

急求一财务管理系统(C++)

答案:2  悬赏:70  手机版
解决时间 2021-05-01 07:21
  • 提问者网友:世勋超人
  • 2021-04-30 22:50

一、设计题目

财务管理系统

二、主要内容

设计一个简单的公司财务管理系统,有常用的最基本功能。

三、具体要求及应提交的材料

1、司的日常开支,收入进行登记。要求以链表的格式储存,信息保存在文件中。

2、设计收入类,支出类,会计科目类等。公司收入可以通过产品销售,项目实施;公司支出可以是员工工资,员工培训,客户服务,出差。

3、实现以下功能:

1)新建,删除,修改应收账款;

2)新建,修改应付账款;

3)财务查询:根据科目名称,收入类型进行查询。

设计结束后,每位同学必须上交如下材料:

1. 《课程设计说明书》打印稿一份;

2. 《课程设计说明书》电子文档及课程设计的程序源代码

四、主要技术路线提示

首先根据要解决的问题分析设计类图,抽象出各个类的数据成员和函数成员,然后进行详细编码,在主函数中创建类的对象,调用适当的成员函数或全局函数实现相应的功能。最后要对软件进行测试。

最佳答案
  • 五星知识达人网友:独行浪子会拥风
  • 2021-04-30 23:55

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
struct worktype
{
char name[10],kind[10];
int id,age,wage;
worktype *link;
} ;
worktype *first;
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//屏幕显示部分函数声明
void insert();
void fix();
void select();
void deletedata();
void mainscreen();
void print(worktype*);
//屏幕显示部分函数声明结束
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//链表函数声明
worktype* insertwork(worktype *first,char newname[10],int newid,int newage,int newwage,char newkind[10]); //插入节点函数
worktype *nameselect(worktype *first,char *selectname);//返回按名字查找的地址,没有返回空
worktype *idselect(worktype *first,int selectid); //返回按id查找的地址,没有返回空
void fix(worktype *position,char *name,int id,int age,int wage,char *kind);//修改节点函数
worktype* deletework(worktype *position,worktype *first);//删除节点
void readin();
void writeout();//链表的,写入文件
//链表函数声明结束
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void main()
{


system("cls");
printf(" 小公司员工信息管理系统\n\n");
printf("=============================================================================\n\n");
printf(" 1--添加新员工\n\n");
printf(" 2--修改员工信息\n\n");
printf(" 3--查询员工信息\n\n");
printf(" 4--删除员工\n\n");
printf(" 5--所有员工信息\n\n");
printf(" 6--从文件读入员工信息员工信息\n\n");
printf(" 7--将员工信息写入文件\n\n");
printf("=============================================================================\n");
printf("请选择1~4:\n");
int a;
scanf("%d",&a);
while(a>7||a<1)
{
printf("对不起输入错误,请输入1~4:\n ");
scanf("%d",&a);
}
switch(a)
{
case 1:insert();break;
case 2:fix();break;
case 3:select();break;
case 4:deletedata();break;
case 5:print(first);break;
case 6:readin();
case 7:writeout();
}
}
//屏幕显示部分函数实现
void print(worktype *first)
{
system("cls");
printf(" 小公司员工信息管理系统\n\n");
printf("=============================================================================\n\n");
printf(" 所有员工信息页面\n\n");
worktype*position=first;
while(position!=0)
{
printf("员工信息:\n姓名:%s 编号:%d 年龄:%d 工资: %d 职位:%s\n",position->name,position->id,position->age,position->wage,position->kind);
position=position->link;
}
printf("按1返回主界面");
int choice;
scanf("%d",&choice);
if(choice==1)
main();
}
void insert()
{
system("cls");
printf(" 小公司员工信息管理系统\n\n");
printf("=============================================================================\n\n");
printf(" 添加员工信息页面\n\n");
printf("请按顺序输入 :姓名,编号,年龄,工资,职位 ,回车键结束\n");
char newname[10],newkind[10];
int newid,newage,newwage;
scanf("%s %d %d %d %s",newname,&newid,&newage,&newwage,newkind);
while(idselect(first,newid)!=0)
{
printf("id重复!请重新输入!\n");
printf("请按顺序输入 :姓名,编号,年龄,工资,职位 ,回车键结束\n");
scanf("%s %d %d %d %s",newname,&newid,&newage,&newwage,newkind);
}
printf("姓名:%s 编号:%d 年龄:%d 工资: %d 职位:%s\n\n",newname,newid,newage,newwage,newkind);
first=insertwork(first,newname,newid,newage,newwage,newkind);
printf("添加成功!按 1 继续添加,按 2 返回\n\n");
int choice;
scanf("%d",&choice);
while(choice!=1&&choice!=2)
{
printf("对不起输入错误,请输入1或2\n");
scanf("%d",&choice);
}
if(choice==2)
main();
if(choice==1)
insert();
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void fix()
{
system("cls");
printf(" 小公司员工信息管理系统\n\n");
printf("=============================================================================\n\n");
printf(" 员工信息修改页面\n\n");
printf("请选择查询方式 1:按姓名,2:按id");
int choice;
scanf("%d",&choice);
while(choice!=1&&choice!=2)
{
printf("对不起输入错误,请输入1或2\n");
scanf("%d",&choice);
}
if(choice==1)
{
printf("请输入要修改的姓名:\n");
char selectname[10];
scanf("%s",selectname);
worktype* position=nameselect(first,selectname);
if(position==0)
printf("查无此人!\n");
while(position!=0)
{
printf("员工信息:\n姓名:%s 编号:%d 年龄:%d 工资: %d 职位:%s\n",position->name,position->id,position->age,position->wage,position->kind);
printf("是否修改此人?确认请按1,保留请按2");
scanf("%d",&choice);
if(choice==1)
first=deletework(position,first);
printf("请按顺序输入 :姓名,编号,年龄,工资,职位 ,回车键结束\n");
char newname[10],newkind[10];
int newid,newage,newwage;
scanf("%s %d %d %d %s",newname,&newid,&newage,&newwage,newkind);
printf("姓名:%s 编号:%d 年龄:%d 工资: %d 职位:%s\n\n",newname,newid,newage,newwage,newkind);
first=insertwork(first,newname,newid,newage,newwage,newkind);
position=nameselect(position->link,selectname); //防止重名的
}
}
if(choice==2)
{
printf("请输入要修改的id:\n");
int selectid;
scanf("%d",&selectid);
worktype* position=idselect(first,selectid);
if(position!=0)
{
printf("员工信息:\n姓名:%s 编号:%d 年龄:%d 工资: %d 职位:%s\n",position->name,position->id,position->age,position->wage,position->kind);
printf("是否删除此人?确认请按1,保留请按2");
scanf("%d",&choice);
if(choice==1)
first=deletework(position,first);
printf("请按顺序输入 :姓名,编号,年龄,工资,职位 ,回车键结束\n");
char newname[10],newkind[10];
int newid,newage,newwage;
scanf("%s %d %d %d %s",newname,&newid,&newage,&newwage,newkind);
printf("姓名:%s 编号:%d 年龄:%d 工资: %d 职位:%s\n\n",newname,newid,newage,newwage,newkind);
first=insertwork(first,newname,newid,newage,newwage,newkind);
}
else
printf("查无此人!\n");
}
printf("按1返回主界面");
scanf("%d",&choice);
if(choice==1)
main();
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void select()
{
system("cls");
printf(" 小公司员工信息管理系统\n\n");
printf("=============================================================================\n\n");
printf(" 员工信息查询页面\n\n");
printf("请选择查询方式 1:按姓名,2:按id\n");
int choice;
scanf("%d",&choice);
while(choice!=1&&choice!=2)
{
printf("对不起输入错误,请输入1或2\n");
scanf("%d",&choice);
}
if(choice==1)
{
printf("请输入要查询的姓名:\n");
char selectname[10];
scanf("%s",selectname);
worktype* position=nameselect(first,selectname);
if(position==0)
printf("查无此人!\n");
while(position!=0)
{
printf("员工信息:\n姓名:%s 编号:%d 年龄:%d 工资: %d 职位:%s\n",position->name,position->id,position->age,position->wage,position->kind);
position=nameselect(position->link,selectname); //防止重名的
}
}
if(choice==2)
{
printf("请输入要查询的id:\n");
int selectid;
scanf("%d",&selectid);
worktype* position=idselect(first,selectid);

全部回答
  • 1楼网友:拾荒鲤
  • 2021-05-01 00:40
太厉害了。。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯