C语言个人账簿管理系统报告

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).掌握书写程序设计开发文档的能力(书写课程设计报告)。

1.2 课程设计内容

(1)根据分组情况单独完成规定的设计内容;

(2)源程序要有适当的注释,使程序容易阅读;

(3)至少采用文本菜单界面(如果能采用图形菜单界面更好);

(4)学生可自动增加新功能模块(视情况可另外加分);

(5)写出课程设计报告,具体要求见相关说明文档。

2 系统需求分析

2.1 系统目标

1) 实现个人账簿管理系统的基本功能。包括:记录某人每月全部收入和开支情况。进入系统后可以增加、删除修改记录,可以提供查询和支出排序功能

2) 对系统进行扩充,实现多人账户,通过输入用户名和密码形式登陆之后才进行系统操作

3) 对系统进一步扩充,细化各功能模块。

3) 美化界面,使使用界面更加人性化,使用更方便。

2.2 主体功能

1) 增加一条收支记录,记录某人某月收支情况

2) 查询本系统所有用户的全部收支信息

3) 修改某人某月的收支记录

4) 删除某人某月的收支记录

个人账簿管理系统

5) 输入条件进行查找收支记录

6) 删除一条收支记录

7) 系统说明可查看功能结构以及制作者

2.3 开发环境 DEVC++

3 系统概要设计

3.1 系统的功能模块划分

1) 注册用户和登陆用户:

a注册:输入正确管理员指令才可注册,否则警告并返回原界面。

b登陆:输入正确的用户名和密码进入个人账簿管理系统主功能界面。

2) 主功能界面(登陆后才可进入):

a 录入账目:录入后写数据进"alluserinfo.dat”文件

b 查看所有(需要先输入管理员权限)

c 修改数据:输入月份,修改该月收支记录

d 查找数据:分为精确查找和按用户查找两类

e 排序收支:先输入月份,对某月全部开支进行排序

f 删除记录:先确定要删除的月份再删除

g系统说明

3.2 系统流程图

关于本系统流程图的简要说明:

1) 首先定义了三个结构体变量,分别是US用户密码信息结构体,Bill开支记录结构体和Sort不同类型开支的结构体,在宏定义中设置了管理员权限指令和最大用户名,最大密码长度以及三个文件路径以供本系统存储、查找、调用

2) 主函数包括了登陆函数(Loadin)、注册函数(Register)和正常退出函数(Quit)。

注册函数:如果输入正确指令将注册。注册成功后进入登陆函数,指令错误警告并返回最初界面

3) 登陆函数:如果登陆失败警告并返回原界面;登陆成功则进入菜单函数(Menu)

菜单函数主要包括录入账目(Input函数和IriteFile函数)、查看所有(FindAll 函数)、修改数据(SearchSingle函数,Remove函数,Input函数,WriteFile 函数)、精确查找(SearchSingle函数)、按用户查找(SearchUser函数)、单月排序(SearchSingle 函数,Sort函数)、删除数据(SearchSingle函数,Remove函数)、系统说明(Help 函数)、正常退出(Quit函数)

图3-2 系统流程图

个人账簿管理系统

4系统详细设计

4.1 个人账簿管理系统主函数前常变量定义和函数声明

1)定义三个结构体变量

结构体

Typedef struct US

Typedef struct Sort

Typedef struct Bill

2)定义常变量

常变量声明

#define MAXNAME 10

#define MAXPASSWORD 10

#define SECRET "个人账簿管理系统"

#define Fpath1 "alluserinfo.dat"

#define Fpath2 "usersecret.txt"

#define Fpath3 "peruserinfo.dat"

3)函数声明

void Quit();

void Register();

void Loadin();

void Menu(Bill *q);

void Input(Bill* q);

void FindAll();

void WriteFile(Bill *q);

int SearchSingle(Bill *q);

void Remove(Bill *q);

int SearchMenu(Bill *q);

void sort(Bill *q); //排序单个用户每月开支,需要参数传递用户名

void Help();

void SearchUser(Bill *q);

4.2 个人账簿管理系统主函数

主函数包含在while(1)循环中,每次子函数结束返回都继续执行循环。主函数中包含switch结构,根据用户选择的1,2或者0执行下面相应函数。如果用户输入错误则显示输入错误,并提示重新选择。详见源程序清单

4.3个人账簿管理系统注册函数、登陆函数和正常退出函数(Quit)

Register函数中,如果输入正确指令就显示可以注册,等待用户输入用户名和密码,将用户名和密码写入“usersecret.txt”文件中,然后关闭文件,显示注册成功,返回原来的“注册登陆退出界面”;若用户未输入正确的指令,就警告没有注册权限,警告,然后等待Sleep(2000)后自动跳转到的登陆函数。

Loadin函数:函数主功能从这里开始,如果用户根据提示输入的用户名和密码跟“usersecret.txt”文件中某一个US结构体长度的内容完全一样,就显示登陆成功,并进入Menu菜单函数。如果不能与usersecret.txt中的某一个US结构体匹配,则警告并返回原“登陆注册退出界面”。

Quit 函数:显示正在退出本系统然后退出

4.4 个人账簿管理系统主菜单函数和查找子菜单函数

Menu函数是本系统的主功能菜单函数,首先在屏幕上列出各子功能,然后提示用户选择。根据用户选择执行相应的函数。其中,选择2查看所有,将要求先输入正确管理员指令才能查看所有用户信息,否则返回主功能菜单;选择4将进入查找子菜单函数,子菜单函数也提供了两种不同的查询方式,分别是精确查找和按用户查找。

由于Menu函数在上层的Loadin函数中以while(1)形式构建,所以无论选了哪个选择,执行完相应选择的函数后都将重新执行Menu函数,即清屏

(system(“cls”)),然后屏幕显示8个功能选项。下面是主功能模块的流程图。

个人账簿管理系统

4-4 主功能流程图

4.5 个人账簿管理系统录入收支模块

首先,用Input输入函数来输入一条月收支记录,按EXIT输入结束

然后,用WriteFile写入数据进Fpath1,即“alluserinfo.dat”文件。写入后屏幕显示数据已经成功写入

写入数据后清屏,跳转界面到原来的主功能菜单界面

4.6 个人账簿管理系统查询模块

查询功能分三个子功能,分别是查询所有用户信息功能、已登陆用户输入月精确查找和查询该用户全部收支记录。

