C语言程序设计–个人账簿管理系统

目的在于:

  1. 为编码人员提供依据;
  2. 为修改、维护提供条件;
  3. 项目负责人将按计划书的要求布置和控制开发工作全过程;
  4. 项目质量保证组将按此计划书做阶段性和总结性的质量验证和确认。

本说明书的预期读者包括:

  1. 项目开发人员,特别是编码人员;
  2. 软件维护人员;
  3. 技术管理人员;
  4. 执行软件质量保证计划的专门人员;
  5. 参与本项目开发进程各阶段验证、确认以及负责为最后项目验收、鉴定提供相应 告的有关人员。
  6. 合作各方有关部门的负责人;项目组负责人和全体参加人员。
    1. 背景
  1. 系统名称:个人账簿管理系统
  2. 任务提出者:湖北师范大学软件工程老师
  3. 开发者:湖北师范大学软件工程学生
  4. 最终用户:湖北师范大学软件工程学生
    1. 定义
  1. 个人账簿管理系统
    1. 参考资料
  1. 1.《即现订餐项目需求规格说明书-V0.2.doc》
  1. 程序系统的结构
    1. 程序系统结构

 

图2-1 程序系统架构图

2.2程序结构模块描述

2.2.1 录入数据

【流程描述】

1.选择操作:提示内容:“请输入要进行的操作:”,操作数为“1”。

2.输入数据:按照提示内容,分别输入内容,中间以空格符隔开。

提示内容:

请依次输入数据[说明:中间以空格符隔开]:

(本月月份 食品消费 房租费用 子女费用 水电费用 医疗费用 储蓄费用 收入费用)

3.回车:显示“数据录入成功”。

【流程图】

2.2.2查看数据

【流程描述】

1.选择操作:提示内容:“请输入要进行的操作:”,操作数为“2”。

2.回车:系统打开“Myinfor.txt”文件,显示所有录入的数据。

【流程图】

2.2.3修改数据

【流程描述】

1.选择操作:提示内容:“请输入要进行的操作:”,操作数为“3”。

2.进行2.2.4 查询数据操作,从选择月份开始。

3.如果输入的数据合法,进行2.2.1 录入数据的“2.输入数据”操作。回车,输出“数据修改成功”。

【流程图】

2.2.4查询数据

【流程描述】

  1. 选择操作:提示内容:“请输入要进行的操作:”,操作数为“4”。:

2.选择月份:提示内容:“请正确输入要查询的月份:”

3.判断:

如果输入的月份在录入的数据中,则打印该月的账单。

否则,输出“没有符合条件的记录!” 返回菜单

【流程图】

2.2.5排序数据

【功能描述】

1.选择操作:提示内容:“请输入要进行的操作:”,操作数为“5”。:

2.进行2.2.4 查询数据操作,从2.选择月份开始。

3.如果输入的数据合法,调用冒泡排序函数进行从小到大排序,输出排序后的账单。

#include
#include
#include
#include

#define LEN sizeof(struct Node)

//账单结构体
struct Node {
    int ID;                //月份
    //定义结构体定义各种费用
    float IncomeTotal;    //收入费用
    float FoodShoping;    //食品消费
    float House;        //房租费用
    float Education;    //子女教育费用
    float WaterAndEtc;    //水电费用
    float Hospital;        //医疗费用
    float Store;        //储蓄
    float Expend;        //支出总和
    struct Node *next;    //指向下一个节点的指针
};
typedef struct {// 自定义数据类型
    int no;
    int data;
} pType;
//建立动态链表–录入数据 
struct Node* CreateLink();
//插入一个月的数据
void Insert(struct Node *head);
//删除相同元素的值 
void DeleteSame(struct Node *L);
//菜单 
void menu(); 
//搜索某一月份的具体收支状况
struct Node* Search(struct Node *head);
//功能同上
struct Node* SearchNode(struct Node *p1,int n);
//打印一个月的收支状况
void PrintOneMonth(struct Node *p);
//输出详细的列表
void PrintAll(struct Node *head); 
//对链表进行排序
struct Node *Sort(struct Node *head);
//对单个链表排序 
void sort_Node(Node *a);
//修改某一月的记录
struct Node *Update(struct Node *head);
//删除数据 
bool Delete(struct Node **pHead);
//求年支出
int Sum(struct Node *q1);
//主函数
int main() {
    struct Node *a;
    int value,count;
    count = 1;
    menu();
    scanf(“%d”,&value);
    if(value!=1)
        printf(“亲,您还未录入数据,无法进行后续操作 系统将3秒后退出!n”);
    else {
        while(value>=0) {
            switch(value) {
                case 1:
                    if(count ==1 ) {
                        a=CreateLink();
                        count++;

资料包括:

需要完整的资料可在我的资源里下载,也可以加入我的纷传圈子,里面有资源压缩包的百度 盘下载地址及提取码。

纷传点击用微信打开即可,过程有点繁琐请见谅。

 

文章知识点与官方知识档案匹配,可进一步学习相关知识C技能树首页概览115604 人正在系统学习中

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年11月19日
下一篇 2022年11月19日

相关推荐