C语言课设(个人帐簿管理系统)
c语言课程设计个人财务
c语言课程设计个人财务一、教学目标本节课的教学目标是使学生掌握C语言编程的基本方法,能够运用C语言编写简单的个人财务管理系统。
具体目标如下:1.知识目标:使学生了解C语言的基本语法、数据类型、运算符、控制结构等,为编写个人财务管理系统打下基础。
2.技能目标:培养学生运用C语言进行编程的能力,使其能够独立完成个人财务管理系统的开发。
3.情感态度价值观目标:培养学生对计算机编程的兴趣,提高其主动学习和解决问题的能力,使其认识到计算机编程在实际生活中的应用价值。
二、教学内容本节课的教学内容主要包括以下几个部分:1.C语言基本语法和数据类型:介绍C语言的基本语法规则、数据类型及其运算。
2.控制结构:讲解条件语句和循环语句的用法,为编写个人财务管理系统提供逻辑支持。
3.函数:介绍函数的定义、声明和调用,使学生能够理解模块化编程的思想。
4.个人财务管理系统的设计与实现:引导学生运用所学知识,分析并设计个人财务管理系统,最后通过编程实现。
三、教学方法为了提高教学效果,本节课将采用以下几种教学方法:1.讲授法:讲解C语言的基本语法、数据类型、运算符和控制结构等知识。
2.案例分析法:通过分析实际案例,使学生了解个人财务管理系统的设计过程,提高其编程能力。
3.实验法:安排课堂实验,让学生动手编写代码,巩固所学知识。
4.讨论法:学生进行小组讨论,培养其合作精神和解决问题的能力。
四、教学资源为了支持教学内容的传授和教学方法的实施,我们将准备以下教学资源:1.教材:《C语言程序设计》等相关教材,为学生提供理论知识的学习材料。
2.参考书:提供一些经典的C语言编程实例,帮助学生更好地理解编程技巧。
3.多媒体资料:制作课件、演示文稿等,以便于生动、形象地展示教学内容。
4.实验设备:提供计算机、编程环境等,让学生能够进行实际操作。
五、教学评估为了全面、客观地评估学生的学习成果,本节课将采用以下几种评估方式:1.平时表现:观察学生在课堂上的参与程度、提问回答等情况,了解其对C语言编程的掌握程度。
C语言个人账簿管理系统报告
程序设计课程设计程序设计课程设计报告( 2012-- 2013年度第2学期)个人账簿管理系统的设计专业 软件工程学生姓名 班级 软件121学号指导教师 完成日期2013.7.4个人账簿管理系统目录1概述 (1)1.1课程设计目的 (1)1.2 课程设计内容 (1)2系统需求分析 (1)2.1 系统目标 (1)2.2 主体功能 (1)2.3 开发环境 DEVC++ (2)3系统概要设计 (2)3.1 系统的功能模块划分 (2)3.2 系统流程图 (2)4系统详细设计 (4)4.1 个人账簿管理系统主函数前常变量定义和函数声明 (4)4.2 个人账簿管理系统主函数 (4)4.3个人账簿管理系统注册函数、登陆函数和正常退出函数(Quit) (5)4.4 个人账簿管理系统主菜单函数和查找子菜单函数 (5)4.5 个人账簿管理系统录入收支模块 (6)4.6 个人账簿管理系统查询模块 (6)4.7 个人账簿管理系统修改数据模块 (7)4.8 个人账簿管理系统排序模块 (7)4.9 个人账簿管理系统帮助说明 (7)5测试 (7)5.1 测试方案 (7)5.2 测试结果 (7)6小结 (13)参考文献 (14)附录 (15)附录1源程序清单 (15)附录1.1个人账簿管理系统主函数前声明 (15)附录1.2个人账簿管理系统注册、登陆和退出 (16)附录1.3个人账簿管理系统菜单和子菜单函数 (19)附录1.4个人账簿管理系统收支录入和写入文件 (25)附录1.5 个人账簿管理系统查找函数 (26)附录1.6 个人账簿管理系统移除记录函数 (29)附录1.7 个人账簿管理系统排序函数 (29)附录1.8 个人账簿管理系统说明函数 (30)个人账簿管理系统的设计1 概述1.1课程设计目的1).加深对《C语言程序设计》课程知识的理解,掌握C语言应用程序的开发方法和步骤;2).进一步掌握和利用C语言进行设计的能力;3).进一步理解和运用结构化程序设计的思想和方法;4).初步掌握开发一个小型实用系统的基本方法;5).学会调试一个较长程序的基本方法;6).学会利用流程图或N-S图表示算法;7).掌握书写程序设计开发文档的能力(书写课程设计报告)。
c语言课程设计账户管理系统
c语言课程设计账户管理系统一、教学目标本课程的教学目标是使学生掌握C语言账户管理系统的基本概念、原理和编程方法。
通过本课程的学习,学生应能理解C语言编程的基本流程,熟悉账户管理系统的功能和结构,并能运用C语言实现简单的账户管理系统。
具体来说,知识目标包括:1.掌握C语言的基本语法和数据结构。
2.理解账户管理系统的功能和结构。
3.了解C语言在账户管理系统中的应用。
技能目标包括:1.能够使用C语言编写简单的程序。
2.能够运用C语言实现账户管理系统的功能。
3.能够对编写的程序进行调试和优化。
情感态度价值观目标包括:1.培养学生对计算机科学的兴趣和热情。
2.培养学生独立思考、解决问题的能力。
3.培养学生团队合作、积极进取的精神。
二、教学内容本课程的教学内容主要包括C语言的基本语法、数据结构、账户管理系统的功能和结构,以及C语言在账户管理系统中的应用。
具体的教学大纲如下:1.C语言的基本语法:变量、数据类型、运算符、表达式、控制结构等。
2.数据结构:数组、链表、栈、队列等。
3.账户管理系统的功能和结构:账户的创建、查询、修改、删除等。
4.C语言在账户管理系统中的应用:账户信息的数据结构设计、程序实现等。
三、教学方法为了达到本课程的教学目标,我们将采用多种教学方法,包括讲授法、讨论法、案例分析法、实验法等。
1.讲授法:通过讲解C语言的基本语法、数据结构和账户管理系统的原理,使学生掌握相关知识。
2.讨论法:学生针对实际问题进行讨论,培养学生的独立思考和解决问题的能力。
3.案例分析法:分析典型的账户管理系统的案例,使学生了解C语言在实际应用中的作用。
4.实验法:让学生通过动手实践,运用C语言实现简单的账户管理系统,提高学生的编程能力。
四、教学资源为了支持本课程的教学内容和教学方法,我们将准备以下教学资源:1.教材:《C语言程序设计》等。
2.参考书:《C Primer Plus》等。
3.多媒体资料:教学PPT、视频教程等。
C课程设计个人账本
C 课程设计个人账本一、教学目标本课程的目标是使学生掌握个人账本的基本概念、分类和记账方法,培养学生合理管理财务的能力。
知识目标包括了解个人账本的定义、组成部分和记账原则;技能目标包括能够熟练运用记账方法记录日常收支、分类和管理账目;情感态度价值观目标包括培养学生正确的理财观念,养成良好的消费习惯。
二、教学内容教学内容主要包括个人账本的基本概念、分类和记账方法。
首先,介绍个人账本的定义和组成部分,使学生了解个人账本在财务管理中的重要性。
其次,讲解不同类型的个人账本及其适用场景,帮助学生学会合理设置账本。
接着,教授记账方法,包括流水账法和复式记账法,让学生掌握正确的记账技巧。
最后,通过实际案例分析,使学生学会运用个人账本对日常收支进行分类和管理。
三、教学方法本课程采用讲授法、讨论法和案例分析法相结合的教学方法。
首先,通过讲授法向学生传授个人账本的基本概念和记账方法;其次,通过讨论法引导学生探讨和分析实际案例,巩固所学知识;最后,运用案例分析法,让学生在实际操作中掌握个人账本的设置和运用。
四、教学资源教学资源包括教材、参考书、多媒体资料和实验设备。
教材和参考书用于提供理论知识,多媒体资料用于辅助教学,使抽象的概念更直观易懂。
实验设备如计算机、投影仪等用于展示案例分析和实际操作过程,让学生在实践中学会运用个人账本。
同时,鼓励学生利用网络资源,了解更多关于个人账本的知识和技巧。
五、教学评估本课程的评估方式包括平时表现、作业和考试三个部分。
平时表现主要评估学生在课堂上的参与程度、提问和回答问题的积极性等;作业包括课后练习和实际账本操作,评估学生对所学知识的掌握和运用能力;考试则全面考察学生对个人账本知识的掌握和运用,包括理论知识和实际操作。
评估方式应客观、公正,能够全面反映学生的学习成果。
六、教学安排本课程的教学安排如下:共10课时,每周2课时,共计5周完成。
教学地点安排在教室,以便于学生集中注意力和互动讨论。
c语言个人账簿管理系统代码
个人帐簿管理系统设计五、程序运行结果1、原文件内容#include <stdio.h>#include <stdlib.h>#include <memory.h>#include <windows.h>//文件保存路径#define FilePath1 "Myinfor.dat"#define FilePath2 "Myinfor.txt"//查询用声明#define Status int#define OK 1#define Error 0#define NotFound 2typedef struct {int month;//月份int spxf;//食品消费int fzfy;//房租费用int znjy;//子女教育费用int sdfy;//水电费用int ylfy;//医疗费用int cxfy;//储蓄费用int srfy;//收入费用} Infor;typedef struct {// 查询用自定义数据类型int no;int data;}pType;void menu(void); //菜单void input(Infor *newI); //接收键盘输入void writeinfor(Infor *newI);//向文件内写入内容void changeFormat(void );//将dat格式文件转换为txt文件Status search(Infor *a);//查询函数[返回查询的结果及查询的状态] void paixu(Infor *a);//对查询据结果排序void modify(Infor *a,int mon);//修改数据void delRecord(int mon);//删除数据void main(){while(1){menu();}}void menu(void){int item;int mon;Infor *a;a=(Infor *)malloc(sizeof(Infor));do{printf("\n******个人帐簿管理系统设计*****\n\n");printf("1.录入数据\n");printf("2.查看数据\n");printf("3.修改数据\n");printf("4.查询数据\n");printf("5.排序数据\n");printf("6.删除数据\n");printf("0.退出系统\n\n");printf("请输入要进行的操作: " );scanf("%d",&item);}while(item>6 || item<-1);switch(item){ //退出程序case 0: getchar();getchar();exit(1);break;//录入数据case 1: input(a);writeinfor(a);break;//查看数据case 2: changeFormat();break;//修改数据case 3: item=search(a);mon=a->month;if (item!=OK) printf("\n没有符合条件的记录!\n");else{printf("\n记录月份食品消费房租费用子女费用水电费用医疗费用储蓄费用本月收入\n");printf("----------------------------------------------------------------------- \n");printf("%7d %8d %8d %8d %8d %8d %8d %8d\n",a->month,a->spxf,a->fzfy,a->znjy,a->sdfy,a->ylfy, a->cxfy,a->srfy);input(a);modify(a,mon);}break;//查询数据case 4: item=search(a);if (item!=OK) printf("\n没有符合条件的记录!\n");else{printf("\n记录月份食品消费房租费用子女费用水电费用医疗费用储蓄费用本月收入\n");printf("----------------------------------------------------------------------- \n");printf("%7d %8d %8d %8d %8d %8d %8d %8d\n",a->month,a->spxf,a->fzfy,a->znjy,a->sdfy,a->ylfy, a->cxfy,a->srfy);}break;//排序数据case 5: item=search(a);if (item!=OK) printf("\n没有符合条件的记录!\n");elsepaixu(a);break;//删除数据case 6:item=search(a);mon=a->month;if (item!=OK) printf("\n没有符合条件的记录!\n");else{printf("\n记录月份食品消费房租费用子女费用水电费用医疗费用储蓄费用本月收入\n");printf("----------------------------------------------------------------------- \n");printf("%7d %8d %8d %8d %8d %8d %8d %8d\n",a->month,a->spxf,a->fzfy,a->znjy,a->sdfy,a->ylfy, a->cxfy,a->srfy);delRecord(mon);}break;}free(a);//释放内存空间}void input(Infor *newI){printf("\n请依次输入数据(中间以空格符隔开):\n(本月月份食品消费房租费用子女费用水电费用医疗费用储蓄费用收入费用)\n");scanf("%d%d%d%d%d%d%d%d",&newI->month,&newI->spxf,&newI->fzfy,&newI->znjy,&newI->s dfy,&newI->ylfy,&newI->cxfy,&newI->srfy);fflush(stdin);}void writeinfor(Infor *newI){FILE *fp;fp=fopen(FilePath1,"ab+");if(fp==NULL){printf("无法创建文件:%s",FilePath1);exit(0);}fwrite(newI,sizeof(Infor),1,fp);//这里可以做特别处理可防止存在同一月份有2条以上的记录问题。
C语言程序设计个人财务管理系统
程序设计工程训练报告C语言程序设计个人财务管理系统课程名称C语言程序设计工程训练姓名院(系)信息科学与技术学院专业班级学号指导教师教务处制目录1.需求分析 (1)2系统总框图和功能模块说明 (1)2.1系统总框图 (1)2.2功能模块说明 (1)3系统设计 (2)3.1主要结构体 (2)3.2主要功能函数 (2)4系统调试 (3)4.1、程序开始执行时系统的所显示的页面: (3)4.2、选择退出系统: (3)4.3、选择登陆,并且输入的帐号和密码都正确: (3)4.4、用户输入的帐号不正确: (4)4.5、用户输入的帐号正确,密码不正确: (4)4.6、用户进行具体操作: (5)5总结 (6)6源程序清单 (6)1.需求分析编写一个个人财政支出管理系统,主要解决的问题是作为一个系统而言,它所要面对不只是某一个人而言,而是要面对很多的用户。
那么想要解决这一问题,就必须要求这个系统能够存储许多用户的基本信息和记录。
同时也要求系统能够对不同的用户的身份进行查找和验证。
在验证通过之后,在对其进行用户所要求的操作。
作为一个财政支出系统,那么就要求对于用户关于金钱的每一项操作都要有相应的记录,同时并允许用户对于每一条整体的记录进行操作,例如可以根据时间来查找某一确定日期是否进行了收入或者支出的操作,也可以根据特定的需要来删除某一条整体的记录。
但不允许对每条记录的单项数据进行更改,因为不管是收入还是支出,所涉及的金额都是固定的,时间也是固定的,所以系统不允许用户对其进行操作。
除此之外,还必须有足够大的空间来存储新的记录。
所以此程序就是基于这个思想而编写出来的,基本满足了用户对于一个财政支出管理系统所要求的相关功能。
2系统总框图和功能模块说明2.1系统总框图2.2功能模块说明(1)old_record( ):此函数由系统自行调用,作用是将所有用户信息存入系统。
(2)void save( ): 此函数的作用是将结构体数组中的信息写入文件存储,由系统调用。
c语言账单管理系统课程设计
c语言账单管理系统课程设计一、教学目标本课程旨在通过学习C语言账单管理系统的设计与实现,让学生掌握C语言编程的基本技能,理解程序设计的基本流程,培养其问题解决能力。
具体目标如下:1.理解C语言的基本语法和数据结构。
2.掌握函数的定义和调用。
3.学习结构体和文件操作等相关知识。
4.能够运用C语言进行简单的程序设计。
5.学会使用结构体设计数据模型。
6.掌握文件读写操作,实现数据的持久化存储。
情感态度价值观目标:1.培养学生对计算机科学的兴趣和好奇心。
2.培养学生独立思考、解决问题的能力。
3.培养学生团队协作的意识和精神。
二、教学内容本课程的教学内容依据C语言账单管理系统的设计与实现进行,详细的教学大纲如下:1.C语言基础知识:数据类型、运算符、控制语句。
2.函数:定义、声明、调用。
3.数据结构:数组、结构体。
4.文件操作:文件的打开、读写。
5.账单管理系统的设计与实现:需求分析、系统设计、编码实现、测试。
三、教学方法为了提高教学效果,我们将采用多种教学方法相结合的方式进行教学:1.讲授法:用于讲解C语言的基础知识和编程概念。
2.案例分析法:通过分析具体的账单管理案例,让学生理解并掌握系统的实现。
3.实验法:让学生通过动手编写代码,加深对知识点的理解和运用。
4.讨论法:分组讨论,培养学生的团队协作能力和问题解决能力。
四、教学资源为了支持本课程的教学,我们将准备以下教学资源:1.教材:《C程序设计语言》。
2.参考书:《C Primer Plus》、《C和指针》。
3.多媒体资料:教学PPT、视频教程。
4.实验设备:计算机、网络环境。
以上教学资源将有助于学生更好地学习和掌握C语言账单管理系统的设计与实现。
五、教学评估本课程的评估方式将分为以下几个部分,以全面、客观、公正地评估学生的学习成果:1.平时表现:包括课堂参与度、小组讨论、提问等,占总成绩的20%。
2.作业:包括编程练习和小论文等,占总成绩的30%。
C语言程序的设计个人财务管理系统方案
程序设计工程训练报告C语言程序设计个人财务管理系统课程名称C语言程序设计工程训练姓名院(系)信息科学与技术学院专业班级学号指导教师教务处制目录1.需求分析 (1)2系统总框图和功能模块说明 (1)2.1系统总框图 (1)2.2功能模块说明 (1)3系统设计 (2)3.1主要结构体 (2)3.2主要功能函数 (2)4系统调试 (3)4.1、程序开始执行时系统的所显示的页面: (3)4.2、选择退出系统: (3)4.3、选择登陆,并且输入的和密码都正确: (3)4.4、用户输入的不正确: (4)4.5、用户输入的正确,密码不正确: (4)4.6、用户进行具体操作: (5)5总结 (6)6源程序清单 (6)1.需求分析编写一个个人财政支出管理系统,主要解决的问题是作为一个系统而言,它所要面对不只是某一个人而言,而是要面对很多的用户。
那么想要解决这一问题,就必须要求这个系统能够存储许多用户的基本信息和记录。
同时也要求系统能够对不同的用户的身份进行查找和验证。
在验证通过之后,在对其进行用户所要求的操作。
作为一个财政支出系统,那么就要求对于用户关于金钱的每一项操作都要有相应的记录,同时并允许用户对于每一条整体的记录进行操作,例如可以根据时间来查找某一确定日期是否进行了收入或者支出的操作,也可以根据特定的需要来删除某一条整体的记录。
但不允许对每条记录的单项数据进行更改,因为不管是收入还是支出,所涉及的金额都是固定的,时间也是固定的,所以系统不允许用户对其进行操作。
除此之外,还必须有足够大的空间来存储新的记录。
所以此程序就是基于这个思想而编写出来的,基本满足了用户对于一个财政支出管理系统所要求的相关功能。
2系统总框图和功能模块说明2.1系统总框图2.2功能模块说明(1)old_record( ):此函数由系统自行调用,作用是将所有用户信息存入系统。
(2)void save( ): 此函数的作用是将结构体数组中的信息写入文件存储,由系统调用。
课程设计---个人银行账户管理系统
西安郵電大学C语言课程设计报告题目:个人银行账户管理系统院系名称:计算机学院专业名称:计算机科学与技术班级:1106学生姓名:高丹学号(8位):04111196指导教师:王春梅设计起止时间:2012年06月06日~2012年06月15日一、设计目的1、学会用C语言编程实现小区管理系统;能熟练的掌握各个功能函数的熟练编写和理解。
2、本次课程设计我设计的是一个银行个人账户管理系统。
由于大学生日常生活开支以及钱的来源都需要详细的记录下来,所以我设计了这个系统,目的是希望通过这个系统来让大家养成良好的记账习惯,慢慢学会理财,并且可以对自己记录的数据进行简单的分析(通过其中的排序系统),达到更合理的利用自己的金钱资源的目的。
二、设计内容经过对程序设计题目的分析可知,整个程序的设计实现大致分为九个模块,每一个模块对应一个或多个函数。
在这些函数当中,储户注册函数,登录函数,储户信息录入函数,储户信息显示函数,信息插入函数,信息修改函数,信息排序函数以及信息删除的实现严格按照题目的要求,而储户密码的修改属于附加功能。
读取文件函数和保存信息函数对其它函数的实现起辅助作用,主函数及菜单函数控制程序的整体运行。
内容如下:1、用户登录系统(包括用户以及管理员的注册,登录界面,其中有注册函数和登录函数)。
2、系统以菜单的模式打开并工作(有储户界面和管理员界面)。
3、储户信息的录入(保存函数)。
4、储户信息的读出并显示出来(信息读出并打印函数)。
5、储户信息的查询系统,包括按月份查询和按日期查询(用过查询函数来实现)。
6、储户信息的修改系统,包括修改月份,修改日期,修改进账数目和出账数目(通过修改函数来实现)。
7、修改密码系统(修改密码函数实现储户对账户密码的修改)。
8、退出(退出到主界面和上一界面)。
每一个储户记录都包含账户编号,月份,日期,进账数目,出账数目。
在程序当中,将储户记录类型定义为结构体类型,添加以及追加的储户信息直接写入D盘的account.txt文件中,其它函数每次对储户记录的访问,其数据来源都是account.txt文件,这样做不但可以保证储户信息的一致性,而且可以对储户信息进行永久保存,保证每次运行程序都可以采用原来的数据。
cs个人账目管理系统课程设计
cs个人账目管理系统课程设计一、课程目标知识目标:1. 让学生理解个人账目管理系统的基本概念和功能,掌握系统设计的基本原理。
2. 使学生掌握运用编程语言(如Python)实现个人账目管理系统的基本操作,包括数据录入、查询、修改和删除等。
3. 帮助学生了解数据库的基本原理,学会使用数据库存储和管理个人账目数据。
技能目标:1. 培养学生运用编程语言解决实际问题的能力,学会分析个人账目管理需求,设计合理的系统功能。
2. 提高学生的团队协作和沟通能力,通过项目实践,掌握分工合作、共同解决问题的方法。
3. 培养学生独立思考和创新能力,能够针对个人账目管理系统提出改进和优化方案。
情感态度价值观目标:1. 激发学生对计算机科学的兴趣,培养其探究精神和积极学习的态度。
2. 使学生认识到个人账目管理系统在生活中的实际应用,增强学以致用的意识。
3. 培养学生的责任感和诚信意识,在使用个人账目管理系统时遵循法律法规,保护个人隐私。
本课程针对高中年级学生,结合学科特点,注重理论与实践相结合,培养学生的编程能力和实际应用能力。
在教学过程中,教师需关注学生的学习需求,充分调动学生的积极性和主动性,确保课程目标的达成。
通过本课程的学习,学生将能够独立设计并实现一个功能完善的个人账目管理系统,为今后的学习和生活打下坚实基础。
二、教学内容1. 个人账目管理系统概述:介绍个人账目管理系统的基本概念、功能和实际应用场景,使学生对该系统有整体的认识。
相关教材章节:第1章 计算机应用系统概述2. 编程语言基础:讲解Python编程语言的基本语法、数据类型和常用操作,为后续系统开发奠定基础。
相关教材章节:第2章 Python编程基础3. 数据库原理与应用:介绍数据库的基本概念、关系型数据库的设计方法,以及SQLite数据库的使用。
相关教材章节:第3章 数据库原理与应用4. 个人账目管理系统设计:分析系统需求,设计系统功能模块,明确各模块之间的关系和作用。
C语言课设(个人帐簿管理系统)
个人帐簿管理系统目录摘要 (1)1绪论 (1)2系统分析 (1)2.1功能需求 (1)2.2数据需求 (1)2.3性能需求 (2)3总体设计 (2)3.1系统设计方案 (2)3.2功能模块设计 (2)4详细设计 (3)4.1录入数据模块 (3)4.2修改数据子模块 (4)4.3查询数据子模块 (5)4.4排序数据子模块 (6) (6)4.6删除数据子模块 (7)5调试与测试 (8)5.1调试 (8)5.2测试 (8)6结论 (9)结束语 (9)参考文献 (9)附录1-用户手册 (10)附录2-源程序 (13)摘要个人帐簿管理系统的开发是为了方便个人记录每月的全部收入及开支情况,包括食品消费,房租,子女教育费用,水电费,医疗费,储蓄等。
并进行查询和排序等。
主要实现以下功能:(1) 记录月份以及每月的食品消费,房租,子女教育费用,水电费,医疗费,储蓄等内容。
(2) 要求该系统能查看该数据并进行修改和查询等。
(3)并用冒泡法进行排序以及能进行内容的删除。
报告从系统分析,总体设计,详细设计,调试与测试方面进行描述和介绍。
关键词:个人帐簿管理系统;扩充;修改;删除。
1绪论当今社会是个劳逸结合的社会,计算机在人们的生活中越来越重要,个人账簿管理的开发给大众的生活平添了方便。
个人账簿管理系统是一个比较普遍的管理系统,它的存在方便个人记录每月的全部收入及开支情况。
根据课程设计任务书要求,个人帐簿管理系统记录某人每月的全部收入及各项开支情况,包括食品消费,房租,子女教育费用,水电费,医疗费,储蓄等。
进入系统后可以输入和修改某月的收支情况,可以对每月的开支从小到大进行排序,可以根据输入的月份查询每月的收支情况。
另外要求建立一个文件,包括某人5个月的收支情况,能对文件中的信息进行扩充(追加),修改和删除;完成对每月的开支排序,以及完成系统查询功能。
可进行功能的适当扩充。
2系统分析2.1 功能需求个人帐簿管理系统要求记录某人每月的全部收入及各项开支情况,包括食品消费,房租,子女教育费用,水电费,医疗费,储蓄等并能进行修改,查询,排序,删除等功能。
C语言程序设计个人财务管理系统
程序设计工程训练报告C语言程序设计个人财务管理系统课程名称C语言程序设计工程训练姓名院(系)信息科学与技术学院专业班级学号指导教师教务处制页脚内容1目录1.需求分析 (1)2系统总框图和功能模块说明 (2)2.1系统总框图 (2) (2)2.2功能模块说明 (2)3系统设计 (3)3.1主要结构体 (3)3.2主要功能函数 (3)4系统调试 (4)页脚内容24.1、程序开始执行时系统的所显示的页面: (4)4.2、选择退出系统: (4)4.3、选择登陆,并且输入的帐号和密码都正确: (5)4.4、用户输入的帐号不正确: (5)4.6、用户进行具体操作: (6)5总结 (7)6源程序清单 (7)页脚内容31.需求分析编写一个个人财政支出管理系统,主要解决的问题是作为一个系统而言,它所要面对不只是某一个人而言,而是要面对很多的用户。
那么想要解决这一问题,就必须要求这个系统能够存储许多用户的基本信息和记录。
同时也要求系统能够对不同的用户的身份进行查找和验证。
在验证通过之后,在对其进行用户所要求的操作。
作为一个财政支出系统,那么就要求对于用户关于金钱的每一项操作都要有相应的记录,同时并允许用户对于每一条整体的记录进行操作,例如可以根据时间来查找某一确定日期是否进行了收入或者支出的操作,也可以根据特定的需要来删除某一条整体的记录。
但不允许对每条记录的单项数据进行更改,因为不管是收入还是支出,所涉及的金额都是固定的,时间也是固定的,所以系统不允许用户对其进行操作。
除此之外,还必须有足够大的空间来存储新的记录。
所以此程序就是基于这个思想而编写出来的,基本满足了用户对于一个财政支出管理系统所要求的相关功能。
页脚内容12系统总框图和功能模块说明2.1系统总框图2.2功能模块说明(1)old_record( ):此函数由系统自行调用,作用是将所有用户信息存入系统。
(2)void save( ): 此函数的作用是将结构体数组中的信息写入文件存储,由系统调用。
c语言课程设计个人账本管理
c语言课程设计个人账本管理一、教学目标本节课的教学目标是让学生掌握C语言的基本语法和编程技巧,通过编写个人账本管理系统,培养学生的实际编程能力和问题解决能力。
具体分为以下三个维度:1.知识目标:学生需要掌握C语言的基本数据类型、运算符、控制结构、函数等语法知识,理解结构体和文件操作等高级概念。
2.技能目标:学生能够运用C语言编写简单的程序,具备基本的调试和优化代码的能力。
通过个人账本管理系统的开发,培养学生的实际编程能力和团队协作能力。
3.情感态度价值观目标:培养学生对计算机科学的兴趣和热情,提高他们对编程和解决问题的自信心,培养良好的编程习惯和团队精神。
二、教学内容本节课的教学内容主要包括C语言的基本语法、数据类型、运算符、控制结构、函数等基础知识,以及结构体和文件操作等高级概念。
具体安排如下:1.引入:介绍C语言的背景和发展历程,让学生了解C语言的重要性和应用领域。
2.基本语法:讲解C语言的基本数据类型、运算符、控制结构等基础知识,让学生掌握编写简单程序的基本技巧。
3.函数:介绍函数的定义和声明,讲解如何编写和使用函数,培养学生编写模块化代码的能力。
4.结构体:讲解结构体的定义和用法,让学生了解如何使用结构体来存储和管理复杂的数据。
5.文件操作:讲解文件的基本概念和操作方法,让学生掌握如何读写文件,为后续的个人账本管理系统开发打下基础。
6.个人账本管理系统:通过项目驱动的方式,让学生动手编写个人账本管理系统,培养学生的实际编程能力和问题解决能力。
三、教学方法为了提高教学效果,本节课将采用多种教学方法相结合的方式进行教学。
具体包括:1.讲授法:讲解C语言的基本语法和概念,让学生掌握基础知识。
2.案例分析法:通过分析实际案例,让学生了解C语言在实际应用中的作用和价值。
3.实验法:学生进行个人账本管理系统的开发,培养学生的实际编程能力和团队协作能力。
4.讨论法:鼓励学生积极参与课堂讨论,提问和解答问题,提高他们的思维能力和沟通能力。
C语言程序设计个人财务管理系统
C语言程序设计个人财务管理系统个人财务管理系统是一款帮助个人进行财务管理和分析的软件,能够帮助用户记录、分类、统计和分析个人的收入和支出。
本文将介绍一个使用C语言编写的简单个人财务管理系统。
首先,我们需要定义几个结构体来表示财务记录和分类信息:```c//定义财务记录结构体struct financial_recordint id; // 编号int year; // 年份int month; // 月份int day; // 日期char type[20]; // 类型double amount; // 金额};//定义分类信息结构体struct categorychar name[20]; // 分类名称double total; // 总金额int count; // 记录数量};//定义财务管理系统结构体struct financial_management_systemstruct financial_record records[100]; // 财务记录数组struct category categories[10]; // 分类信息数组int record_count; // 记录数量};```接下来,我们可以实现几个基本的功能,如添加记录、删除记录、查询记录和分类汇总等:```c//添加财务记录void add_record(struct financial_management_system *system) printf("请输入年份:");scanf("%d", &(system->records[system->record_count].year));//省略其他输入信息的代码printf("请输入金额:");scanf("%lf", &(system->records[system->record_count].amount));system->record_count++;//删除财务记录void delete_record(struct financial_management_system*system, int id)for (int i = 0; i < system->record_count; i++)if (system->records[i].id == id)for (int j = i; j < system->record_count - 1; j++)system->records[j] = system->records[j + 1];}system->record_count--;break;}}//查询财务记录void query_record(struct financial_management_system system, int year, int month, int day)for (int i = 0; i < system.record_count; i++)if (system.records[i].year == year &&system.records[i].month == month &&system.records[i].day == day)printf("编号:%d\n", system.records[i].id);//输出其他信息的代码}}//分类汇总void summarize_category(struct financial_management_system system)for (int i = 0; i < system.record_count; i++)//查找分类信息是否存在int category_index = -1;for (int j = 0; j < 10; j++)if (strcmp(system.records[i].type, system.categories[j].name) == 0)category_index = j;break;}}//如果分类信息不存在,则添加分类信息if (category_index == -1)strcpy(system.categories[system.category_count].name, system.records[i].type);system.categories[system.category_count].count = 1;system.categories[system.category_count].total = system.records[i].amount;system.category_count++;} elsesystem.categories[category_index].count++;system.categories[category_index].total +=system.records[i].amount;}}for (int i = 0; i < system.category_count; i++)printf("分类:%s\t总金额:%lf\t记录数量:%d\n",system.categories[i].name,system.categories[i].total,system.categories[i].count);}```最后,我们可以编写主函数来完成用户和系统的交互:```cint maistruct financial_management_system system; system.record_count = 0;system.category_count = 0;while (1)printf("\n请选择操作:\n");printf("1. 添加记录\n");printf("2. 删除记录\n");printf("3. 查询记录\n");printf("4. 分类汇总\n");printf("0. 退出\n");int choice;scanf("%d", &choice);switch (choice)case 1:add_record(&system);break;case 2:printf("请输入要删除的记录编号:");int id;scanf("%d", &id);delete_record(&system, id);break;case 3:printf("请输入查询的日期(年月日):"); int year, month, day;scanf("%d %d %d", &year, &month, &day); query_record(system, year, month, day); break;case 4:summarize_category(system);break;case 0:return 0;default:printf("无效的操作!\n");break;}}```通过以上代码,我们实现了一个简单的个人财务管理系统。
c课程设计个人财务系统设计
c 课程设计个人财务系统设计一、教学目标本课程旨在帮助学生了解和掌握个人财务系统设计的基本概念和方法,使他们在理论知识、实践技能和情感态度方面达到以下目标:1.知识目标:–掌握个人财务系统的定义、功能和分类。
–了解个人财务规划的基本原则和方法。
–学习个人资产负债表、收入支出表的编制方法。
–掌握储蓄、投资、消费决策的制定原则。
2.技能目标:–能够运用个人财务规划方法,为他人提供财务咨询。
–能够独立完成个人资产负债表、收入支出表的编制。
–学会分析个人财务状况,提出改进措施。
–能够根据自身情况,制定合理的储蓄、投资、消费决策。
3.情感态度价值观目标:–培养学生正确的理财观念,认识到个人财务规划的重要性。
–培养学生关注社会经济发展,关注个人财务问题。
–培养学生独立思考、解决问题的能力。
二、教学内容根据课程目标,本课程的教学内容主要包括以下几个部分:1.个人财务系统概述:介绍个人财务系统的定义、功能和分类,使学生了解个人财务系统的基本概念。
2.个人财务规划:讲解个人财务规划的基本原则和方法,让学生学会如何为他人提供财务咨询。
3.个人财务报表:详细介绍资产负债表、收入支出表的编制方法,帮助学生掌握财务报表的基本知识。
4.储蓄、投资与消费决策:分析储蓄、投资、消费决策的制定原则,让学生能够根据自身情况,制定合理的财务决策。
三、教学方法为了提高教学效果,本课程将采用以下教学方法:1.讲授法:通过讲解基本概念、原理和方法,使学生掌握个人财务系统设计的相关知识。
2.案例分析法:分析实际案例,让学生学会如何运用所学知识解决实际问题。
3.讨论法:学生进行分组讨论,培养学生的独立思考和团队协作能力。
4.实验法:安排实验课程,让学生动手操作,提高实践能力。
四、教学资源为了支持教学内容和教学方法的实施,本课程将采用以下教学资源:1.教材:《个人财务系统设计》教材,为学生提供理论知识的学习材料。
2.参考书:提供相关领域的参考书籍,拓展学生的知识视野。
C语言课程设计银行个人账户管理系统
大连科技学院C语言课程设计题目银行系统管理设计学生姓名高皓天专业班级软件工程(金融方向)14-2指导教师何丹丹职称副教授所在单位信息科学系计算机教研室教研室主任宋丽芳完成日期2015年7月10日课程设计成绩考核表综合评定:(优、良、中、及格、不及格)指导教师签字:2015年7月 10 日一、课程设计时间共计2周.二、课程设计内容用C语言编写软件完成以下任务:1 储户开户(储户数据包括帐号,姓名,身份证号,密码和账户余额等),储户的信息保存在account.dat文件中,应对储户的开户金额做出限制(如金额不低于10元钱)。
2 储户的密码修改。
3 储户的余额查询。
4 储户销户。
5 储户的各项信息更改后,应同时更新account.dat文件中的内容。
三、课程设计要求1. 程序质量:✧贯彻结构化的程序设计思想。
✧用户界面友好,功能明确,操作方便。
✧用户界面中的菜单至少应包括“储户开户”、“密码修改”、“余额查询”、“销户”和“退出”5项。
✧代码应适当缩进,并给出必要的注释,以增强程序的可读性。
2. 课程设计说明书:课程结束后,上交课程设计说明书和源程序。
课程设计说明书的格式和内容参见提供的模板。
四、指导教师和学生签字指导教师:________ 学生签名:________五、说明书成绩六、教师评语目录一、需求分析 (1)二、程序流程图 (2)三、核心技术的实现说明及相应程序段 (5)四、课设总结 (8)五、参考文献 (9)六、源程序 .......................................... 错误!未定义书签。
七、上机操作 (24)一、需求分析经过对程序设计题目的分析可知,整个程序的设计实现大致分为九个模块,每一个模块对应一个函数。
在这些函数当中,储户开户函数,余额查询函数,储户销户函数,密码查询函数的实现严格按照题目的要求,而更改数据函数和显示函数属于附加功能。
读取文件函数和保存信息函数对其它函数的实现起辅助作用,主函数及菜单函数控制程序的整体运行。
C语言程序设计个人财务管理系统
程序设计工程训练报告C语言程序设计个人财务管理系统课程名称C语言程序设计工程训练姓名院(系)信息科学与技术学院专业班级学号指导教师教务处制目录1.需求分析 (1)2系统总框图和功能模块说明 (1)2.1系统总框图 (1)2.2功能模块说明 (1)3系统设计 (3)3.1主要结构体 (3)3.2主要功能函数 (3)4系统调试 (3)4.1、程序开始执行时系统的所显示的页面: (3)4.2、选择退出系统: (3)4.3、选择登陆,并且输入的帐号和密码都正确: (4)4.4、用户输入的帐号不正确: (4)4.5、用户输入的帐号正确,密码不正确: (4)4.6、用户进行具体操作: (5)5总结 (6)6源程序清单 (6)1.需求分析编写一个个人财政支出管理系统,主要解决的问题是作为一个系统而言,它所要面对不只是某一个人而言,而是要面对很多的用户。
那么想要解决这一问题,就必须要求这个系统能够存储许多用户的基本信息和记录。
同时也要求系统能够对不同的用户的身份进行查找和验证。
在验证通过之后,在对其进行用户所要求的操作。
作为一个财政支出系统,那么就要求对于用户关于金钱的每一项操作都要有相应的记录,同时并允许用户对于每一条整体的记录进行操作,例如可以根据时间来查找某一确定日期是否进行了收入或者支出的操作,也可以根据特定的需要来删除某一条整体的记录。
但不允许对每条记录的单项数据进行更改,因为不管是收入还是支出,所涉及的金额都是固定的,时间也是固定的,所以系统不允许用户对其进行操作。
除此之外,还必须有足够大的空间来存储新的记录。
所以此程序就是基于这个思想而编写出来的,基本满足了用户对于一个财政支出管理系统所要求的相关功能。
2系统总框图和功能模块说明2.1系统总框图2.2功能模块说明(1)old_record( ):此函数由系统自行调用,作用是将所有用户信息存入系统。
(2)void save( ): 此函数的作用是将结构体数组中的信息写入文件存储,由系统调用。
c个人记账本课程设计
c 个人记账本课程设计一、教学目标本课程旨在让学生了解和掌握个人记账本的基本概念、方法和技巧,培养学生良好的财务管理和规划能力。
具体目标如下:1.知识目标:使学生了解个人记账本的定义、作用和分类;掌握记账的基本原则和方法;了解财务报表的编制和分析。
2.技能目标:培养学生能够熟练使用记账软件或手工记账;能够独立完成简单的财务报表编制和分析。
3.情感态度价值观目标:培养学生树立正确的金钱观和消费观,养成良好的理财习惯,提高个人财务管理能力。
二、教学内容本课程的教学内容主要包括以下几个部分:1.个人记账本的基本概念:介绍个人记账本的定义、作用和分类,使学生了解个人记账本在财务管理中的重要性。
2.记账方法与技巧:讲解记账的基本原则和方法,培养学生掌握正确的记账技巧,提高记账效率。
3.财务报表的编制与分析:教授财务报表的编制方法,使学生能够独立完成简单的财务报表;并通过分析财务报表,培养学生具备基本的财务管理能力。
4.实践操作:安排一定课时的实践操作,让学生熟练使用记账软件或手工记账,巩固所学知识。
三、教学方法本课程采用多种教学方法,以激发学生的学习兴趣和主动性:1.讲授法:讲解个人记账本的基本概念、记账方法和财务报表分析等理论知识。
2.案例分析法:通过分析真实案例,使学生更好地理解和掌握个人记账的实际应用。
3.实验法:安排实践操作课,让学生动手操作,提高实际记账能力。
4.讨论法:学生进行小组讨论,分享学习心得和经验,互相促进。
四、教学资源为实现教学目标,本课程将采用以下教学资源:1.教材:选用权威、实用的个人记账本教材,为学生提供系统的理论知识。
2.参考书:提供相关参考书籍,丰富学生的知识体系。
3.多媒体资料:制作精美的课件、视频等多媒体资料,增强课堂教学的趣味性。
4.实验设备:配备必要的实验设备,如电脑、记账软件等,保障实践操作课的顺利进行。
五、教学评估为全面、客观地评估学生的学习成果,本课程将采用以下评估方式:1.平时表现:通过观察学生在课堂上的参与度、提问回答等,评估学生的学习态度和积极性。
C#课程设计银行个人账户管理系统
cmd.Parameters.Add(p);
cmd.ExecuteNonQuery();
#endregion
Session["userNum"] = erID.Text;
5.1.2 流程图
流程图如下:
5.1.3 主要代码
点击登录按钮,调用myBtnButton_Click()函数,Login.aspx.cs部分代码:
protected void CheckLogin()
{
SqlConnection con = new SqlConnection();
con.ConnectionString = "server=.\\sqlexpress;database=银行个人账户管理系统;integrated security=true;"; //连接数据库的字符串
<%--中部分--%>
<a href="AccountManagerLogin.aspx" target="MainFrame">账户管理</a>
<a href="CreateAccount.aspx" target="MainFrame">创建账户</a>
<a href="DeleteAccount.aspx" target="MainFrame">删除账户</a>
<asp:Button ID="Button_Quit" runat="server" Text="退出" OnClick="Quit_Click" />
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
个人帐簿管理系统目录摘要 (1)1绪论 (1)2系统分析 (1)2.1功能需求 (1)2.2数据需求 (1)2.3性能需求 (2)3总体设计 (2)3.1系统设计方案 (2)3.2功能模块设计 (2)4详细设计 (3)4.1录入数据模块 (3)4.2修改数据子模块 (4)4.3查询数据子模块 (5)4.4排序数据子模块 (6) (6)4.6删除数据子模块 (7)5调试与测试 (8)5.1调试 (8)5.2测试 (8)6结论 (9)结束语 (9)参考文献 (9)附录1-用户手册 (10)附录2-源程序 (13)摘要个人帐簿管理系统的开发是为了方便个人记录每月的全部收入及开支情况,包括食品消费,房租,子女教育费用,水电费,医疗费,储蓄等。
并进行查询和排序等。
主要实现以下功能:(1) 记录月份以及每月的食品消费,房租,子女教育费用,水电费,医疗费,储蓄等内容。
(2) 要求该系统能查看该数据并进行修改和查询等。
(3)并用冒泡法进行排序以及能进行内容的删除。
报告从系统分析,总体设计,详细设计,调试与测试方面进行描述和介绍。
关键词:个人帐簿管理系统;扩充;修改;删除。
1绪论当今社会是个劳逸结合的社会,计算机在人们的生活中越来越重要,个人账簿管理的开发给大众的生活平添了方便。
个人账簿管理系统是一个比较普遍的管理系统,它的存在方便个人记录每月的全部收入及开支情况。
根据课程设计任务书要求,个人帐簿管理系统记录某人每月的全部收入及各项开支情况,包括食品消费,房租,子女教育费用,水电费,医疗费,储蓄等。
进入系统后可以输入和修改某月的收支情况,可以对每月的开支从小到大进行排序,可以根据输入的月份查询每月的收支情况。
另外要求建立一个文件,包括某人5个月的收支情况,能对文件中的信息进行扩充(追加),修改和删除;完成对每月的开支排序,以及完成系统查询功能。
可进行功能的适当扩充。
2系统分析2.1 功能需求个人帐簿管理系统要求记录某人每月的全部收入及各项开支情况,包括食品消费,房租,子女教育费用,水电费,医疗费,储蓄等并能进行修改,查询,排序,删除等功能。
2.2数据需求系统主要处理的是个人帐簿信息,因此其输入和输出都与此相关。
(1) 输入数据:月份和食品消费,房租,子女教育费用,水电费,医疗费,储蓄等数据。
(2) 输出数据:月份和食品消费,房租,子女教育费用,水电费,医疗费,储蓄等的数据。
2.3 性能需求本系统主要需要达到以下性能要求:安全性高、可靠性强、稳定性强、响应速度快3总体设计3.1系统设计方案(1)菜单本系统根据需要主要设计了6个菜单,分别为①录入数据②.查看数据③修改数据④.查询数据⑤排序数据⑥退出系统(2) 文件保存方式系统需要保文件,文件存储月份和食品消费,房租,子女教育费用,水电费,医疗费,储蓄等数据。
(3) 数据类型系统定义了数组,结构体等类型,存储月份和食品消费,房租,子女教育费用,水电费,医疗费,储蓄等信息。
(4) 算法设计系统中主要排序算法(冒泡排序),即第1个数与第2个数比较,若第1个大,就与第2个数交换;若第2个数大,就不交换;继续第2个与第3个比较,。
,直到比较完为止。
3.2功能模块设计根据分析,系统主要设计了6个模块,分别是:录入数据模块,查看数据模块,修改数据模块,查询数据模块,排序数据模块,删除数据模块;功能模块图如图1所示。
个人帐簿管理系统录入数据模块查看数据模块修改数据模块查询数据模块排序数据模块删除数据模块图1功能模块图(1)录入数据录入数据模块把输入的信息存储到文件里,为以下操作提供数据。
(2)查看数据查看数据模块是输入要执行的操作,打开文件,查看帐户里面的信息(3)修改数据修改数据模块是输入要修改的月份,打开文件,找到该月的信息,把新输入的信息复制给原有信息,已达到修改的目的。
(4)查询数据查询数据模块是打开文件,输入要查看的月份,就将输出该月的信息。
(5)排序数据排序数据模块是用冒泡排序,把每月的费用从小到大排列。
(6)删除数据删除数据模块是用链表把其中某月删除。
4详细设计4.1录入数据模块录入主要通过scanf函数实现。
具体程序实现流程如图2所示。
图2输入月份和食品消费,房租,子女教育费用,水电费,医疗费,储蓄等数据。
4.2修改数据子模块修改文件中的信息,具体程序实现流程如图4所示。
图3输入月份首先判断文件中是否有该信息,没有,输出没有符合条件的记录,有,输出该信息,再进行修改;即重新输入月份和食品消费,房租,子女教育费用,水电费,医疗费,储蓄等数据。
4.3查询数据子模块查询某月的信息,具体程序实现流程如图5所示。
图4输入要查询的月份,首先判断文件中是否有该信息,没有,输出无法找到该文件,有,输出该信息。
4.4排序数据子模块图5冒泡排序:即第1个数与第2个数比较,若第1个大,就与第2个数交换;若第2个数大,就不交换;继续第2个与第3个比较,。
,直到比较完为止。
4.6删除数据子模块删除某月的信息,具体程序实现流程如图7所示。
图6输入要删除的月份,若文件中没有该信息,输出无法找到该文件,若文件中有该信息,输出请选择要删除的月份,输入月份,利用链表的知识删除该月份。
5调试与测试5.1 调试调试过程主要是运行编制好的程序,然后遇到错误后根据系统的提示,找到相关的问题所在。
以解决问题。
(1) 系统提示的错误:函数没有起到作用,跟踪发现根本就没有结果,最后发现这个语句根本就没有被调用。
(2) 调试过程中遇到了储存内容重复的错误。
经多次实验后得得出是系统的问题,这将有待改进。
5.2 测试软件测试是软件生存期中的一个重要阶段,是软件质量保证的关键步骤从用户的角度来看,普遍希望通过软件测试暴露软件中隐藏的错误和缺陷,所以软件测试应该是“为了发现错误而执行程序的过程”。
或者说,软件测试应该根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例去运行程序,以发现程序错误或缺陷。
过度测试则会浪费许多宝贵的资源。
到测试后期,即使找到了错误,然而付出了过高的代价。
(1)输入正确的数:输入数据1:1 2 3 4 5 6 7 8预期结果:1 2 3 4 5 6 7 8运行结果:1 2 3 4 5 6 7 8说明:远行正确。
(2)输入错误的数:输入数据2:15 3 4 5 6 7 8 9预期结果:15 3 4 5 6 7 8 9运行结果:15 3 4 5 6 7 8 9说明:远行错误。
6结论经过两周的课程设计,个人帐簿管理系统基本完成,实现了任务书中的所有要求。
这对不熟悉程序的人来说操作起来也不是那么轻松上手,所以还有改进的地方,相信再以后,一定会写出更完善的程序结束语为期二个礼拜的数据结构课程设计终于顺利完成,在这期间真正的学到了一些经验,能够熟练的掌握一些C语言的编程思路及数据结构中的一些算法,能够熟练的运用学到的函数,学会了如何调试报告并加以改正,并知道了在输入信息时也要认真看清是何类型。
学到课本或一些理论中学不到的知识,这才达到了实践的目的,当程序经过多次调试,成功运行的时候,心里是激动的,这种成就感是前所未有的,也让大学生活显得不那么平常,格外的充实。
参考文献[1] 谭浩强.C语言程序设计(第三版).清华大学出版社,2007[2] 姜灵芝,余健.C语言课程设计案例精编.清华大学出版社,2008[3] 网上相关资料附录1-用户手册(1)录入数据图7 (2)查看数据图8图9 (4)查询数据图10图11(6)删除数据图12附录2-源程序#include <stdio.h>#include <stdlib.h>#include <memory.h>#include <windows.h>//文件保存路径#define FilePath1 "Myfile.dat"#define FilePath2 "Myfile.txt"//查询用声明#define Status int//宏定义#define OK 1//宏定义#define Error 0//宏定义#define NotFound 2//宏定义typedef struct {int month;//月份int spxf;//食品消费int fzfy;//房租费用int znjy;//子女教育费用int sdfy;//水电费用int ylfy;//医疗费用int cxfy;//储蓄费用int srfy;//收入费用} Infor;typedef struct {// 查询用自定义数据类型int no;int data;}pType;void menu(void); //菜单void input(Infor *newI); //接收键盘输入void writeinfor(Infor *newI);//向文件内写入内容void changeFormat(void );//将dat格式文件转换为txt文件Status search(Infor *a);//查询函数[返回查询的结果及查询的状态]void paixu(Infor *a);//对查询据结果排序void modify(Infor *a,int mon);//修改数据void delRecord(int mon);//删除数据void main()//主函数{while(1){menu();//函数调用}}void menu(void)//菜单{int item;//定义整型int mon;//定义整型Infor *a;a=(Infor *)malloc(sizeof(Infor));do{printf("\n\t\t…………个人帐簿管理系统设计…………\n\n");//输出printf("\t\t 1.录入数据。
\n");//输出printf("\t\t 2.查看数据。
\n");//输出printf("\t\t 3.修改数据。
\n");//输出printf("\t\t 4.查询数据。
\n");//输出printf("\t\t 5.排序数据。
\n");//输出printf("\t\t 6.删除数据。
\n");//输出printf("\t\t 0.退出系统。
\n");//输出printf("\t\t………………………………………………\n\n");//输出printf("请输入要进行的操作: " );//输出scanf("%d",&item);//输入}while(item>6 || item<-1);switch(item){ //退出程序case 0: getchar();//保存界面getchar();//保存界面exit(1);break;//结束//录入数据case 1: input(a);//函数调用writeinfor(a);//函数调用break;//结束//查看数据case 2: changeFormat();//函数调用break;//结束//修改数据case 3: item=search(a);//复制mon=a->month;//复制if (item!=OK) printf("\n没有符合条件的记录!\n"); //判断输出else{printf("\n记录月份食品消费房租费用子女费用水电费用医疗费用储蓄费用本月收入\n");//输出printf("----------------------------------------------------------------------- \n");//输出printf("%7d %8d %8d %8d %8d %8d %8d %8d\n",a->month,a->spxf,a->fzfy,a->znjy ,a->sdfy,a->ylfy,a->cxfy,a->srfy);//输出input(a);//函数调用modify(a,mon);//函数调用}break;//结束//查询数据case 4: item=search(a);//复制if (item!=OK) printf("\n没有符合条件的记录!\n");//判断输出else{printf("\n记录月份食品消费房租费用子女费用水电费用医疗费用储蓄费用本月收入\n");//输出printf("----------------------------------------------------------------------- \n");//输出printf("%7d %8d %8d %8d %8d %8d %8d %8d\n",a->month,a->spxf,a->fzfy,a->znjy ,a->sdfy,a->ylfy,a->cxfy,a->srfy);//输出}break;//结束//排序数据case 5: item=search(a);//复制if (item!=OK) printf("\n没有符合条件的记录!\n"); //判断输出elsepaixu(a);//函数调用break;//结束//删除数据case 6:item=search(a);//复制mon=a->month;//复制if (item!=OK) printf("\n没有符合条件的记录!\n"); //判断输出else{printf("\n记录月份食品消费房租费用子女费用水电费用医疗费用储蓄费用本月收入\n");//输出printf("----------------------------------------------------------------------- \n");//输出printf("%7d %8d %8d %8d %8d %8d %8d %8d\n",a->month,a->spxf,a->fzfy,a->znjy ,a->sdfy,a->ylfy,a->cxfy,a->srfy);//输出delRecord(mon);//函数调用}break;//结束}free(a);//释放内存空间}void input(Infor *newI)//函数定义{printf("\n请依次输入数据[说明:中间以空格符隔开]:\n(本月月份食品消费房租费用子女费用水电费用医疗费用储蓄费用收入费用)\n");//输出scanf("%d%d%d%d%d%d%d%d",&newI->month,&newI->spxf,&newI->fzfy,&newI ->znjy,&newI->sdfy,&newI->ylfy,&newI->cxfy,&newI->srfy);//输出fflush(stdin);//函数调用}void writeinfor(Infor *newI){FILE *fp;//定义指针fp=fopen(FilePath1,"ab+");//复制if(fp==NULL)//判断{printf("无法创建文件:%s",FilePath1);//输出exit(0);//函数调用}fwrite(newI,sizeof(Infor),1,fp);//这里可以做特别处理可防止存在同一月份有2条以上的记录问题。