查询所有用户信息需要输入正确的管理员指令才可以查询(指令在宏定义中定义了,为“个人账簿管理系统”)

输入月份精确查找,用SearchSingle函数返回整型数据到原来位置,再根据返回值确定是否找到,找到就输出,找不到就警告并跳转界面。之所以带回返回值是因为要先在SearchSingle 函数中关闭因查找而打开的二进制“alluserinfo.dat”文件查询该用户所有信息,用SearchUser函数

4.7 个人账簿管理系统修改数据模块

用到四个函数:先精确查找(SearchSingle函数),再移除(Remove函数),再输入(Input函数),再写入数据保存(WriteFile函数)

4.8 个人账簿管理系统排序模块

先用精确查找函数确定要排序的月份(SearchSingle函数),再用sort 函数排序

4.9 个人账簿管理系统帮助说明

Help函数,主要功能是介绍本系统功能以及制作者

5 测试

5.1 测试方案

测试分为黑盒测试和白盒测试,本课程设计将对本系统进行黑盒测试中的功能测试。

5.2 测试结果

a) 注册界面

注册界面如图5-1所示:

图5-1 注册界面

个人账簿管理系统

b) 登陆界面

登陆时,用户名和密码正确,如图5-2-1

图5-2-1登陆界面a 登陆时,用户名和密码错误,如图5-2-2

图5-2-2 登陆界面

c) 主菜单

主菜单界面如图5-3:

图5-3 主菜单界面

d) 录入数据

录入数据界面如图5-4

图5-4 录入账单界面

个人账簿管理系统e) 修改数据:

修改用户月收支记录如图5-6

图5-6 修改收支记录

f) 查看所有用户信息

查看所有用户收支信息如图5-7所示

图5-7 查看所有用户信息

个人账簿管理系统g) 帮助文件:

系统说明、帮助文件如图5-8所示

图5-8 系统说明文件

6小结

这两周的课程设计,我收获了很多,再一次深刻意识到,实践对于我们软件工程专业的重要性。书本知识背的再多,会应用才是真的有效。虽然我们要学很多程序设计语言,会面临很多语法混淆的状况,这些都很重要。但最最重要的还是面对现实问题时果断清晰地思维。软件设计必须要在所有工作开始之前构思框架,然后慢慢的戏份,最后优化界面等。因此我明白了到在今后的学习中,重视思维,多考虑方向,重视解决方案;同时要不断尝试之前构思的想法,试错然后改错,这样才有更多设计经验。

所有意外的错误都是我个人本身的错误,出现任何error和警告都可以通过我自己改代码解决,而应该绝少抱怨开发环境(至少到现在为止我这样认为)。我在这次课程设计中遇到很多次,觉得解决方案没有错,但是编译日志仍然若干error 提示,每到这时我心里就会很急躁。心里就想:啊怎么会这样,怎么搞的什么情况。这样导致内心不安定,影响到自己接下来的调试,甚至直接中止。比如,这次课设遇到的,录入了一次记录之后再录入就会出现用户名错误,成为一个随机的单个的字,后来发现我应该while(1),每次做完都返回继续循环,变量p不应该再Menu 里面就释放,这样就会导致执行一次循环就用一次p用完就释放掉,再开拓一个p,但是已经不是初设的用户名了。这个认真看一下就可以解决,而我的急躁却让这次小调试浪费了些时间。错误往往很容易解决,因为思路已经对了很多时候就是变量设置问题或者循环结束条件的问题。但我却看到错误就急躁,无心再调。另一方面,如果隔很久再回头看,,往往很多细微的东西自己已经忘记了,又要耗费时间重看。

这次课设,我渐渐学会要胆子大一点,多考虑可能的方案,想到方案觉得还行就打代码调试,往往一些小的念头正指向最终答案。只要我延伸它拓展它完善它,就会成为很好的解决方案。

谷歌公司招聘程序员的最低门槛石必须有10万行的代码经验,着实说明了实践对于编程来说的重要性,我将在以后的学习中,多实践说调试,积累更多经验,用更好的方案解决实际问题

另外此次课设我自己也了解和运用了很多新的函数和头文件等

●System(Fpath1.txt); //表示显示转换的文本文件

●Free(p); //释放p所占用的内存

●Sleep(80); 运行暂停80毫秒

●P=(Bill *)malloc(sizeof(Bill));

●System(“cls”);功能用处很大,刷新屏幕,刷新残留数据。

●Typedef struct Bill

#include #include #include

个人账簿管理系统

参考文献

[1]谭浩强.C程序设计(第四版)[M].北京:清华大学出版社,2012.7.

[2] E Balagurusamy.标准C程序设计(第三版).[M].北京:清华大学出版社,2006.5

[3] Michael Main.数据结构域面向对象程序设计.北京:清华大学出版社.2012.5

附录附录1 源程序清单

附录1.1个人账簿管理系统主函数前声明

#include

#include

#include

#include

#include

#define MAXNAME 10

#define MAXPASSWORD 10

#define SECRET "个人账簿管理系统"

#define Fpath1 "alluserinfo.dat"

#define Fpath2 "usersecret.txt"

#define Fpath3 "peruserinfo.dat"

typedef struct

{

char username[MAXNAME];

char password[MAXPASSWORD];

}US;

typedef struct

{

char name[10];

int data;

}Sort;

typedef struct

{

int food;

int rent;

int education;

int water;

int medicine;

int TotalExpense;

int saving;

int income;

int month;

个人账簿管理系统

char username[MAXNAME];

}Bill;

void Quit();

void Register();

void Loadin();

void Menu(Bill *q);

void Input(Bill* q);

void FindAll();

void WriteFile(Bill *q);

int SearchSingle(Bill *q);

void Remove(Bill *q);

int SearchMenu(Bill *q);

void sort(Bill *q); //排序单个用户每月开支,需要参数传递用户名

void Help();

void SearchUser(Bill *q);

附录1.2个人账簿管理系统注册、登陆和退出

//正常退出

void Quit()

{

int i;

for(i=0;i<10;i++)

{

printf(".");

Sleep(80);

}

printf("\n\n\t\t\t正在退出本系统,请稍后");

for(i=1;i<10;i++)

{

printf(".");

Sleep(80);

}

return ; /*1号,注意调试时换此处为exit(0)*/

}

//注册

void Register()

