程序设计报告模板

时间:2024.3.24

北京化工大学计算机科学与技术专业

20##程序设计实训报告

题    目:个人记账软件

专    业:计算机科学与技术

班    级: 计科1305

指导教师: 江志英


2014程序设计实训任务书


目    录

2014程序设计实训任务书................................................................................................. I

目    录......................................................................................................................... II

第一章 需求分析............................................................................................................. 3

1.1       引言............................................................................................................... 3

1.2       任务概述........................................................................................................ 3

1.3       数据描述........................................................................................................ 3

1.4       功能需求........................................................................................................ 3

1.5       运行需求........................................................................................................ 3

1.6       任务计划........................................................................................................ 3

第二章 概要设计............................................................................................................. 4

2.1        总体设计........................................................................................................ 4

2.2       面向对象设计................................................................................................. 4

2.3        运行界面设计................................................................................................. 4

第三章 详细设计............................................................................................................. 5

3.1........................................................................................................................... 5

第四章  测试分析............................................................................................................ 6

第五章  用户手册(可选).............................................................................................. 7

第六章 课程设计总结...................................................................................................... 8

附录:程序代码(仅电子版需要、纸质版不需要)........................................................... 9


第一章 需求分析

1.1   引言

    当今各种理财观念盛行,随之而出的各种理财软件也层出不穷。不管是家庭还是个人,都应该养成记账好习惯。可以说,记账是理财一个关键的因素。如果能够在平时上保持记账的习惯,就可以减少在消费上的失误。如果有记账的习惯,从而提供一个消费回放的机会,能够帮助大家更好地规划生活。毕竟,不是每个人记忆力都是那么厉害,大事小情都记得那么清楚。规划生活需要养成记账的好习惯,简单方便使用的记账软件就很有必要了。

    但是由于每个人的理财观念和习惯不尽相同,为了适应广大群众,做到合理、有普适性的记账软件,方便大家理财,我组选定可以对个人消费进行记录的简单记账软件。并且在程序中加上了收入与支出统计, 简单易操作,方便大家根据消费习惯等等制定自己的理财计划,且能有目的地控制与记录消费账目,养成良好的理财习惯。

1.2   任务概述

编译一个可以对个人消费进行记录的简单记账软件。

最低要求:实现一个个人记账软件,并实现帐目分类;可以按日期统计,如每周、每月、每季度;数据保存到本地文件,并能从吧本地文件中读取数据。

拓展方向:利用VC++,实现可视化的用户体验;

高级扩展能够绘制各类账目的动态趋势图,数据文件为Excel文件。

1.3   数据描述

(每次程序调试之后每个分页的截图)

1.4   功能需求

记录功能:能够记录并储存收入和支出的账目。

删除功能:可以删除储存的记录。

查询功能:查询和修改存储的记录。

统计功能:统计每周、月、季度的各项目的总金额,以及盈余或者赤字。

1.5   运行需求

开发环境:Dev-C++、VC++6.0

运行环境:Windows 7

1.6   任务计划

第一次上机:确定分组,确定好选题,讨论项目初步框架。

第二次上机前完成:查资料,讨论分工模块及合作项目。

第三次上机前完成:个人模块项目,完成C++程序的编译。

第四次上机前完成:集体合作项目,程序可视化。

第四次上机:修改完善程序,改进可视化。


第二章 概要设计

2.1       总体设计

本系统的四大模块:

增加账目:新增账目内容

查询账目:输入日期即可查询并且修改某日记录的账目

删除账目:输入日期,删除某日账目

账目统计:输入起始时间,即可显示该时间段的总花费,以及各项目的支出总额。

2.2   面向对象设计

增加账目:输入日期、金额、类别、备注;

查询项目:输入日期,从文件中调出已保存项目,并选择是否修改;

删除账目:输入日期,选择是否要删除账目;

账目统计:输入起始日期,即显示这一时间段内所有的账目以及总金额。

2.3       运行界面设计


第三章 详细设计

3.1   系统设计与实现

【总体框架、流程设计,模块划分及接口设计等】

3.2   模块设计

【各模块的具体设计与实现】

组织结构图
第四章  测试分析

【程序运行展示】

【测试中发现的问题及解决方案】

【对最终成果的评价】


第五章  用户手册(可选)

【使用说明、注意事项等】


第六章 课程设计总结

【设计初衷、实践过程中遇到的困难及解决方案、课程收获等】


