版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、个人财政支出管理傅新华05电脑4班老师:杨新元一、问题说明和分析1二、实验编程思想和功能说明13、主要功能模块设计思路和具体实现2三、实验方案测试41、程序开始运行时显示系统页:42、选择关机:53、选择登录并输入有效的帐户和密码:54、用户输入的帐户无效:55、用户输入了正确的帐户。密码无效:6四、实验程序自我评估7五、课程设计创新7六、课程设计摘要7七、参考资料:7八、实验程序源代码8一、问题说明和分析创建个人财政支出管理系统的最大问题不是针对一个人,而是针对多个用户的系统。如果是,要解决此问题,您必须请求此系统保存大量用户的基本信息和记录。系统还必须能够查找和验证不同用户的id。验证完成
2、后,执行用户请求的操作。作为财政支出系统,用户对金钱的所有措施都必须有相应的记录,并允许用户对每个整体记录采取措施。例如,您可以按时间查找确定特定日期的收入或支出的活动,或根据特定需要删除整个记录。但是,不允许对每个记录的单独数据进行更改。不管是收入还是支出,相关金额都是固定的,时间也是固定的,因此系统不允许用户操作它。此外,还必须有足够的空间保存新记录。因此,该计划是基于这个想法编写的,基本上满足了用户对财政支出管理系统的要求。二、解释实验编程思想和功能在对创建个人财政支出管理系统的方案的问题说明和分析的基础上,确认了该方案的基本思路和相关功能。1、基本思想首先,定义一个可以使用所有用户的所
3、有信息的结构数组。成员是每个用户的帐号(account)、密码(code)、名称(name)、记录(record recmax)和记录的条带数(rec_len)。其中,“记录max”(record recmax)成员本身也是结构数组。它包含用户的所有记录(record),记录成员变量可以根据用户的操作进行更改。例如,如果支持添加记录,记录将存储在此成员变量中。除了此成员变量动态更改外,记录中的栏数(rec_len)也会随着用户的操作而更改。例如,如果用户添加记录,则rec_len将增加1;如果用户删除记录,则rec_len将减少1。记录(record recmax)此成员变量是后续函数中操作的
4、主要内容。除了两个成员变量外,其他成员变量保持不变,用户只允许访问权限,但这些成员变量主要用于验证用户的身份,不能更改。其中密码(code)仅用于系统调用,不显示给用户。密码(code)用于系统本身的安全性,因此用户无法预测,用户信息也不会显示给其他人。这就是此结构阵列的功能,以及基础成员变数和个别成员变数的功能。一旦定义了结构体数组,首先要做的就是将所有记录存储在这个结构体数组中,以方便用户操作。因此,main函数会自行调用名为old_record的函数来存储信息。之后要执行的操作是允许用户选择在系统登录或系统关闭期间要执行的操作。如果选择登录,请输入帐户和密码。然后,系统检查帐户是否存在以
5、及密码是否正确。如果两者都通过了系统检查,用户可以做具体的记录。这是这个程序的基本设计理念。2、每个函数模块的功能(1)old_record():此函数由系统自行调用,负责将所有用户信息存储在系统中。(2)void save():此函数通过将结构数组中的信息写入文件存储来由系统调用。(3)load():此函数负责读取结构数组中写入文件的信息,然后由系统调用。(4)lookup_accounts():此函数将用户输入的帐号与系统中的所有帐号进行比较,以确定系统中是否存在此帐户。(5) check_code():此函数负责在系统中查询帐户后,验证用户输入的帐户和密码是否匹配。(6)print_me
6、ssage():此函数的功能是在系统验证用户输入的帐号和密码后,如果用户通过系统检查,则在此处显示用户看到的默认信息。(7)find_record():此函数根据用户输入的日期执行查找操作。(8)insert_record():此函数的功能是向用户输入的记录添加新记录。(9)del_record():此函数的功能是根据用户输入的位置删除该位置的记录。(10)sum_num():此函数的功能是计算所有收入和费用的总和、计算所有收入的总和以及计算总输出的总和。(11)打印输出记录的函数:此程序具有打印全部三个输出记录的函数:_ print()、acc_print()、pay_print()。其功能
7、包括打印输出全部记录、打印输出输入记录和打印输出成本记录。(12)mian():在主函数中,您可以在OS中运行系统允许用户使用的功能(取决于用户的选择),也可以随时关闭此系统。3、主要功能模块设计思路和具体实现(1)void save()函数和load()函数。这两个函数的功能是,在系统调用old_record()函数后,结构包含所有用户的所有信息。Save()函数的作用是将所有信息存储在文件中,以便于数据的存储和读取。Load()函数的作用是读取存储文件中的信息。这两个函数相关的知识点是读写文档。主要是两个函数应用程序:freadhe和fwrite。典型的调用形式如下:Fread(缓冲区、大
8、小、计数、FP);Fwrite(buffer、size、count、FP);其中:Buffer:是指向读取到fread中的数据的存储地址的指针。对于Fwrite,是要输出数据的地址。Size:要读取和写入的字节数。Count:要读取和写入的size字节数据项的数量。FP;基于文件的指针。如果在调用这两个函数后调用成功,则函数返回count的值,即输入或输出数据项的总数。(2)lookup_accounts()函数和check_code()函数:这两个函数的功能主要用于确认用户的身份。系统首先测试axxounts函数。将用户输入的帐号与系统中的所有帐号进行比较,验证它们是否相同。如果找到,则检查
9、密码以确保密码与帐户相对应。扫描帐户时,如果用户输入的帐户在系统中不存在,系统将提示用户输入新帐户。如果系统输入了3次,但找不到帐户,系统将显示一条信息,提示您必须关闭系统。如果发现帐户,但用户输入的密码与原始密码不匹配,系统还会提示用户重新输入。同样,如果用户三次输入体统时,都确定不是正确的密码,系统将提示用户强制退出。此时,将显示结论启动消息。这两个函数中主要使用的知识点是与字符串相关的操作。检查完帐户和口令后,此函数返回struct list_record类型的数据。处理字符串的函数主要包括:Puts函数:常见的形式是字符数组(puts)。其作用是将字符串输出到终端。Gets函数:通常采
10、用字符数组(gets)格式。在端子中输入字符串到字符数组并获取函数值就是其作用。函数值是字符数组的起始地址。Stract函数:通常采用strcat(文字阵列1,文字阵列2)格式。Strcat是字符串连接的缩写。在两个字符数组中连接字符串,将字符串2连接到字符串1之后,将结果放在字符数组1中,调用函数后,获取函数值3354字符数组1的地址。Strcpy函数:一般形式为strcpy(文字阵列1,文字阵列2)。Strcpy是字符串复制的缩写。其作用是将字符串2复制到字符数组1。在此过程中。最常用的是这个函数。Strcmp函数:一般形式为strcmp(字串1,字串2)。Strcmp是字符串比较的缩写。
11、比较字符串1和字符串2以返回函数值。如果字符串1=字符串2,则函数值为0。如果字符串1大于字符串2,则函数值为正整数;否则为负整数。(3)find_record()函数:此函数的功能是根据用户输入的时间查找今天的记录。该函数的参数是指向结构的指针和字符串。字符串是输入术语的日期,指向结构的指针指向用户输入的帐户的此结构。找到用户输入的日期后,将输出当天的记录。如果找不到,则显示没有此日期的记录。(4)insert_record()函数和del_record()函数:这两个函数的功能是添加新记录和删除自定义记录。在Insert_record()函数中,该函数的参数是指向struct list_r
12、ecord的指针、指向struct record的指针以及选择插入位置的整形变量。在主函数中,首先定义结构记录的结构。此结构的内容由用户输入。也就是说,用户将输入struct list_record结构中的新记录的内容。然后,在主函数中,定义指向struct record结构的指针,指向已输入记录的结构,并将此指针作为实际参数传递给函数。作为指针传递给函数,因此在函数中记录更改后返回基础函数的记录是更改的记录。在Del_record()函数中,如果用户在主函数中输入要删除的记录的位置,然后调用此函数,则将删除记录。与Insert_record函数一样,参数也传递指针,因此函数更改的记录是在基础
13、函数返回后更改的记录。(5)sum_num()函数:此函数的功能用于计算用户所有记录中的钱的总和,以便于系统操作,同时使用户对自己的帐户有更深入的了解。此外,此函数还将用户的所有收入和所有支出合计起来,使用户可以知道自己所有收入的总和和所有支出的总和,这样用户就可以继续下一步了。(6)打印输出函数:在此程序中,打印输出函数共有三种:输出记录、输出收入记录和输出成本记录。在此定义三个输出函数是为了使用户更容易操作。假设只有一个函数输出整个记录,如果用户只看到关于收入的记录或费用的记录,此时用户只能看到一个人,可能会感到不舒服。好的管理系统的目的是最大限度地满足用户的所有需求。也就是说,分工越精确
14、越好,为了满足此要求,在此定义了三个输出函数。(7)main()函数:在一个程序中,main()函数是最重要的函数,因为它是所有程序执行的入口。此外,函数以main()函数的结尾,因此您知道main()函数的重要性。在此程序中,中的功能模块函数都是从main()函数调用的,目的是使整个程序的结构简单、紧凑,并便于程序调试。但是,这将相对增加main()函数的复杂性。这个程式中main()函数所涵盖的语法知识包括许多语法结构,例如循环重叠使用、分割结构重叠使用、指标套用、核心指标套用等。在此详细介绍main()函数,因为它在此过程中起着非常重要的作用。程序开始运行后,首先选择用户是登录系统还是发
15、布系统。退出系统将退出程序。如果选择登录,系统将提示用户输入帐号和密码。系统首先检查帐户,通过检查后检查密码,通过检查后显示用户信息,允许用户操作记录,所有操作均由用户随机选择,直到用户选择关闭系统。这是用户输入的帐户和密码均通过检查的情况。如果未检查帐户,系统会提示您重新输入。然后重新输入,检查,然后继续,但需要重新输入。但是,用户输入帐户的次数最多只有三次。三次后,系统将自行推出。如果帐户通过检查,并且未传递密码,用户将被要求重新输入,相同的输入次数不会超过三次。否则,系统将自行关闭。下面介绍main()函数的具体设计思想和具体功能。三、实验程序测试1、程序启动时系统显示的页面:2、选择关机:3、选择登录并正确输入帐户和密码。4、用户输入的帐户无效:5、用户输入了正确的帐户,密码无效:6、用户执行特定任务:四、实验程序自我评价我认为已经完成了此程序请求的基本任务,并且还添加了相应的功能模块以供用户操作。设计的基本原则是尽可能满足用户的所有要求,同时使用户尽可能方便地操作系统。虽然这个节目可能仍有不足之处,但我对这个节目还是比较满意的。五、课程设计创新该程序主要是银行的ATM机相关功能,同时添加了用户可以对记录执行的一些操作。系统的灵活性增加,而不是只允许查看。六、课程设计摘要该程序主要用于根据用户观点设计程序和编写功能模块。编写程序时,所有数据都是对结
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 突发公卫事件医护新技术应用培训
- 突发公共卫生事件预警的区域资源协同
- 高中挫折教育角色剧说课稿2025
- 2026年高空作业触电事故应急处理指南
- 小学生情绪温度计2025说课稿
- 2026年财务软件操作与维护手册
- 学会打电话说课稿2025学年小学综合实践活动安徽大学版五年级下册-安徽大学版
- 月考说课稿2025学年中职基础课-中国历史(全一册)-高教版-(历史)-60
- 大学生学习动力2025说课稿
- 2026年一年级连加连减说课稿
- 信托业务部门绩效考核方案
- 2026年国家电网招聘之电网计算机考试题库500道及一套参考答案
- 《水利水电工程柔性测斜仪安装与监测规程》
- 厨卫电器授权合同范本
- 义齿技术服务合同范本
- 触摸屏基础知识课件
- 材料成形基本原理第三版祖方遒课后习题答案
- 2025年保安证考试100题及答案
- 软件开发团队协作规范与文档标准
- 北京市2025北京市部分事业单位定向招聘合同期满乡村振兴协理员138人笔试历年参考题库附带答案详解
- 农垦农场安全培训内容课件
评论
0/150
提交评论