{

int i;

FILE *fp;

US *l;

l=(US*)malloc(sizeof(US));

char m[20];

system("cls");

printf("\n\n\t\t\t欢迎进入注册界面\n\n输入正确指令你将获得注册资格

\n");

printf("\n请输入指令:");

scanf("%s",m);

if(strcmp(m,SECRET)==0)

{

printf("\n\n");

printf("\t\t\t正在认证,请稍后!\n");

for(i=0;i<20;i++)

{

printf(".");

Sleep(80);

}

printf("\n\n您可以注册,下面请按照提示操作:

\n\n");

printf("创建用户名,10个英文字母或5个中文:"); scanf("%s",l->username);

printf("\n");

printf("创建密码:10个英文字母或5个中文:"); scanf("%s",l->password);

printf("\n");

printf("正在写入用户个人信息请稍后\n");

for(i=0;i<20;i++)

{printf(".");

Sleep(200);

}

printf("\n");

if((fp=fopen(Fpath2,"a+"))==NULL)

{

printf("\a\a\a\n

无法找到usersecret文本文件!");

Sleep(300);

exit(0);

}

fseek(fp,0L,2);

fwrite(l,sizeof(US),1,fp);

printf("\n\t\t\t注册成功请稍后!\n");

Sleep(2000);

fclose(fp);

个人账簿管理系统

Loadin();

return;

}

else

printf("\n\n\a\a\a\t\t指令错误,您没有注册权限,正在返回\n");

for(i=0;i<15;i++)

{

printf(".");

Sleep(50);

}

}

//登陆

void Loadin()

{

FILE *fp;

US *u;

int i;

Bill *p;

p=(Bill*)malloc(sizeof(Bill));

u=(US*)malloc(sizeof(US)); //6号特别注意此处是结构体指针而不是结构体

char user[MAXNAME];

char pass[MAXPASSWORD]; //定义Usersec结构体变量u

if ((fp=fopen(Fpath2,"r+"))==NULL) //为了读和写,打开一个已经存在的二进制文件

{

printf("\n\t\t\t无法找到文件!\n");

Sleep(200);

printf("\n\t\t\t您尚未注册!\n");

printf("\n\t\t\t正在返回,请先注册再登陆!\n");

Sleep(2000);

return; // 5号,想要返回主界面怎么办次粗直接return ,下面的不再考虑

}

system("cls");

printf("\n\t\t\t欢迎进入登录界面!\n");

printf("\n如果您已经注册,下面请输入您的用户名和密码\n");

printf("\n用户名:");

c语言工资管理系统

沈阳航空工业学院 课程设计任务书 一、课程设计题目:工资管理系统 二、课程设计工作自 三、课程设计内容 用C语言编写软件完成以下任务: 1输入工资数(职工数据要有职工号.姓名.所属部门.工龄和工资)保存在paid.dat文件中. 2对现有的职工数据根据所属部门排序,并显示出企业的平均工资. 3 职工涨工资(根据工龄按比例进行工资调整). 4 查询职工的相关数据. 四、课程设计要求: 程序质量: 1贯彻结构化程序设计思想. 2用户界面友好,功能明确,操作方便.可以加以其他功能和修饰. 3用户界面的菜单中包含"职工信息录入","排序及显示"."

工资调整","信息查询"."退出"5项.所有职工数据的改变都 应该在paid.dat文件中体现出来. 4代码应适当缩进,并给出必要的注释,以增强程序的可读 行. 课程设计说明书: 课程结束后,上交课程设计说明书(打印稿和电子稿),其内容如下: 1封面 2课程设计任务书 3目录 4需求分析(分析题目的要求) 5程序流程图(总体流程图和主要功能模块流程图)6核心技术的实现说明及相应程序段 7个人总结 8参考资料 9源程序及适当的注释 指导教师:_____ 学生签名:_____

目录 一、需求分析 (1) 二、程序流程图 (2) 三、核心技术的实现说明及相应程序段 (5) 四、个人总结 (16) 五、参考文献 (17) 六、源程序 (18)

一、需求分析 经过对程序设计题目的分析可知,整个程序的设计实现大致分为五个模块,其中每一个模块对应一个函数,他们的功能分别是:输入职工数据函数(shuru),职工排序函数(sort_part),增加职工工资函数(add_paid),职工信息的查询函数(search_worker),以及主函数main(). 1、输入职工数据函数实现的功能是按照工号对职工的数据输入并保存在paid.dat; 2、职工排序函数按照题目的具体要求实现的是按职工部门排序并算出平均工资。 3、增加职工工资函数允许职工按照根据工龄按比例进行工资调整。 4、职工信息的查询函数输出paid.dat文件中的职工的相关数据。 除上面介绍的功能之外,程序还具有退出功能,可以在程序的一次运行当中循环执行所有的功能,并根据需要终止程序的执行。 每一个职工记录都包含职工号.姓名.所属部门.工龄

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 功能需求 个人帐簿管理系统要求记录某人每月的全部收入及各项开支情况,包括食品消费,房租,子女教育费用,水电费,医疗费,储蓄等并能进行修改,查询,排序,删除等功能。 2.2数据需求 系统主要处理的是个人帐簿信息,因此其输入和输出都与此相关。

员工工资管理系统c语言编程

#include #include #include #include #define null 0 typedef struct Info1 { char num[10]; char name[10]; char depar[10]; char yfsalary[10]; char aband[10]; char tax[10]; char sfsalary[10]; struct Info1 *next; }Info2; typedef struct Info1 *Info; Info head; void display(); void find(); void modify(); void add(); void del(); void list(); void listOne(Info s); Info isExists(char *num); void init(); void init() { head=(Info)malloc(sizeof(Info2)); head->next=null; } void main() { init(); while(1) {

char c; display(); scanf("%c",&c); switch(c) { case '1':find();break; case '2':add();break; case '3':modify();break; case '4':del();break; case '5':list();break; case '6':printf("\t\t...退出系统!\n");return; default: printf("\t\t输入错误!请按任意键返回重新选择(1-7)\n");getchar(); } } } void display() { printf("\n\t** 欢迎使用员工信息管理系统 **\n\n"); printf("\t请选(1-7):\n"); printf("\t============================================\n"); printf("\t\t1.查询员工信息\n"); printf("\t\t2.录入员工信息\n"); printf("\t\t3.修改员工信息\n"); printf("\t\t4.删除员工信息\n"); printf("\t\t6.显示所有员工信息\n"); printf("\t\t7.退出系统\n"); printf("\t============================================\n"); printf("\t您的选择是: "); } void listOne(Info p) { printf("\n该员工信息记录如下: "); printf("\n==========================================================\n\n"); printf("%-12s%-10s%-10s%-7s%-7s%-10s%-10s%\n","员工编号","姓名","部门","应付工资","保险","税金","实付工资"); printf("%-12s%-10s%-10s%-7s%-7s%-10s%-10s%\n",p->num,p->name,p->depar,p->yf salary,p->aband,p->tax,p->sfsalary); } Info isExists(char *num)

个人账簿管理系统

个人账簿管理系统Last revision on 21 December 2020

课 程 设 计 课程设计任 务书 2011~2012学年 第 一 学期 学生姓 名: 专业班级: 10信息管理 指导教师: 工作部门: 计算机学院 一、课程设计题目:个人账簿管理系统 二、课程设计内容 个人帐簿管理系统记录某人每月的全部收入及各项开支情况,包括食品消费,房租,子女教育费用,水电费,医疗费,储蓄等。该系统采用了Windows XP 操作系统结合Visual C++ ,TC 等软件开发,可以输入和修改某月的收支情况,可以对每月的开支从小到大进行排序,可以根据输入的月份查询每月的收支情况。 三、进度安排 1. 系统设计,确定函数功能及其实现过程; 2. 根据前面的结果,编写程序清单,进行调试; 3. 经过反复的编译,调试,测试,程序运行成功; 4. 撰写课程设计报告,完成整个论文报告的工作,并打印;课题答辩。 四、基本要求 1. 初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数; 题 目 个人账簿管理系统 教 学 院 计算机 专 业 信息管理 班 级 姓 名 指导教师 2011 年 12 月 30 日

2.完成最低要求:建立一个文件,包括某人5个月的收支情况,能对文件中的信息 进行扩充(追加),修改和删除; 3.进一步要求:完成对每月的开支排序,以及完成系统查询功能; 4.应提供一个界面来调用各个功能,调用界面和各个功能的操作界面应尽可能清晰 美观。 目录 一概述 该课程设计主要设计个人账簿管理系统已记录某人每月的全部收入及各项开支情况,包括食品消费,房租,子女交用费用,水电费,医疗费,储蓄等。在课程设计中,用到了C语言以及数据结构中的相关知识,当然也有少数参考了其他人对某些问题的处

学生管理系统 C语言

C/C++程序设计 课程设计报告 专业: 班级: 学号: 姓名: 版本号: 时间:

目录 1 概述 (2) 1.1目的 (2) 1.2计划 (2) 2 课程设计过程及结果 (3) 2.1编程环境及工具 (3) 2.2排序与简单分析 (3) 2.3综合设计 (3) 2.3.1 功能实现 (3) 2.3.2 程序异常处理 (5) 2.3.3 特色功能 (5) 3 课程设计总结 (6) 3.1课程设计计划执行情况 (6) 3.2我理解的C++ (6) 3.3改进设想 (6) 附录关键代码 (6)

原创声明:本课程设计报告及相应的软件程序的全部内容均为本人独立完成,如有抄袭,愿承担相应后果。 声明人___________________ 学号:__________________

1概述 1.1 目的 1、熟悉c语言的编译环境 2、掌握c语言的基本操作 3、回顾并加深对C/C++程序设计相关知识的理解,能够用C/C++独立完成简单数据管 理软件的编写 4、锻炼同学思维强度与能力 5、培养同学认真态度和刻苦的精神 1.2 计划 用Microsoft Visual C++ 6.0进行编译,利用之前学过的课程知识和查询资料等方法完成题目的设计,用Debug进行调试。 1.回顾c语言编程基本内容,了解各种数据类型及掌握各种语句的结构类型。 2.完成一个简单任务:排序与简单分析把一个完全由小写字母组成字符串按照每个字母的出现次数从低到高重新排序。出现次数相同的按照字母顺序排列,(a最前,z最后)。 输入:任意一个字符串(小写,长度小于255) 输出:重新排序后的结果 例如,输入:aassdfkjiowea回车 则输出为:defijkowssaaa 3.综合设计:设计实现学生成绩管理软件。 参考下面的数据,用C/C++设计一个简单的学生成绩管理软件,实现基本的功能。 学生信息文件(A.TXT)及其内容(示意): 学号姓名性别班级 200800800901 张三男电子0801 200800820902 李四女通信0801 200800800903 王五女电子0802 200800820904 赵六男通信0801 …… 课程信息(B.TXT)及其内容(示意): 课程编号课程名称学分 C01 大学英语 4 C02 高等数学 4 C03 C++程序设计 3 …… 学生成绩信息文件(C.TXT)及其内容(示意,成绩保存使用浮点数): 学号课程成绩 200800800901 C01 89 200800800902 C01 68.5 200800800901 C02 45.5 200800800903 C02 78 实现数据录入显示功能查询功能数据删除、整理功能排序功能。

个人财务管理系统设计与实现90640

软件项目实训报告 项目名称个人财务管理系统设计与实现姓名志欣 学号1212210139 班级13计本1 指导教师峰 报告日期2016 年 7 月 1 日

目录 目录 1 个人财务管理系统需求分析 (1) 1.1 系统需求分析的任务与步骤 (1) 1.2 可行性分析 (2) 1.2.1 技术可行性 (2) 1.2.2 操作可行性 (3) 1.3 功能需求分析 (3) 1.3.1.前台页面模块 (3) 1.3.2.后台界面模块 (3) 1.4 数据流分析 (4) 1.5 数据字典 (5) 2 个人财务管理系统的总体设计与实现 (8) 2.1 系统功能设计 (8) 2.1.1 系统功能模块设计 (8) 2.1.2 功能模块简介 (8) 2.2 数据库设计 (10) 2.2.1 数据库概念结构设计 (10) 2.2.2 数据库逻辑结构设计 (12) 2.2.3 数据库物理结构设计 (12) 2.3 系统实现 (14) 2.3.1 账户管理模块 (16) 2.3.2 收支管理模块 (17) 2.3.3 卡管理模块 (19) 2.3.4 留言管理模块 (20) 3 系统测试 (23) 3.1 测试环境及方法 (23) 3.1.1 测试环境 (23) 3.1.2 测试方法 (23) 3.2 系统测试结果 (24) 3.2.1 注册测试 (24) 3.2.2 登录测试 (25) 3.2.3 密码修改测试 (25) 总结 (27)

1 个人财务管理系统需求分析 1.1 系统需求分析的任务与步骤 任务:调查用户需求,该“用户”主要指系统的后台管理员以及前台用户,分析用户对系统功能、性能、硬件等的具体要求,然后以文本形式作成报告。本阶段主要是利用图表与文字来表示系统的逻辑模型,旨在从逻辑上描述系统的功能和性能。 步骤:1.利用图表和文字全面描述系统。 2.根据用户提出的新需求,适当地对系统模型进行改进。 3.编写系统分析文档。 1.2 可行性分析 可行性分析是一个系统开发的初始阶段,其意义在于:在尽可能短的时间里,花费尽量小的代价确定问题是否可以解决。因此,我们就必须探究清楚原定的各种可能的方案是否可行,以及完成的该系统之后系统所能带来的效益是否足够大于投资的成本。所以,可行性研究是必要的,它的主要作用是简化系统分析与设计的过程,从而以更合理的方式来进行系统分析与设计,以保证系统的开发成功。 所以说,开发本系统的成本少,开发周期短,从经济方面看开发此系统是可行的。1.2.1 技术可行性 本系统开发采用的是B/S模式[1]。系统包括客户端和服务器端,对应前台和后台。在服务器端采用的是SQL Server 2005数据库,该数据库具有数据的完整行、一致行以及安全性的特点,并提供了相当安全可靠的存储功能,因而比较适合处理中小型系统。它在处理大量数据的同时,也能够保证系统的完整管理功能。 开发过程中所使用的开发软件为MyEclipse,MyEclipse是在Eclipse的基础上加入了许多功能强大的插件,它继承了Eclipse独特图形API,美化了Java界面,并且提高了界面的响应速度。因此,它比Eclipse更具有实用性。 在硬件方面,用户计算机的硬件配置只需满足以下条件即可:计算机处理器P4 2.0G 及以上,计算机RAM满足512M或以上,硬盘存储满足40G或以上,该硬件环境要求明显低于市面上的普通电脑配置。 所以,从技术方面来看开发此系统是可行的。

C语言课设职工工资管理系统

C语言课设职工工资管 理系统 IMB standardization office【IMB 5AB- IMBK 08- IMB 2C】

一引言 C语言是CombinedLanguage(组合语言)的中英混合简称。是一种计算机程序设计语言。它既具有高级语言的特点,又具有汇编语言的特点。它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。设计一个程序的过程就是解决一个实际问题的过程,从解决实际问题的角度,我们可以这样来看:首先要了解这个问题的基本要求,即输入、输出、完成从输入到输出的要求是什么;在次我们必须捋清思路,逐一的解决问题的各个方面,即从输入开始入手,着重考虑如何从输入导出输出,在这个过程中,可确定所需的变量、数组、函数、结构体和文件等,然后确定处理过程。 本课题中主要应用了C语言中的数组、结构体、文件等关键技术。在C语言中,数组属于构造数据类型。一个数组可以分解为多个数组元素,这些数组元素可以是基本数据类型或是构造类型;结构体(struct)是由一系列具有相同类型或不同类型的数据构成的数据集合,也叫结构,在结构体中的变量,可以是相同、部分相同,或完全不同的数据类型,结构体只能描述一个对象的状态,不能描述一个对象的行为。文件是一种组织外部存储介质上的数据的数据类型。它具有两个特征:一是对一个数据集合可以用一个名字命名;二是保存在外部存储介质上,可以长期保存。 通过此次课设可以锻炼学生理论联系实际能力,提高学生适应实际、实践编程的能力,使对C语言系统编程有一个大致的了解,并达到如下目的:1.熟悉C语言程序的编辑、编译链接和运行的过程。2.熟练运用if语句和switch语句以及嵌套应用。3.学习并掌握C语言定义函数的基本方法、声明函数及调用函数的方法和过程。4.掌握文件的概念以及文件的定义方法,认识文件打开、关闭、读、写等文件基本操作函数。5.掌握结构体类型变量、数组的定义和使用。6.掌握数组的定义、引用以及输入输出的方法、通过字符数组存储字符串,进一步使用字符串。

个人记账管理

沈阳工程学院 信息学院 C语言程序设计实践 课程设计 设计题目:个人记帐管理 系别物联网工程班级 学生姓名 学号 2016319119 指导教师职称副教授/讲师 起止日期: 2016年12月16日起——至 2017年01月06日止

C语言程序设计实践课程设计成绩评定表系(部):班级:学生姓名:

C语言程序设计实践课程设计成绩评定表系(部):班级:学生姓名:

沈阳工程学院信息学院 《C语言程序设计实践》 课程设计任务书 课程设计题目:个人记帐管理 系别物联网工程班级物联网161 学生姓名 学号 2 指导教师职称副教授、讲师 课程设计进行地点:实训楼F六楼机房 任务下达时间:2016年12 月14 日 起止日期:2016年12月16日起——至2017年01月06日止系主任2016年12 月09 日批准

一、课程设计的原始资料及依据 查阅有关资料,进一步理解面向对象程序设计的思想,并编写一个简单的应用程序系统。通过本设计可以加深理解使用结构化程序设计思想开发一个系统的方法,提高分析问题、解决问题和实际动手的能力。 二、课程设计主要内容及要求 设计内容: 1.记账信息:月份、食品消费、房租费用、子女教育费、用水电费 用、医疗费用、储蓄费用、收入费用。 2.功能:分别可添加、修改、查询、排序、删除。 3.保存。 设计要求: 1. 要求利用结构化的方法完成系统的设计; 2. 要求在设计的过程中建立清晰度层次结构; 3. 设计功能满足要求、易于操作的友好界面; 4. 界面中需有菜单; 5. 在系统的设计中,至少要建立5个以上独立函数; 6. 要求操作简单,用户界面友好。 7. 运行程序,检查结果是否和理论值一致。 8. 在完成该题目时,小组人员进行详细的任务分工,并要在报告中体现出来。 三、对课程设计说明书撰写内容、格式、字数的要求 1.课程设计说明书是体现和总结课程设计成果的载体,主要内容包括:设计题目、设计目的、设备器材、设计原理及内容、设计步骤、遇到的问题及解决方法、设计总结、参考文献等。一般不应少于3000字。 2.在适当位置配合相应的实验原理图、功能模块图、算法流程图等图表进行说明。应做到文理通顺,内容正确完整,书写工整,装订整齐。 3.设计总结部分主要写本人完成工作简介以及自己的设计体会,包括通过课程设计学到了什么,哪里遇到了困难,解决的办法以及今后的目标。 4.课程设计说明书手写或打印均可。手写要用学校统一的课程设计用纸,用黑或蓝黑墨水工整书写;打印时采用A4纸,页边距均为20mm,正文采用宋体小四号字,行间距18磅。文中大标题采用黑体小三号字,一级节标题采用黑体四号字,二级节标题采用黑体小四号字,表题与图题采用宋体五号字。 5.课程设计说明书装订顺序为:封面、任务书、成绩评定表、目录、正文、参考文献。 四、设计完成后应提交成果的种类、数量、质量等方面的要求

最新学生信息管理系统C语言编程

学生信息管理系统C语言编程 【问题描述】 学生信息的管理是每个学校必须具有的管理功能,主要是对学生的基本情况及学习成绩等方面的管理。该系统模拟一个简单的学生管理系统,要求对文件中所存储的学生数据进行各种常规操作,如:排序、查找、计算、显示等功能。通过此课题,熟练掌握文件、数组、结构体的各种操作,在程序设计中体现一定的算法思想,实现一个简单的学生信息管理系统。【基本要求】 (1)学生信息包括: 学生基本信息文件(student.txt)(注:该文件不需要编程录入数据,可用文本编辑工具直接生成)的内容如下: (2)学生成绩基本信息文件(score.dat)及其内容如下:((注:该文件内容需要编程录入数据,具体做法见下面的要求) 学号课程编号课程名称学分平时成绩实验成绩卷面成绩综合成绩实得学分(3)需要实现的功能 1)数据录入和计算功能:对score.dat进行数据录入,只录入每个学生的学号、课程编号、课程名称、学分、平时成绩、实验成绩、卷面成绩共7个数据,综合成绩、实得学分由程序根据条件自动运算。 综合成绩的计算:如果本课程的实验成绩为-1,则表示无实验,综合成绩=平时成绩*30%+卷面成绩*70%;如果实验成绩不为-1,表示本课程有实验,综合成绩=平时成绩*15%+实验成绩*15%+卷面成绩*70% 。 实得学分的计算:采用等级学分制,综合成绩在90-100之间,应得学分=学分*100%;综合成绩在80-90之间,应得学分=学分*80%;综合成绩在70-80之间 ,应得学分=学分*75%;综合成绩在60-70之间,应得学分=学分*60%;综合成绩在60以下 ,应得学分=学分*0%。 2)查询功能:分为学生基本情况查询和成绩查询两种 (1)学生基本情况查询: ①、输入一个学号或姓名(可实现选择),查出此生的基本信息并显示输出,格式如下: ②、输入一个宿舍号码,可查询出本室所有的学生的基本信息并显示输出。(格式如上所示) (2)成绩查询: ①、输入一个学号时,查询出此生的所有课程情况,格式如下: 学号:xx 姓名:xxxxx 课程编号:xxx 课程名称:xxxxx 综合成绩:xxxx 实得学分: xx 课程编号:xxx 课程名称:xxxxx 综合成绩:xxxx 实得学分: xx 课程编号:xxx 课程名称:xxxxx 综合成绩:xxxx 实得学分: xx …………………… 共修:xx科,实得总学分为: xxx (3)删除功能: 提供待删除学生的学号,则在student.txt和score.dat中删除所有与该学生有关的信息。(4)排序功能:能实现选择按综合成绩或实得学分升序或降序排序并显示数据。 【程序设计的具体说明】 (1)将与两个文件对应的信息分别定义两种结构体类型来表示,也可以用类来定义;(2)对score.dat文件的写入,从键盘上输入的是前七项,后两项数据项根据计算方法算出后,得到完整的结构体信息,作为一个整体写入(可调用write函数)。

员工工资管理系统c语言编程

员工工资管理系统c语言 编程 The latest revision on November 22, 2020

#include<> #include<> #include<> #include<> #define null 0 typedef struct Info1 { char num[10]; char name[10]; char depar[10]; char yfsalary[10]; char aband[10]; char tax[10]; char sfsalary[10]; struct Info1 *next; }Info2; typedef struct Info1 *Info; Info head; void display(); void find(); void modify(); void add(); void del(); void list(); void listOne(Info s); Info isExists(char *num); void init(); void init() { head=(Info)malloc(sizeof(Info2)); head->next=null; } void main() { init(); while(1) { char c;

display(); scanf("%c",&c); switch(c) { case '1':find();break; case '2':add();break; case '3':modify();break; case '4':del();break; case '5':list();break; case '6':printf("\t\t...退出系统!\n");return; default: printf("\t\t输入错误!请按任意键返回重新选择(1-7)\n");getchar(); } } } void display() { printf("\n\t** 欢迎使用员工信息管理系统 **\n\n"); printf("\t请选(1-7):\n"); printf("\t============================================\n"); printf("\t\t1.查询员工信息\n"); printf("\t\t2.录入员工信息\n"); printf("\t\t3.修改员工信息\n"); printf("\t\t4.删除员工信息\n"); printf("\t\t6.显示所有员工信息\n"); printf("\t\t7.退出系统\n"); printf("\t============================================\n"); printf("\t您的选择是: "); } void listOne(Info p) { printf("\n该员工信息记录如下: "); printf("\n===================================================== =====\n\n"); printf("%-12s%-10s%-10s%-7s%-7s%-10s%-10s%\n","员工编号","姓名","部门","应付工资","保险","税金","实付工资"); printf("%-12s%-10s%-10s%-7s%-7s%-10s%-10s%\n",p->num,p->name,p->depar,p->yfsalary,p->aband,p->tax,p->sfsalary); } Info isExists(char *num)