附录1 人员组成、分工及成绩自评表


附录2:程序代码(仅电子版需要、纸质版不需要)


第二篇:C++程序设计课程设计报告模板


C程序设计课程设计报告模板

《C++程序设计》课程设计报告

题 目:

姓 名:

学 号:

专业班级:

指导老师:

年 月 日

浙江工商大学杭州商学院

摘要

/*(300字左右,宋体,五号)课程设计内容摘要主要是对撰写过程中实践、实验、研究的内容、方法和得到的主要结果的完整概括。

关键词: /*(3 – 5个,各个词之间用“;”分割,宋体,五号,黑色

目 录

1 课题目标 ............................................................................................................. 1

2 程序具体实现原理 ............................................................................................. 1

2.1 总体方案 ......................................................................................................... 1

2.1.1开发平台 ....................................................................................................... 1

2.1.2基本原理 ....................................................................................................... 1

2.2 程序各个功能说明 ......................................................................................... 2

2.2.1 程序结构 ...................................................................................................... 2

2.2.2 程序各主要功能的实现 .............................................................................. 2

3 课程设计调试与测试报告 ................................................................................ 8

4 课程设计总结 .................................................................................................... 8

附件 程序清单(源程序) .................................................................................. 9

C++课程设计报告

C程序设计课程设计报告模板

1 课题目标

程序基本功能:

一个基本的电话簿管理程序,具有插入、删除、显示、修改和查询联系人电话号码的功能。 课程设计要求:

(1) 增加记录修改功能(姓名和电话号码)。

(2) 增加显示功能(对链表提供逐屏显示选择而且可以由用户确定每屏显示数目)。

(3) 汉化菜单和帮助。

(4) 程序的结构改写,采用双链表结构,用类和对象重建系统。

评定难易级别: A级

2 程序具体实现原理

2.1 总体方案

(1) 程序采用双向链表数据结构实现。

(2) 用类来实现数据的封装。

(3) 使用文件的输入输出流实现对记录的保存与读取。

2.1.1开发平台

操作系统:Win7

开发软件:Mirosoft Visual C++ 6.0

C++课程设计报告

2.2 程序各个功能说明

2.2.1 程序结构

1.类的封装:

class Friend_node

{

public:

}; char name[35]; char phone_number[15]; Friend_node *next; void write_list_to_file(); void load_list_from_file(); void add_record(); void delete_record(); void change_record(); void add_change_record(Friend_node *new_record_ptr); void search_record(); void display_all_records(); void help(); void main_menu(); void help_menu(); void insert_node(Friend_node *new_record_ptr); void make_node_new_head(Friend_node *new_record_ptr); void add_node_to_end(Friend_node *new_record_ptr); void move_current_to_end(); void delete_node(Friend_node *previous_ptr); void delete_head_of_list(); void delete_end_of_list(Friend_node *previous_ptr); void delete_from_middle_of_list(Friend_node *previous_ptr); int verify_delete(); void delete_list();

2.2.2 程序各主要功能的实现

1.用类Friend_node重建系统;

2.增加了函数change_record()用于修改联系人资料,利用了原来的删除功能delete_record()和添加功能add_record()进行对原有资料的修改;

2

C++课程设计报告

//修改联系人资料//

void Friend_node::add_change_record(Friend_node *new_record_ptr) {

}

void Friend_node::change_record()

{

Friend_node *new_record_ptr; new_record_ptr=new Friend_node; system("cls"); char search_string[35]; current_ptr=head_ptr; cout<<"输入你想要修改的联系人姓名:"<<endl; cin>>search_string; while((current_ptr!=NULL)&&(strcmp(current_ptr->name,search_string)!=0)) { } if(current_ptr!=NULL) { } else { } cout<<"联系人不存在"<<endl; cout<<"\n找到联系人!\n"; cout<<"姓名"<<" "<<"联系电话"<<endl; cout<<"****************************************"<<endl; cout<<current_ptr->name<<" add_change_record(new_record_ptr); current_ptr=current_ptr->next; Friend_node *previous_ptr; previous_ptr=NULL; delete_node(previous_ptr); cout<<"输入新姓名:"<<endl; cin>>new_record_ptr->name; cout<<"输入新电话号码:"<<endl; cin>>new_record_ptr->phone_number; insert_node(new_record_ptr); "<<current_ptr->phone_number<<endl;

3

C++课程设计报告

} cout<<"按下回车键回到主菜单"<<endl; getchar(); system("cls"); main_menu();

3.在原有的显示功能的基础上添加了一个计数器person_count来实现逐屏显示的功能并可以设定显示数目;

//显示联系人//

void Friend_node::display_all_records()

{

int person_count; int temp_person_count=0; char fullname[36]; current_ptr=head_ptr; cout<<"每屏显示多少联系人?"<<endl; cin>>person_count; if(current_ptr!=NULL) { cout<<"姓名"<<" "<<"联系电话"<<endl; cout<<"********************************************"<<endl; for(temp_person_count=0;current_ptr!=NULL&&temp_person_count<person_count;) { } for(;current_ptr!=NULL;) { cout<<"按下回车键进入下一页"<<endl; getchar(); temp_person_count++; strcpy(fullname,""); strcat(fullname,current_ptr->name); cout.setf(ios::left); cout<<setw(12)<<fullname; cout.unsetf(ios::left); cout.setf(ios::right); cout<<setw(24)<<current_ptr->phone_number<<endl; current_ptr=current_ptr->next; cout<<endl; display:

4

C++课程设计报告

} } else { } } system("cls"); goto display; cout<<"没有联系人!"<<endl; cout<<"按下回车键回到主菜单"<<endl; current_ptr=head_ptr; getchar(); system("cls"); main_menu();

4.菜单和帮助的汉化; //主菜单//

void Friend_node::main_menu() {

main_menu:

int choice; cout<<"********************主菜单********************"<<endl; cout<<"**********************************************"<<endl; cout<<"1 - 添加联系人;"<<endl; cout<<"2 - 删除联系人;"<<endl; cout<<"3 - 修改联系人资料;"<<endl; cout<<"4 - 显示所有联系人;"<<endl; cout<<"5 - 按姓名查找联系人;"<<endl; cout<<"6 - 帮助;"<<endl; cout<<"7 - 保存记录并退出程序。"<<endl; cout<<"请输入你想要执行的选项:"<<endl; cin>>choice; switch(choice) { case 1: system("cls"); add_record(); break; case 2:

5

C++课程设计报告

} } system("cls"); delete_record(); break; system("cls"); change_record(); break; system("cls"); display_all_records(); break; system("cls"); search_record(); break; system("cls"); help_menu(); break; write_list_to_file(); if(head_ptr!=NULL) { } break; system("cls"); cout<<"错误的选项!"<<endl; cout<<"按下回车键回到主菜单"<<endl; getchar(); system("cls"); goto main_menu; break; delete_list(); case 3: case 4: case 5: case 6: case 7: default:

//帮助//

void Friend_node::help_menu()

6

C++课程设计报告

{

help:

int choice; cout<<"1-我的记录呢?"<<endl; cout<<"2-怎样可以清空记录?"<<endl; cout<<"3-什么时候会有新版本?"<<endl; cout<<"4-新版本会有些什么功能?"<<endl; cout<<"5-返回主菜单。"<<endl; cin>>choice; system("cls"); switch(choice) { case 1: cout<<"在当前目录下找到一个名为“Friends.dat”的文件。"<<endl; cout<<"如果找不到该文件可能是因为该文件被删除或被重命名,若该文件被重命cout<<"按下回车键回到帮助菜单"<<endl; getchar(); system("cls"); goto help; break; cout<<"在当前目录下找到一个名为“Friends.dat”的文件并删除。"<<endl; cout<<"按下回车键回到帮助菜单"<<endl; getchar(); system("cls"); goto help; break; cout<<"有新版本时我们会进行通知。"<<endl; cout<<"按下回车键回到帮助菜单"<<endl; getchar(); system("cls"); goto help; break; cout << "我们可能会添加以下功能:"<<endl; cout << "1.多用户和设置密码"<<endl; 名,则将其更名为Friends.dat。"<<endl; case 2: case 3: case 4:

7

C++课程设计报告

} } cout << "2.信息加密功能 "<<endl; cout << "3.清空记录的指令"<<endl; cout << "4.错误修正功能"<<endl; cout << "按下回车键回到帮助菜单"<<endl; getchar(); system("cls"); goto help; break; main_menu(); break; cout<<"错误的选项!"<<endl; system("cls"); goto help; break; case 5: default:

3 课程设计调试与测试报告

C程序设计课程设计报告模板

4 课程设计总结

(1) 完成本课题花了整整两个星期的时间,真正体会了作为一个程序员的辛

苦,并且必须具备细心、耐心的品质,想要完成一项出色的项目,必须精益求精,反复操作与实践。

(2) 在做了本课程设计以后,我对C++的了解更深了,很多知识得到了巩固,

一些不懂的知识也渐渐明了!这其中主要是对指针的使用收获很多,在指针使用的过程中,对指针的指向以及对各函数中指针的赋值会影响到整个

8

C++课程设计报告

程序的运行;还有就是对文件的输入输出流了解得更透彻了,知道了打开一个文件后必须还要对其关闭,否则程序无法运行,对各种文件的输入输出控制符都能基本融会贯通。

(3) 虽然本课题已完成,可是还是存在一些问题,比如说界面还不够好看,为

了用户用得舒服,界面是很重要的。

附件 程序清单(源程序)

9

更多相关推荐:
程序设计实验报告模板

C语言程序设计实验报告1实验目的(1)掌握函数的定义方法、调用方法、参数说明以及返回值;(2)掌握实参与形参的对应关系,以及参数之间的值传递的方式;(3)掌握函数的嵌套调用及递归调用的设计方法;(4)在编程过程…

程序设计实践_报告模板

程序设计实践报告题目题目名称学生姓名教学院系专业年级指导教师单位辅导教师单位张三学号1001020xx4职称职称完成日期年月日SouthwestPetroleumUniversityProgrammingPap...

程序设计报告模板

北京邮电大学信息与通信工程学院程序设计实践设计报告课题名称windows编程画图时钟学生姓名孙振超班级20xx211111班内序号24学号20xx210326日期20xx年4月30号第1页北京邮电大学信息与通信...

Vb程序设计报告模板

长江大学工程技术学院VB语言程序设计课程设计报告20xx20xx学年第一学期题目名称系部专业班级学生姓名打字游戏设计机械系材控60902方学德20xx6031306肖雪学号序号指导教师1一设计思路1要达到的目的...

C++课程设计报告模板

华东交通大学课程设计华东交通大学课程设计课程设计题目学生成绩管理课程C程序设计题目学生成绩管理年级20xx级专业学号20xx0210010313姓名刘耀华指导教师1华东交通大学课程设计课程设计论文任务书电气学院...

Web程序设计用大作业报告模板

武汉工业学院Web高级程序设计大作业报告专业学号090502227姓名日期一需求分析1引言随着网络与信息技术的发展很多陌生人之间都有了或多或少的联系如何更好地管理这些信息是没跟人必须面临的问题特别是那些很久没有...

课程设计报告模板(JAVA程序设计)

河南城建学院JAVA程序设计课程设计设计说明书课程名称JAVA程序设计课程设计设计题目学生成绩管理系统指导教师陈红军班级计科1班学号081211226学生姓名同组人员计算机科学与工程系20xx年9月X日JAVA...

库存系统仿真程序设计实验报告参考格式

实验报告课程名称:系统仿真实验名称:库存系统仿真程序设计院(系):管理学院专业班级:姓名:学号:指导教师:20XX年11月29日《系统仿真》实验报告(参考格式,16K纸)课程名称:系统仿真实验项目名称:库存系统…

C程序设计综合性实验报告模版

C程序设计综合性实验实验报告题目学生成绩管理姓名班级学号指导教师完成时间一实验题目学生成绩管理二实验目的1掌握一维数组二维数组的使用方法2掌握结构体数组的定义和使用3综合应用数据文件的读写语句保存结构体数组中的...

Visual BasicNET程序设计实验报告格式

VisualBasicNET程序设计实验报告格式学号姓名实验日期实验成绩12

软件工程A程序设计综合实验报告格式

华北科技学院计算机系综合性实验实验报告课程名称软件工程A实验学期20xx至20xx学年第1学期任课教师彭珍实验成绩计算机系制华北科技学院计算机系综合性实验报告软件工程A课程综合性实验报告第1页华北科技学院计算机...

课程设计报告书模板

华东交通大学课程设计报告书所属课程名称计算机网络原理题目院系软件学院班级软件工程20xx5班学号学生姓名指导教师谢昕辅导教师谢昕20xx年6月9日华东交通大学课程设计论文任务书软件学院专业软件工程班级20xx5...

程序设计报告模板(32篇)