• 大小: 189KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-03
  • 语言: C/C++
  • 标签:

资源简介

一、具体任务题目: 个人账簿管理系统设计 功能: 个人账簿管理系统记录某人每月的全部收入及各项开支情况,包括食品消费,房租,子女教育费用,水电费,医疗费,储蓄等。 进入系统后可以输入和修改某月的收支情况,可以对每月的开支从小到大进行排序,可以根据输入的月份查询每月的收支情况。 分步实施: 1. 初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数; 2. 完成最低要求:建立一个文件,包括某人5个月的收支情况,能对文件中的信息进行扩充(追加),修改和删除; 3. 进一步要求:完成对每月的开支排序,以及完成系统查询功能。有兴趣的同学可以自己扩充系统功能。 部分代码: typedef struct { int month;//月份 int spxf;//食品消费 int fzfy;//房租费用 int znjy;//子女教育费用 int sdfy;//水电费用 int ylfy;//医疗费用 int cxfy;//储蓄费用 int srfy;//收入费用 } Infor;

资源截图

代码片段和文件信息

#include “linklist.h“
#include “calculate.h“

int check(linkList Lint e)
{
LNode *p1*p2;
p1=L;
p2=p1->next ;
while(p2!=NULL&&p2->data.month {
p1=p2;p2=p2->next; 
}
if(p2==NULL)return 0;
if(p2->data.month==e){
printf(“已经存在的记录...可选择修改项更改记录...\n“);
return 1;
}
else return 0;
}

void Insert(linkList &LElemType e)

LNode *p1*p2*p;
p1=L;
p2=p1->next ;
while(p2!=NULL&&p2->data.month {
p1=p2;p2=p2->next; 
}
p=(linkList)malloc(sizeof(LNode));//申请新结点
p->data.month=e.month;
p->data.food=e.food;
p->data.house=e.house;
p->data.edu=e.edu;
p->data.med=e.med;
p->data.save=e.save;
p->data.wt_elc=e.wt_elc;
p->data.outcome=e.outcome;
p1->next=p;
p->next=p2;
}

void FillList(linkList LSqList &S)
{
LNode *p;
p=L->next;
int ik=1;
for(i=1;i<13;++i)
{
S.r[i].outcome=0;
S.r[i].month=0;
}
for(pi=1;p!=NULL;p=p->nexti++)
{
S.r[i].outcome=p->data.outcome;
S.r[i].month=p->data.month;
}
printf(“排序前:\n“);
for(i=1;i<13;i++)
{
if(S.r[i].month!=0)printf(“第%d月支出:%d\n“S.r[i].monthS.r[i].outcome);
}
BubbleSort(S);
printf(“\n\n排序后的结果为:\n“);
for(i=1;i<13;i++)
{
if(S.r[i].month!=0)printf(“No.%d:  第%d月支出:%d\n“k++S.r[i].monthS.r[i].outcome);
}
}

void BubbleSort(SqList &a)//冒泡排序
{
keytype temp;
for (int i=1;i<=11;i++)
{
for (int j=1;j<13-i-1;j++)
{
if(a.r[j].outcome>a.r[j+1].outcome)
{
temp.month=a.r[j].month;temp.outcome=a.r[j].outcome;
a.r[j].month=a.r[j+1].month;a.r[j].outcome=a.r[j+1].outcome;
a.r[j+1].month=temp.month;a.r[j+1].outcome=temp.outcome;
}
}
}
}


LNode* Find(linkList L)

    LNode *p;
int select;
    printf(“请输入需要查找的月份:\n“);
p=L->next ;
scanf(“%d“&select);
while(p&&p->data.month!=select)
p=p->next;
return p;
}

void Change(linkList &L)
{  
   LNode *p*q;
   int nm;
   p=Find(L);
   if (p==NULL)
{
printf(“未找到相应的记录!\n“);
return;
}
   q=L;
   while (q!=NULL && q->next!=p)
   {
   q=q->next;
   }
   q=q->next;
   printf(“请选择需要修改的子项目:\n1-食品2-房租3-子女教育4-水电5-医疗6-储蓄\n“);
   scanf(“%d“&n);
   printf(“修改为...\n“);
   scanf(“%d“&m);
   switch(n){
   case 1:q->data.food=m;break;
   case 2:q->data.house=m;break;
   case 3:q->data.edu=m;break;
   case 4:q->data.wt_elc=m;break;
   case 5:q->data.med=m;break;
   case 6:q->data.save=m;break;
   }
   q->data.outcome=q->data.food+q->data.house+q->data.edu+q->data.med+q->data.wt_elc;
   printf(“修改后:“);
   printf(“\n      食品 房租 教育 水电 医疗 储蓄\n“);
   printf(“%2d月:%5d%5d%5d%5d%5d%5d  总支出: %d\n“p->data.monthp->data.foodp->data.housep->data.edup->data.wt_elcp->data.medp->data.savep->data.outcome);
   printf(“-----------------------------------------------------\n“);
}


void save(linkList L)
{
printf(“\n“);
printf(“正在保存账户记录表,请稍后...\n\n\n“);
int i=0;FILE *fp;
fp=fopen(“count.txt““w“);
LNode *p=L->next;
fprintf(fp“      食品 房租 教育 水电 

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2012-01-04 22:06  个人帐簿管理系统设计\
     文件        3479  2011-12-15 20:40  个人帐簿管理系统设计\Calculate.cpp
     文件         598  2011-12-15 20:40  个人帐簿管理系统设计\calculate.h
     文件         347  2011-12-15 20:40  个人帐簿管理系统设计\count.txt
     目录           0  2012-01-04 22:03  个人帐簿管理系统设计\Debug\
     文件       12892  2011-12-15 20:40  个人帐簿管理系统设计\Debug\Calculate.obj
     文件      204885  2011-12-15 20:40  个人帐簿管理系统设计\Debug\exp1.exe
     文件      248152  2011-12-15 20:40  个人帐簿管理系统设计\Debug\exp1.ilk
     文件        5227  2011-12-15 20:40  个人帐簿管理系统设计\Debug\linklist.obj
     文件        7726  2011-12-15 20:40  个人帐簿管理系统设计\Debug\main.obj
     文件       13588  2012-01-04 22:03  个人帐簿管理系统设计\Debug\menu.obj
     文件      232380  2012-01-04 21:55  个人帐簿管理系统设计\Debug\menu.pch
     文件       25600  2012-01-04 22:03  个人帐簿管理系统设计\Debug\menu.pdb
     文件       58368  2012-01-04 22:03  个人帐簿管理系统设计\Debug\vc60.idb
     文件       53248  2012-01-04 21:55  个人帐簿管理系统设计\Debug\vc60.pdb
     文件        4573  2011-12-15 20:40  个人帐簿管理系统设计\exp1.dsp
     文件         514  2011-12-15 20:40  个人帐簿管理系统设计\exp1.dsw
     文件       35840  2011-12-30 10:28  个人帐簿管理系统设计\exp1.ncb
     文件       49664  2011-12-15 20:40  个人帐簿管理系统设计\exp1.opt
     文件        1371  2011-12-15 20:40  个人帐簿管理系统设计\exp1.plg
     文件        1142  2011-12-15 20:40  个人帐簿管理系统设计\linklist.cpp
     文件        1119  2011-12-15 20:40  个人帐簿管理系统设计\linklist.h
     文件        1605  2011-12-15 20:40  个人帐簿管理系统设计\main.cpp
     文件        1936  2011-12-15 20:40  个人帐簿管理系统设计\menu.cpp
     文件        3377  2012-01-04 22:03  个人帐簿管理系统设计\menu.dsp
     文件         516  2012-01-04 22:06  个人帐簿管理系统设计\menu.dsw
     文件       33792  2012-01-04 22:06  个人帐簿管理系统设计\menu.ncb
     文件       49664  2012-01-04 22:06  个人帐簿管理系统设计\menu.opt
     文件         888  2012-01-04 22:03  个人帐簿管理系统设计\menu.plg

评论

共有 条评论

相关资源