个人账簿

代码行数596 项目名称个人账簿 .实训目的 面向对象程序设计课程设计是计算机科学与技术专业培养计划中的重要实践教学环节,旨在通过一个管理信息系统的开发,加深学生对Java语言的理解和应用,尤其是对面向对象编程思想、Java编码规范、图形用户接口、JDBC访问数据库的理解,巩固软件工程课程的相关知识,了解软件开发的基本流程,进一步提高学生的学习能力、理解能力、表达能力及沟通能力。 2.实训内容 使用Eclipse为开发工具,使用Rational Rose为建模工具,使用MySQL为数据库服务器,基于JDBC 技术,分析、设计并实现一个管理信息系统。 3.需求分析 3.1 需求描述 主要功能 登录:输入账号和密码,完成登录操作,进入主界面,显示所有用户的基本信息以及可进行的相关操作的选项。 退出:登录后可进行退出操作,结束整个程序。注册:输入账户、密码和确认密码完成新用户的注册。显示用户信息:登录成功后在主界面中以表格形式显示所有用户的信息。添加用户:输入用户各项信息,完成用户信息的添加操作,添加成功后以表格形式显示所有的 用户信息。 删除用户:根据用户主键,完成用户信息的删除操作,删除成功后以表格形式显示所有的用户信息。 修改用户:输入用户主键,显示用户信息,输入每个字段值,完成用户信息的修改,修改成功后以表格形式显示所有的用户信息。

3.2用例描述 图1用例图4.功能设计

4.1 系统层次方框图 为保证系统具有较好的可维护性和可扩展性,对系统进行分层设计,共可分为四层。 ●控制层:访问流程控制 ●视图层:接受用户输入信息,显示界面信息和用户信息 ●业务层:完成具体功能的实现 ●数据库访问层:完成对数据库访问操作的封装 Database 数据库访问层:DB类 业务层:XX service类 控制层:Controller类 视图层:xxxView层 图2系统层次方框图 4.2 算法设计(活动图或时序图) 登录功能 在主页面(Main)输入账号和密码,封装成Login对象,发给业务层(LoginService),在业务层中组成合成执行登录操作sql语句,再将其传递给数据库访问(DB),完成数据库的查询操作,如果成功创建控制类(Controller)对象,显示欢迎信息和基本信息显示和对信息的操作选项;如果失败显示提示信息

学生信息管理系统C语言课程设计报告

通信工程C语言强化训练实验报告 评语: 教师签字: 东北大学秦皇岛分校

学生信息管理系统 强化训练目的 C语言基本知识的巩固和综合运用。基本数据类型、基本控制结构、数组、指针、函数、结构体和共用体。 C语言高级编程。链表基本操作、文件的基本操作、图形和声音制作。 程序的结构化设计。 编辑、设置、编译、调试、执行。 C语言结合实际问题的综合设计。 设计题目功能 通过计算机对数据文件的存储和读取,对学生信息进行管理,能够完成学生信息的增、删、改、查找等功能。 设计题目要求 名片信息至少包括学号、姓名、性别、出生日期、宿舍号等基本信息。 具体要求包括: 1有主界面和主菜单

2以班级为单位用链表存放学生信息 3可以实现按学号、姓名、宿舍号查询和统计并在屏幕上输出查询结果 4友好的界面和操作提示 [A]信息录入 [D]信息删除 [F]信息查询 [Q]退出 4、程序流程图 总体设计 详细设计 【程序】主函数 void main() /*主函数即用户的操作界面*/ { system("color 1E"); /*设计文本颜色*/ int b,flag=0; /*声明局部变量*/ while(1) /*循环输出以下信息*/ { printf("\n\t\t\t欢迎来到学生成绩管理系统!\n"); printf("\n\t\t\t\t ###制作\n"); printf("\t\t\t-------------------------------\n");

printf("\t\t\t1.键入学生的信息\n\n"); /*键入学生的信息*/ printf("\t\t\t2.查看录入的学生信息\n\n"); /*查看录入的学生信息*/ printf("\t\t\t3.按姓名查看学生的信息\n\n"); /*按姓名查看学生的信息*/ printf("\t\t\t4.按学号查看学生的信息\n\n"); /*按学号查看学生的信息*/ printf("\t\t\t5.按宿舍号查看学生的信息\n\n"); /*按宿舍号查看学生的信息*/ printf("\t\t\t6.删除学生信息\n\n"); /*删除学生信息*/ printf("\t\t\t7.保存学生信息\n\n"); /*保存*/ printf("\t\t\t8.打开文件\n\n"); /*打开文件*/ printf("\t\t\t9.我的个人信息\n\n"); /*我的个人信息*/ printf("\t\t\t0.退出\n\n"); /*退出*/ printf("\t\t\t请输入你的选择:"); scanf("%d",&b); switch(b) { case 1:type();break; /*调用键入学生信息函数*/ case 2:look();break; /*调用查看函数*/ case 3:search_name();break; /*调用姓名查看函数*/ case 4:search_number();break; /*调用学号查看函数*/ case 5: search_dorm();break; /*调用宿舍号查看函数*/ case 6:del();break;/*调用删除函数*/ case 7:save();break;/*调用保存函数*/ case 8:see();break;/*调用打开文件函数*/ case 9:welcome();break;/*调用我的个人信息函数*/ case 0:flag=1;break;/*退出SWITCH语句*/ default :printf("错误!"); } if(flag) break; /*如果选择0就退出循环*/ } } 5、程序设计源代码 #include"stdio.h" #include"conio.h" #include"string.h" #include"stdlib.h" void look(); /*声明查看函数*/ void save(); /*声明保存函数*/ void search_name(); /*声明按姓名查看函数*/ void search_number(); /*声明按学号查看函数*/ void search_dorm(); /*声明按宿舍号查看函数*/ void del(); /*声明删除函数*/ int openl(); /*声明打开函数*/ void welcome(); /*声明我的个人信息函数*/ void type(); /*声明输入函数*/

教师工资管理系统C实现

教师工资管理系统 一.选题背景 二.需求分析 一、设计选题与目标 1.选题要求: 教师工资管理系统 每个教师的信息为:教师号、姓名、性别、单位名称、家庭住址、联系电话、基本工资、津贴、生活补贴、应发工资、电话费、水电费、房租、所得税、卫生费、公积金、合计扣款、实发工资。注:应发工资=基本工资+津贴+生活补贴;合计扣款=电话费+水电费+房租+所得税+卫生费+公积金;实发工资=应发工资-合计扣款。 A、教师信息处理 (1)输入教师信息 (2) 插入(修改)教师信息: (3) 删除教师信息: (4) 浏览教师信息: 提示:具体功能及操作参考题1。 B、教师数据处理: (1) 按教师号录入教师基本工资、津贴、生活补贴、电话费、水电费、房租、所得税、卫生费、公积金等基本数据。 (2) 教师实发工资、应发工资、合计扣款计算。 提示:计算规则如题目。 (3) 教师数据管理 提示:输入教师号,读出并显示该教师信息,输入新数据,将改后信

息写入文件 (4) 教师数据查询: 提示:输入教师号或其他信息,即读出所有数据信息,并显示出来。 (5) 教师综合信息输出 提示:输出教师信息到屏幕。 2.目标 教师数据处理: (1) 按教师号录入教师基本工资、津贴、生活补贴、电话费、水电费、房租、所得税、卫生费、公积金等基本数据。 (2) 教师实发工资、应发工资、合计扣款计算。 计算规则如题目。 (3) 教师数据管理 输入教师号,读出并显示该教师信息,输入新数据,将改后信息写入文件 (4) 教师数据查询: 输入教师号或其他信息,即读出所有数据信息,并显示出来。 (5) 教师综合信息输出 输出教师信息到屏幕 三.总体设计 利用六个模块分别实现教师信息的输入,修改,删除,查询,保存以及信息文件的读入功能。并使用不同的函数实现不同的功能。使用链表存储及处理数据。 程序流程图如下:

C语言课程设计教师工资管理系统职工工资管理系统

C语言课程设计教师工资管理系统职工工资管 理系统 集团标准化办公室:[VV986T-J682P28-JP266L8-68PNN]

课程设计教师工资管理系统 运行平台:(其他平台未经测试,不一定保证有效) 制作者:弓箭中南大学信息科学与工程学院 源代码如下: #include <> #include <> #include <> #include <> #define LEN sizeof(struct teacher) struct teacher { int num; char name[20]; char sex[20]; char workplace[50]; char address[50]; long phone; double de_salary; double de_jintie; double de_shenghuobutie; double yingfa_salary; double cost_phone; double cost_water_elec; double cost_rent; double cost_tax; double cost_weisheng; double cost_gongjijin; double cost_all; double shifa_salary; struct teacher *next; }; /***********************************读取函数************************************/ struct teacher *load() { struct teacher *p1,*p2,*head; FILE *fp;

《数据结构》课程设计报告--个人帐簿管理系统设计

数据结构 课程设计报告 设计题目:个人帐簿管理系统设计 2013 年第二学期

一.实习目的 通过实习,了解并初步掌握设计、实现较大系统的完整过程,包括系统分析、编码设计、系统集成、以及调试分析,熟练掌握数据结构的选择、设计、实现以及操作方法,为进一步的应用开发打好基础。 二.问题描述(具体任务) 根据课程设计任务书要求,个人帐簿管理系统记录某人每月的全部收入及 各项开支情况,包括食品消费,房租,子女教育费用,水电费,医疗费,储蓄 等。进入系统后可以输入和修改某月的收支情况,可以对每月的开支从小到大 进行排序,可以根据输入的月份查询每月的收支情况。另外要求建立一个文件, 包括某人5个月的收支情况,能对文件中的信息进行扩充(追加),修改和删除; 完成对每月的开支排序,以及完成系统查询功能。 三.需求分析 3.1 功能需求 个人帐簿管理系统要求记录某人每月的全部收入及各项开支情况,包括 食品消费,房租,子女教育费用,水电费,医疗费,储蓄等并能进行修改, 查询,排序,求和,删除等功能。 3.2数据需求 系统主要处理的是个人帐簿信息,因此其输入和输出都与此相关。 (1) 输入数据:月份和食品消费,房租,子女教育费用,水电费,医疗费, 储蓄等数据。 (2) 输出数据:月份和食品消费,房租,子女教育费用,水电费,医疗 费,储蓄等的数据。 四.算法设计思想及流程图 4.1系统设计方案 (1)菜单 本系统根据需要主要设计了6个菜单,分别为 ①录入数据

②.查看数据 ③修改数据 ④.查询数据 ⑤排序数据 ⑥删除数据 ⑦求和数据 ⑧退出系统 (2) 文件保存方式 系统需要保文件,文件存储月份和食品消费,房租,子女教育费用,水电费,医疗费,储蓄等数据。 (3) 数据类型 系统定义了数组,结构体等类型,存储月份和食品消费,房租,子女教育费用,水电费,医疗费,储蓄等信息。 (4) 算法设计 系统中主要排序算法(冒泡排序),即第1个数与第2个数比较,若第1个大,就与第2个数交换;若第2个数大,就不交换;继续第2个与第3个比较,。。。。,直到比较完为止。 3.2功能模块设计 根据分析,系统主要设计了7个模块,分别是:录入数据模块,查看数据模块,修改数据模块,查询数据模块,排序数据模块,删除数据模块,月消费求和模块;功能模块图如图1所示。 图1功能模块图

c语言工资管理系统课程设计

程序设计课程设计报告 工资管理系统 院系:地质工程系 班级:地质工程班 组员:陈欣永 胡世俊 李积荣赵海俊 马小成

目录 一、设计目的 (1) 二、设计内容与要求 (2) 1.设计内容 (3) 2.设计要求 (4) 三、总流程图设计 (5) 四、程序详细功能设计 (6) 五、程序调试 (7) 六、设计小结 (8) 七、参考文献 (9) 附录 (10) 1

一、设计目的 在计算机中建立相应的数据结构,利用程序实现工资的输入、查询、增、删、改、统计、输出等操作。 进一步掌握利用C语言进行程序设计的能力;进一步理解和运用结构化程序设计的思想和方法;初步掌握开发一个小型实用系统的基本方法;学会调试一个较长程序的基本方法;学会利用流程图表示算法。 《工资管理系统》的设计与实现,此次程序设计主要利用c语言的基础知识开发一个简单的职工工资管理系统。工资管理系统是一个企业不可缺少的一部分,它利用计算机对职工工资进行统一管理,实现工资管理工作的系统化、规范化和自动化,为企业提高工作效率。 二、设计内容与要求

1.设计内容 主要利用c语言的文件操作能力设计开发一个小型的管理信息系统,至少具有如下功能:对职工信息的录入、修改或删除,通过职工姓名或工号进行查找,并逐项列出相信的职工工资信息,另外也可以查看所有职工目前的工资状况。有一个文本菜单来调用各个功能的函数及一个主菜单来提示用户如何操作。 2.设计要求 在计算机中建立相应的数据结构,利用程序实现工资的输入、查询、增、删、改、统计、输出等操作。 三、总体流程图设计 3

四、程序详细功能设计 1、设计一个能够记录公司职工工资的数据结构,每条记录包括:职工号,姓名,基本工资,职务工资,津贴。 2、应用文件保存工资管理数据。 3、新增:能将所有输入的职工工资数据保存到文件中,并可选择继续输入或退出。

相关文档
最新文档