C+课程设计报告代码

C+课程设计报告代码
C+课程设计报告代码

C++课程设计报告

专业:

学号:

姓名:

同组人:

提交日期:

【设计目的】

1、通过设计一个较为简单的《商场库存货物管理系统》,进一步熟悉C++中类的概念、类的封装、继承的实现方式。

2、了解系统开发的需求分析、类层次设计、模块分析、编码测试、模块组装与整体调试的全过程,加深对C++的理解与Visual C++环境的使用;逐步熟悉程序设计的方法,并养成良好的编程习惯。【设计内容】

1、设计某公司的库存管理系统。此程序是为了更好的处理货物的详细信息。包括货物的货物的入库、出库、查询、统计。并且能够很好的让使用者了解库存货物的有关信息。

2、系统要求能够按编号显示、查找、增加、删除、和保存各类货物的信息。输入和输出货物的有关信息并且对输入保存文件里确定程序至少具备以下功能:查询模块、增加模块、删除模块、货物的有关信息数据存盘等的基本模块。

3、系统具有“货物的有关信息数据存盘”的功能,所以货物的有关信息数据可以保存到磁盘文件,那么也就意味着今后可以从磁盘文件读出货物的有关信息,可以方便用户使用,避免数据重复录入,考虑到系统实现简洁,货物数据文件采用文本文件,货物数据文件名:date.dat。

4、作为一个完整的系统,除了具有增加货物,删除货物的信息模块,还应该具有修改货物相关信息的功能,所以本系统具备了“商品入库”、“商品出库”、“查询统计”、“商品报损”、“退出系统”,这5个基本功能,就可以以最简捷的方式实现对货物的管理,也就实现了系统的要求。

5、下图中黑体字部分程序块为我完成的代码块

【实验环境】

1.硬件环境:

(1)电脑型号戴尔 Inspiron 5557 笔记本电脑 (扫描时间:2017年01月11日)

(2)操作系统Windows 10 Enterprise 64位 ( DirectX 12 )

(3)处理器英特尔 Core i7-6500U @ 2.50GHz 双核

(4)主板戴尔 03XTY7 ( 英特尔 PCI 标准主机 CPU 桥 - 100 Series 芯片组Family/eSPI Controller - 9D48 )

(5)内存8 GB ( 镁光 DDR3L 1600MHz )

(6)主硬盘三星 SSD 850 EVO 500GB ( 500 GB / 固态硬盘 )

(7)显卡Nvidia GeForce 930M ( 4 GB )

(8)显示器友达 AUO38ED ( 15.3 英寸 )

2.软件环境:Windows 10 Enterprise 64位 ( DirectX 12 )、Visual Studio 2015

【设计中使用函数说明】

(1)char manage::first_face()//首页:该函数是该系统的首页。

(2)void manage::in_cangku()//入库函数:该函数是将商品信息录入到文件中。

(3)void manage::out_cangku()// 出库函数:该函数将商品信息读取后找到用户想要出库的商品然后进行商品报损。

(4)void manage::find_property()//查询函数:该函数用于让用户选择自己想要的查询商品的方式:俺商品名称查询、按商品价格查询、按商品价格查询。

(5)void manage::find_name()//按商品名称查询:该函数会读取用户输入的商品名称,然后打开存储文件找到该商品并显示在屏幕上。

(6)void manage::find_price()//按商品价格查询:该函数会读取用户输入的商品价格,然后打开存储文件找到该商品并显示在屏幕上。

(7)void manage::find_kind()//按大类查询该函数会读取用户输入的商品大类,然后打开存储文件找到该商品并显示在屏幕上。

(8)void manage::call_break()//商品报损函数:该函数将商品信息读取后找到用户想要报损的商品然后进行商品报损

【测试结果】

1.商场库存货物管理系统首页

2.商品入库

3.商品查询

4.按商品名查询

5.按商品价格查询

6.按商品大类查询

7.商品报损

【设计总结】

经过一个学期对《C++程序设计》的学习,我学习到了基本的理论知识,了解到了C++语言程序设计的思想,这些知识都为我的课程实践和进一步的学习打下了坚实的基础。

在为期近一周的C++课程设计中,我体会颇多,学到了很多东西。我加强了对C++程序设计这门课程的认识,并且复习了自己以前学习到的知识。这些都使得我对计算机语言的学习有了更深入的认识!总之,通过这次课程设计,我收获颇丰,相信会为自己以后的学习和工作带来很大的好处。像职工信息表这样的程序设计,经历了平时在课堂和考试中不会出现的问题和考验。而这些问题,这并不是我们平时只靠课本,就可以轻易解决的。所以,锻炼了我们挑战难题,学会用已掌握的知识去解决具体问题的能力,进一步培养了独立思考问题和解

决问题的能力。特别是学会了在Visual C++中如何调试程序的方法。当然,老师的指导和同学的帮助也是不可忽视的,他们给了我许多提示和帮助,教会了我编译复杂程序的方法。

在老师和同学的帮助下,通过自己的努力,终于完成了这次职工信息表的简单课程设计。我经过这段时间的编程,对其中的艰辛,我是深有体会。从刚开始的选择程序、理解程序到后来的调试程序以及改进程序这个过程中,我遇到了各种各样的困难和挫折。但是我坚定信念,对自己充满了信心,想尽一切办法克服重重困难。

通过课程设计的训练,我进一步学习和掌握了对程序的设计和编写,从中体会到了面向对象程序设计的方便和巧妙。懂得了在进行编写一个程序之前,要有明确的目标和整体的设计思想。另外某些具体的细节内容也是相当的重要。这些宝贵的编程思想和从中摸索到的经验都是在编程的过程中获得的宝贵财富。这些经验对我以后的编程会有很大的帮助的,我要好好利用。

虽然这次课程设计是在参考程序的基础之上进行的,但是我觉得对自己是一个挑战和锻炼。我很欣慰自己能在程序中加入自己的想法和有关程序内容,也就是对它的程序改进了一番改进,并有创新。但是我感觉自己的创新还不够典型,总之还不是很满意。另外由于时间的紧迫和对知识的了解不够广泛,造成了系统中还存在许多不足,功能上还不够完善。以后我会继续努力,大胆创新,争取能编写出透射着自己思想的程序。这次课程设计让我充分认识到了自己的不足,认识到了动手能力的重要性。我会在以后的学习中更加努力锻炼自己,提高自己,让自己写出更好更完善的程序,为以后的编程打好基础!

【参考文献】

[1] Bjarne Stroustrup, THE C++ PROGRAMMING LANGUAGE, Higher Education Press Pearson Education,2002

[2] [美]Walter Savitch著,周靖译,C++面向对象程序设计——基础、数据结构与编程思想,清华大学出版

社,2004

[3] [美]Brian Overland著,董梁等译,C++语言命令详解,电子工业出版社,2000

[4] [美]AI Stevens著,林瑶等译,C++大学自学教程,电子工业出版社,2004

[5] 刁成嘉主编,面向对象C++程序设计,机械工业出版社,2004

[6] 刘瑞新主编,曹建春,沈淑娟,张连堂等编著,Visual C++面向对象程序设计程,机械工业出版社,2004

【源程序清单】

//list.h

//首页

char manage::first_face()

{

system("cls");

cout << endl;

cout << endl <<"\t\t◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆"

<< endl <<"\t\t◆◆"

<< endl <<"\t\t◆商场库存货物管理系统◆"

<< endl <<"\t\t◆◆"

<< endl <<"\t\t◆ 1. 商品入库◆"

<< endl <<"\t\t◆◆"

<< endl <<"\t\t◆ 2. 商品出库◆"

<< endl <<"\t\t◆◆"

<< endl <<"\t\t◆ 3. 查询统计◆"

<< endl <<"\t\t◆◆"

<< endl <<"\t\t◆ 4. 商品报损◆"

<< endl <<"\t\t◆◆"

<< endl <<"\t\t◆ 5. 退出系统◆"

<< endl <<"\t\t◆◆"

<< endl <<"\t\t◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆"<< endl << endl <<"\t\t";

return _getch();

//入库

void manage::in_cangku()

{

system("cls");

string name;//商品名

double price;//价格

int store_Number;//仓库编号

string dalei;//商品大类

int shelf_Number;//货架号

long quantity = 0; //商品数量

cout << endl <<"商品入库,请输入相关信息: "<< endl << endl;

cout <<"\t商品名称: ";

cin >> name;

cout << endl <<"\t商品价格: ";

cin >> price;

cout << endl <<"\t商品数量: ";

cin >> quantity;

cout << endl <<"\t仓库编号: ";

cin >> store_Number;

cout << endl <<"\t商品大类: ";

cin >> dalei;

cout << endl <<"\t货架编号: ";

cin >> shelf_Number;

ofstream storeFile("store.txt", ios::app);//ofstream类“写”,storeFile对象.

//ios::app—写入的数据将被追加在文件的末尾,此方式使用ios::out

storeFile << setiosflags(ios::left) << setw(20) << name <<" "

<< setw(15) << price <<" "<< setw(10) << quantity <<" "

<< setw(10) << store_Number <<" "<< setw(20) << dalei <<" "

<< shelf_Number << endl;

//setiosflags(ios::left)左对齐输出

storeFile.close();

cout << endl << endl <<"\t该商品已经入库......."<< endl << endl <<"\t";

system("pause");//暂停

// 出库

void manage::out_cangku()

{

system("cls");

string name;//商品名

cout << endl <<"\t商品出库,输入出库商品信息: "<< endl << endl;

cout <<"\t商品名称: ";

cin >> name;

ifstream storeFile("store.txt");//ifstream类“读”

if (!storeFile)//打开失败

{

ofstream storeFile1("store.txt");//“写”

storeFile1.close();

cout << endl << endl <<"\t仓存为空!!!!"<< endl << endl <<"\t";

system("pause");

return;

}

bool flag = false;

string name_1;//商品名

double price_1;//价格

int store_Number_1;//仓库编号

string dalei_1;//商品大类

int shelf_Number_1;//货架号

long quantity_1 = 0; //商品数量

ofstream tempFile("temp.txt");//“写”临时文件

while (storeFile >> name_1 >> price_1 >> quantity_1 >> store_Number_1 >> dalei_1 >> shelf_Number_1)

{

if (name_1 == name)

flag = true;

else

{

tempFile << setiosflags(ios::left) << setw(8) << name_1 <<" "

<< setw(5) << price_1 <<" "<< setw(8) << quantity_1 <<" "

<< setw(5) << store_Number_1 <<" "<< setw(10) << dalei_1 <<" "

<< shelf_Number_1 << endl;

}

}

tempFile.close();

storeFile.close();

if (!flag)//“1”打开失败

{

cout << endl << endl <<"\t仓库中没有这种商品!!!"<< endl << endl <<"\t";

system("pause");

return;

}

ofstream storeFile1("store.txt");//“写”

ifstream tempFile1("temp.txt");//“读”

storeFile1 << tempFile1.rdbuf();//将tempFile1流对象中的流重定向到storeFile1上,实现替换.

storeFile1.close();

tempFile1.close();

cout << endl <<"\t这些商品已经出库, 请仔细检查!!!"<< endl << endl <<"\t";

system("pause");

}

//查询

void manage::find_property()

{

while (1)

{

system("cls");

cout << endl << endl;

cout <<

"\t============================================================="<< endl <<"\t|| ||"<< endl

<<"\t|| 商品查询||"<< endl

<<"\t|| ||"<< endl

<<"\t|| 1. 按商品名称查询||"<< endl

<<"\t|| ||"<< endl

<<"\t|| 2. 按商品价格查询||"<< endl

<<"\t|| ||"<< endl

<<"\t|| 3. 按大类查询||"<< endl

<<"\t|| ||"<< endl

<<"\t|| 4. 返回||"<< endl

<<"\t|| ||"<< endl

<<

"\t============================================================="<< endl << endl <<"\t\t";

char select = _getch();

switch (select)

{

case'1':

find_name();

break;

case'2':

find_price();

break;

case'3':

find_kind();

break;

case'4':

return;//跳出函数

default:

break;

}

}

}

//按商品名称查询

void manage::find_name()

{

system("cls");

cout << endl <<"\t按商品名查询: "<< endl << endl;

cout <<"\t输入商品名: ";

string name;

cin >> name;

string name_1;//商品名

double price_1;//价格

int store_Number_1;//仓库编号

string dalei_1;//商品大类

int shelf_Number_1;//货架号

long quantity_1 = 0; //商品数量

ifstream storeFile("store.txt");//“读”

if (!storeFile)//打开失败

{

cout << endl << endl <<"\t对不起,你的库存为空!!!"<< endl << endl <<"\t";

system("pause");

return;

}

bool flag = false;

cout << endl <<"商品名"<<"价格"<<"商品数量"<<"仓库编号"

<<"商品大类"<<"货架号"<< endl << endl;

while (storeFile >> name_1 >> price_1 >> quantity_1 >> store_Number_1 >> dalei_1 >> shelf_Number_1)

{

if (name_1 == name)

{

flag = true;

cout << setiosflags(ios::left) << setw(8) << name_1 <<" "

<< setw(5) << price_1 <<" "<< setw(8) << quantity_1 <<" "

<< setw(5) << store_Number_1 <<" "<< setw(10) << dalei_1 <<" "

<< shelf_Number_1 << endl;

}

}

storeFile.close();

if (!flag)

cout << endl << endl <<"对不起,库存中没有这种商品!!!";

cout << endl << endl;

system("pause");

}

//按商品价格查询

void manage::find_price()

{

system("cls");

cout << endl <<"\t按商品价格查询: "<< endl << endl;

cout <<"\t输入价格: ";

double price;

cin >> price;

string name_1;//商品名

double price_1;//价格

int store_Number_1;//仓库编号

string dalei_1;//商品大类

int shelf_Number_1;//货架号

long quantity_1 = 0; //商品数量

ifstream storeFile("store.txt");//“读”

if (!storeFile)

{

cout << endl << endl <<"\t对不起,你的库存为空!!!"<< endl << endl <<"\t";

system("pause");

return;

}

bool flag = false;

cout << endl <<"商品名"<<"价格"<<"商品数量"<<"仓库编号"

<<"商品大类"<<"货架号"<< endl << endl;

while (storeFile >> name_1 >> price_1 >> quantity_1 >> store_Number_1 >> dalei_1 >> shelf_Number_1)

{

if (price_1 == price)

{

flag = true;

cout << setiosflags(ios::left) << setw(8) << name_1 <<" "

<< setw(5) << price_1 <<" "<< setw(8) << quantity_1 <<" "

<< setw(5) << store_Number_1 <<" "<< setw(10) << dalei_1 <<" "

<< shelf_Number_1 << endl;

}

}

storeFile.close();

if (!flag)

cout << endl << endl <<"对不起,库存中没有这个价格的商品!!!";

cout << endl << endl;

system("pause");

}

//按大类查询

void manage::find_kind()

{

system("cls");

cout << endl <<"\t按商品大类查询: "<< endl << endl;

cout <<"\t输入大类名: ";

string dalei;

cin >> dalei;

string name_1;//商品名

double price_1;//价格

int store_Number_1;//仓库编号

string dalei_1;//商品大类

int shelf_Number_1;//货架号

long quantity_1 = 0; //商品数量

ifstream storeFile("store.txt");//“读”

if (!storeFile)

{

cout << endl << endl <<"\t对不起,你的库存为空!!!"<< endl << endl <<"\t";

system("pause");

return;

}

bool flag = false;

cout << endl <<"商品名"<<"价格"<<"商品数量"<<"仓库编号"

<<"商品大类"<<"货架号"<< endl << endl;

while (storeFile >> name_1 >> price_1 >> quantity_1 >> store_Number_1 >> dalei_1 >> shelf_Number_1)

{

if (dalei_1 == dalei)

{

flag = true;

cout << setiosflags(ios::left) << setw(8) << name_1 <<" "

<< setw(5) << price_1 <<" "<< setw(8) << quantity_1 <<" "

<< setw(5) << store_Number_1 <<" "<< setw(10) << dalei_1 <<" "

<< shelf_Number_1 << endl;

}

}

storeFile.close();

if (!flag)

cout << endl << endl <<"对不起,库存中没有这类商品!!!";

cout << endl << endl;

system("pause");

}

//商品报损

void manage::call_break()

{

system("cls");

string name;//商品名

cout << endl <<"\t商品报损,请输入要报损商品信息: "<< endl << endl;

cout <<"\t商品名称: ";

cin >> name;

ifstream storeFile("store.txt");//“读”

if (!storeFile)

{

ofstream storeFile1("store.txt");//“写”

storeFile1.close();

cout << endl << endl <<"\t仓存为空!!!!"<< endl << endl <<"\t";

system("pause");

return;

}

bool flag = false;

string name_1;//商品名

double price_1;//价格

string dalei_1;//商品大类

string shelf_Number_1;//货架号

long quantity_1 = 0; //商品数量

ofstream tempFile("temp.txt");//“写”

string store_Number_1;//仓库编号

cout << endl << endl <<"你想报损商品信息如下: "<< endl << endl;

cout << endl <<"商品名"<<"价格"<<"商品数量"<<"仓库编号"

<<"商品大类"<<"货架号"<< endl << endl;

while (storeFile >> name_1 >> price_1 >> quantity_1 >> store_Number_1 >> dalei_1 >>

shelf_Number_1)

{

if (name_1 == name)

{

flag = true;

cout << setiosflags(ios::left) << setw(8) << name_1 <<" "

<< setw(5) << price_1 <<" "<< setw(8) << quantity_1 <<" "

<< setw(5) << store_Number_1 <<" "<< setw(10) << dalei_1 <<" "

<< shelf_Number_1 << endl;

shelf_Number_1 +="(损坏)";

}

tempFile << setiosflags(ios::left) << setw(8) << name_1 <<" "

<< setw(5) << price_1 <<" "<< setw(8) << quantity_1 <<" "

<< setw(5) << store_Number_1 <<" "<< setw(10) << dalei_1 <<" "

<< shelf_Number_1 << endl;

}

tempFile.close();

storeFile.close();

if (!flag)

{

cout << endl << endl <<"对不起,仓库中没有这种商品!!!"<< endl << endl;

system("pause");

return;

}

ofstream storeFile1("store.txt");//“写”

ifstream tempFile1("temp.txt");//“读”

storeFile1 << tempFile1.rdbuf();//将tempFile1流对象中的流重定向到storeFile1上,实现替换.

storeFile1.close();

tempFile1.close();

cout << endl << endl <<"这些商品已经损坏,请尽快从仓库中取出!!!"<< endl << endl;

cout <<"报损成功,记录已经更改!!!"<< endl << endl;

system("pause");

}

C语言课程设计参考模板

C语言课程设计 题目 XXXXXXX 二级学院电子与信息工程学院 班级 1X级XXXXX 专业X班 姓名 XXX 学号 XXX 指导教师梁建勇 2016年07月01日

通讯录管理系统 电子与信息工程学院C语言课程设计任务书

2014022061 刘言松 通讯录管理系统 刘言松安康学院 2014级电子与信息工程系电子信息工程2班 摘要:通讯录管理系统是生活中不可缺少的部分编写了一个通讯录管理系统是十分必要的。本程序设计具有通讯信息的输入,进行保存、查找、删除等功能,操作界面简洁美观,易于操作。程序用了条件、循环、结构体等知识点。可运用于小的管理软件。软件运用菜单实现交互式管理,用户轻松的按键既可实现对软件的操作,操作简单易懂,功能丰富,可以很好的满足的需要。通过对通讯录管理系统的设计,进一步理解和掌握C语言这门课程的知识点,能够熟练的调用各种函数,把各种C语句有机的结合起来,提高自己C语言程序设计的能力,为今后解决实际问题打下良好基础。 关键词:通讯录管理系统;结构体;条件语句;循环结构;指针 1引言 学习了C语言程序设计这门课程之后,使我对程序设计有了一定的了解,为了熟练掌握C 语言的语法特点、及其数据结构,提高自身编写程序的能力。通过课程设计实现理论知识与实际情况的结合,使所学知识能够在现实社会中起到一定的作用,防止所编写的程序脱离实际,让程序可以更好的发挥作用,以便减轻实际工作中所遇到的繁琐步骤,提高现实工作中的效率。此外通过课程设计提高逻辑思考能力和解决实际问题的能力。程序设计中,语句的语法和常量变量的定义都有严格的要求,有时输了一个中文标点、打错了一个字母,编译就不通过,程序无法正常运行。因此,程序设计初学阶段,学生经常会犯这样的错误,可能要通过几次乃至十多次的反复修改、调试,才能成功,但这种现象会随着学习的深入而慢慢改观。这当中就有一个严谨治学、一丝不苟的科学精神的培养,又有一个不怕失败、百折不挠品格的锻炼。通讯录信息管理系统是生活中不可缺少的部分编写了一个通讯录信息管理系统是十分必要的。通过程序设计,达到理论与实际应用相结合,提高对信息管理系统的分析能力,能够根据实际应用,初步实现系统功能模块及算法的设计,通过编程基本实现信息管理系统。 2设计方案 2.1设计思路 建立一个函数,用来添加、显示、删除、查询、修改等信息,完成通讯录的功能。主函数可以调用五个子函数,分别完成添加记录、显示记录、删除记录、查询记录、修改记录、退出系统等功能。在主函数中可以以1、2、3、4、5、数字键分别可以执行某个功能模块 3程序设计与实施 3.1根据该流程图定义数据类型建立函数 typedef struct { char score; //编号 char name[10]; //姓名 char num[15]; //电话号码

c语言课程设计机房机位预定系统绝对正确,附源代码

1 设计目的 机房机位预定系统 2 任务概述 20台机器,编号1到20,从早八点到晚八点。两小时一个时间段,每次可预定一个时间段。功能要求: (1)系统以菜单方式工作 (2)查询,根据输入时间,输出机位信息。 (3)机位预定,根据输入的时间查询是否有空机位,若有则预约,若无则提供最近的时间段,另:若用户在非空时间上机,则将用户信息列入等待列表。 (4)退出预定,根据输入的时间,机器号撤销该事件的预定! (5)查询是否有等待信息,若有则提供最优解决方案(等待时间尽量短),若无则显示提示信息。 ......... 3 模块划分 4 主要函数说明及其N-S图 1.主函数: int main() { Menu(); /*当前状态函数*/ } void Menu() /*主界面*/ { int n,w; do { puts("\t\t****************机房机位预约系统*******************\n"); puts("\t\t*************************菜单

***************************\n"); puts("\t\t\t 1.查询某时间段机位状态"); /*查询某时间段机位状态*/ puts("\t\t\t 2.预定空机位"); /*预定空机位*/ puts("\t\t\t 3.取消预订"); /*取消预订*/ puts("\t\t\t 4.查询等待信息"); /*查询等待信息*/ puts("\t\t\t 5.退出"); /*退出*/ puts("\t\t********************************************************\n"); printf("选择菜单号(1-5):"); scanf("%d",&n); if(n<1||n>5) {w=1;getchar();} else w=0; }while(w==1); switch(n) { case 1:Situation();break; case 2:Book();break; case 3:Cancel();break; case 4:SearchWaiting();break; case 5:exit(0);break; } getch(); } 2.机位查询: void Situation() { int time; printf("输在 (8-20)范围内的时间:"); scanf("%d",&time); if(time<8||time>20) {printf("\t时间输入错误!\n"); printf("输入在 (8-20)范围内的时间:"); scanf("%d",&time); } detail(time); /*函数调用*/ getchar(); Menu();} 3.机位预定:

C语言程序设计课程设计题目

1一元稀疏多项式的运算 问题描述:设有两个带头指针的单链表表示两个一元稀疏多项式A、B,实现两个一元稀疏多项式的处理。 实现要求: ⑴输入并建立多项式; ⑵输出多项式,输出形式为整数序列:n,c1,e1,c2,e2……c n,e n,其中n 是多项式的项数,c i,e i分别为第i项的系数和指数。序列按指数降序排列; ⑶多项式A和B相加,建立多项式A+B,输出相加的多项式; ⑷多项式A和B相减,建立多项式A-B,输出相减的多项式; ⑸多项式A和B相乘,建立多项式A×B,输出相乘的多项式; ⑹设计一个菜单,至少具有上述操作要求的基本功能。 测试数据: (1) (2x+5x8-3.1x11)+(7-5x8+11x9) (2) (6x-3-x+4.4x2-1.2x9)-(-6x-3+5.4x2+7.8x15) (3)(x+x2+x3)+0 (4)(x+x3)-(-x-x-3) 2成绩排序 假设某年级有4个班,每班有45名同学。本学期有5门课程考试,每门课程成绩是百分制。假定每个同学的成绩记录包含:学号、姓名各门课程的成绩共7项,其中学号是一个10位的字符串,每个学生都有唯一的学号,并且这4个班的成绩分别放在4个数组中,完成以下操作要求: ⑴编写一个成绩生成函数,使用随机数方法,利用随机函数生成学生的各门课程的成绩(每门课程的成绩都是0∽100之间的整数),通过调用该函数生成全部学生的成绩; ⑵编写一个平均成绩计算函数,计算每个同学的平均成绩并保存在成绩数组中; ⑶用冒泡排序法对4个班的成绩按每个同学的平均成绩的以非递增方式进

行班内排序; ⑷用选择排序法对4个班的成绩按每个同学的平均成绩的以非递增方式进行班内排序; ⑸对已按平均成绩排好序的4个班的同学的构造一个所有按平均成绩的以非递增方式排列的新的单链表; ⑹设计一个菜单,至少具有上述操作要求的基本功能。 3迷宫问题 问题描述:以一个m×n的长方阵表示迷宫,0和1分别表示迷宫中的通路和障碍。设计一个程序,对任意设定的迷宫,求出一条从入口到出口的通路,或得出没有通路的结论。 实现要求: ⑴实现一个以链表作存储结构的栈类型,然后编写一个求解迷宫的非递归程序。求得的通路以三元组(i,j,d)的形式输出,其中:(i,j)指示迷宫中的一个坐标,d表示走到下一坐标的方向。 ⑵编写递归形式的算法,求得迷宫中所有可能的通路; ⑶以方阵形式输出迷宫及其通路。 [测试数据] 迷宫的测试数据如下:左上角(1,1)为入口,右下角(8,9)为出口。 1 2 3 4 5 6 7 8 实现提示:

C语言课程设计报告-模板

C语言课程设计报告 班级:16 物联网 一、题目说明 (1)读取输入信息,能正确进行数字运算

(2)拥有记忆功能,可查询最近几次计算结果并继续进行数字运算。 二、基本功能实现 (1)能实现两个数之间的加减,乘,除,乘方,开方等运算。 (2)实现记忆功能,可保留近十位结果,可用#键查看。(3)*键作为清0键,清除当前屏幕上的值为0表示重新开三、设计流程(可以画流程图,可以直接写说明)

四、代码 #include #include #include #include double yunsuan(double a, char operate, double b); //处理数值之间的运算void PutRes(double array[], double res, int *i); //保存该次运算结果 int main() { char str[40]; double a = 0; double b = 0; double res = 0; double history[10] = {0,0,0}; char opt; int i = 0; printf("欢迎进入计算功能(eg: 1 \n+ 1 ; '#':查询历史结果; 'q':退出程序)·\n"); while(1){

fgets(str,40,stdin); //将从键盘的一整行标准输入保存在字符串str中 if(sscanf(str,"%lf", &a) == 1){ //将str以长浮点型的格式放入a中,如果返回值为1,说明输入的是数值, scanf("%c %lf", &opt, &b); //获取操作符的值和另外一个操作数的值 res = yunsuan(a,opt,b); //调用yunsuan()函数计算,并将结果给res printf("%lf %c %lf = %lf\n\n",a, opt, b, res); PutRes(history, res, &i); //调用函数PutRes()将本次结果保存到数组history中(i用引用传递) // printf("%d\n", i); }else if(sscanf(str,"%c",&opt) == 1){ //将str以字符型的格式放入opt中,如果返回值为1,说明输入的是字符 if(opt == '#'){ //如果opt为‘#’,则显示history 中的数值 int j = 0; for(j = 0; j < i; ++j){ //i为history中存放的数值个数 printf(" %lf ", history[j]); } printf("\n");

C语言程序设计课程设计报告

C语言程序设计课程设 计报告 内部编号:(YUUT-TBBY-MMUT-URRUY-UOOY-DBUYI-0128)

《C语言程序设计》课程设计报告 (2013— 2014学年第 3 学期) 题目: C语言课程设计 专业:软件工程 班级:软件工程技术2班 姓名学号: 1 林燕萍 指导教师:吴芸 成绩: 计算机科学与技术系 2014 年6月23日

目录 一、课程设计的目的与要求 (1) 二、方案实现与调试 (3) 2.1 掷骰子游戏 (5) 2.2 射击游戏 (7) 2.3 计算存款本息之和 (8) 2.4肇事逃逸 (10) 2.5 礼炮 (12) 2.6 汽车加油 (14) 2.7 大优惠 (16) 2.8 金币 (19) 三、课程设计分析与总结 (23) 附录程序清单 (25) 一、课程设计的目的与要求(含设计指标) C语言是一种编程灵活,特色鲜明的程序设计语言。C语言除了基知识,如概念,方法和语法规则之外更重要的是进行实训,以提高学习者的动手和编程能力,从应试课程转变为实践工具。这是学习语言的最终目的。结合多年来的教学经验,根据学生的学习情况,为配合教学过程,使“项目教学法”能在本质上促使学生有更大进步,特编写了该《C 语言程序设计任务书》,以在实训过程中给学生提供帮助。达到如下目的: 1.在课程结束之前,让学生进一步了解C程序设计语言的编程功能;

2.让学生扎实掌握C程序设计语言的相关知识; 3.通过一些有实际意义的程序设计,使学生体会到学以致用,并能将程序设计的知识与专业知识有效地结合,更全面系统地了解行业知识。 编写程序要求遵循如下基本要求: ①模块化程序设计 ②锯齿型书写格式 ③必须上机调试通过 二、方案实现与调试 2.1掷骰子游戏 2.1.1 题目内容的描述 1) 两人轮流掷骰子,每次掷两个,每人最多掷10次。 2) 将每人每次的分值累加计分 3) 当两个骰子点数都为6时,计8分;当两个点数相等且不为两个6时,计7分;当两个点数不一样时,计其中点数较小的骰子的点数。4) 结束条件:当双方都掷10次或经过5次后一方累计分数多出另一方的30%及以上。最后显示双方分数并判定优胜者。 2.1.2输入数据类型、格式和内容限制和输出数据的说明 数据类型:整型;内容限制:随机数的产生;输入数据结果:胜利的一方 2.1.3主要模块的算法描述

C语言课程设计说明书正文范本标准

山西工程技术学院《C语言程序设计》 课程设计说明书 姓名张雅男 学号 150721035 班级 15级计应1班 指导老师刘红梅 2016年1月6日

目录 摘要------------------------------------------------------ 2 1 引言------------------------------------------------------ 3 1.1设计目的------------------------------------------------ 3 1.2设计要求------------------------------------------------ 3 2 系统分析------------------------------------------------- 4 2.1功能需求------------------------------------------------ 4 2.2数据需求------------------------------------------------ 5 2.3程序所需函数-------------------------------------------- 5 3 详细设计与实现-------------------------------------------- 6 3.1功能模块的设计与实现------------------------------------ 6 3.2 程序的详细设计过程-------------------------------------- 7 4 系统测试-------------------------------------------------- 14 4.1设计测试数据-------------------------------------------- 14 4.2 测试结果及分析------------------------------------------ 14 总结-------------------------------------------------------- 22 参考文献---------------------------------------------------- 23

C语言课程设计报告——贪吃蛇源程序

C 语言课程设计(小游戏贪吃蛇的程序设计报告) 设计人: 班级: 201 年月号

目录一:概述 1:研究背景及意义 2:设计的任务与需要知识点3:具体完成设计内容 二:需求分析 1:功能需求 2:操作方法 三:总体设计 1:模块划分 2:数据结构设计 四:详细设计 1:主空摸块设计 2:绘制游戏界面 3:游戏的具体过程 4:游戏的结束处理 5:显示排行榜信息模块 五:程序的调试与测试1:动画与音乐同步 2:蛇的运行 3:终止程序 六:结论 七::结束语 八:程序清单 九:参考文献

一. 概述 本课程设计以软件工程方法为指导,采用了结构化,模块化的程序设计方法,以C语言技术为基础,使用Turbo C++3、0为主要开发工具,对贪吃蛇游戏进行了需求分析,总体设计,详细设计,最终完成系统的实现与测试。 1、1 研究的背景及意义 随着社会的发展,人们生活的节奏日益加快,越来越多的人加入了全球化的世界。人们不再拘泥与一小块天地,加班,出差成了现代人不可避免的公务。而此时一款可以随时随地娱乐的游戏成为了人们的需要。此次课程设计完成的贪吃蛇小游戏,正就是为了满足上述需求而设计出来的。贪吃蛇游戏虽小,却设计诸多的知识点。通过开发贪吃蛇游戏系统,可使读者初步了解使用软件工程的与那个发,技术与工具开发软件的过程,进一步掌握结构化,模块化的程序设计方法与步骤,进一步掌握总体数据结构设计,模块划分方法,掌握局部变量,全局变量,结构体,共用体,数组,指针,文件等数据结构的使用方法,掌握图形,声音,随机数等多种库函数的使用方法,学习动画,音乐,窗口,菜单,键盘等多项编程技术,进一步学会软件调试,测试,组装等软件测试方法,为后续课程的学习与将来实际软件开发打下坚实的基础。 1、2 设计的任务与需要的知识点 1、2、1 课程设计主要完成的任务 1)、通过编写“贪吃蛇游戏”程序,掌握结构化,模块块化程序设计的思想,培养解决实际问题的能力。 2) 有同步播放动画,声音效果。 3) 设计好数组元素与蛇,食物的对应关系。 4) 随机产生食物。 5) 有分数统计,排行榜,分数存储等功能。 通过此次课程设计,希望使读者能更深入的理解与掌握课程教学中的基本概念,培养读者应用基本技术解决实际问题的能力,从而进一步提高分析问题与解决问题的能力。 1、2、2需要掌握与运用的知识点 1、2、3本次课程设计需要掌握与运用如下的知识点: 1) 数组的应用。 2) 全局变量的使用。 3) 按键处理。 4)结构体的应用。 5)图形,音乐与动画的有关知识。 6)随即函数的使用。 7)文件的基本出操作。 8) 结构化,模块化的设计方法。

C语言程序设计课程设计

《C语言程序设计》课程设计 1课程设计目的 C语言课程设计是在“C语言程序设计”课程后集中安排的1周相关的实践技能训练环节。它的目的是通过实践环节的训练,培养学生查阅资料的能力、分析与解决问题的能力、应用C语言开发与设计程序的能力。 2课程设计选题 2.1 题目1 必做题目,其余题目任选一题完成 题目1:年历显示。 功能要求: (1)输入一个年份,输出是在屏幕上显示该年的日历。假定输入的年份在1940-2040年之间。 (2)输入年月,输出该月的日历。 (3)输入年月日,输出距今天还有多少天,星期几,是否是公历节日。 题目2:小学生测验 面向小学1-2年级学生,随机选择两个整数和加减法形成算式要求学生解答。 功能要求: (1)电脑随机出10道题,每题10分,程序结束时显示学生得分; (2)确保算式没有超出1-2年级的水平,只允许进行50以内的加减法,不允许两数之和或之差超出0-50的范围,负数更是不允许的; (3)每道题学生有三次机会输入答案,当学生输入错误答案时,提醒学生重新输入,如果三次机会结束则输出正确答案; (4)对于每道题,学生第一次输入正确答案得10分,第二次输入正确答案得7分,第三次输入正确答案得5分,否则不得分; (5)总成绩90以上显示“SMART”,80-90显示“GOOD”,70-80显示“OK”,60-70显示“PASS”,60以下“TRY AGAIN” 题目3:学生学籍管理系统(可以2人合作完成) 用数据文件存放学生的学籍,可对学生学籍进行注册,登录,修改,删除,查找,统计,学籍变化等操作。 功能要求: (1)系统以菜单方式工作。 (2)登记学生的学号,姓名,性别,年龄,籍贯,系别,专业,班级;修改已知学号的学生信息; (3)删除已知学号的学生信息; (4)查找已知学号的学生信息; (5)按学号,专业输出学生籍贯表。 (6)查询学生学籍变化,比如入学,转专业,退学,降级,休学,毕业。 题目4:通讯录程序设计 设计一个实用的小型通讯录程序,具有添加,查询和删除功能。由姓名,籍贯,电话号码1,电话号码2,电子邮箱组成,姓名可以由字符和数字混合编码。电话号码可由字符和数字组成。实现功能:(1)系统以菜单方式工作 (2)信息录入功能 (3)信息浏览功能

c语言课程设计报告数独样本

C语言课程设计报告 设计名称C语言课程设计 专业班级 姓名 学号 指引教师 实习时间 成绩

目录 一、设计目................................................................. 错误!未定义书签。 二、设计内容............................................................. 错误!未定义书签。 三、详细设计阐明..................................................... 错误!未定义书签。 四、软件使用阐明..................................................... 错误!未定义书签。 五、设计总结(课程设计心得与体会) ................ 错误!未定义书签。 六、附录1:参照文献 ............................................. 错误!未定义书签。 七、附录2:某些程序清单(带有较详细注释) . 错误!未定义书签。 八、教师评语............................................................. 错误!未定义书签。

一、设计目 通过课程设计实践环节教学,可以加深学生对课堂所学基本知识掌握与理解,提高学生对所学内容综合运用能力;同步也可以通过查询有关资料,培养学生自学能力、接受新知识能力,提高学习兴趣;增强学生程序设计能力,掌握编程技巧,并可培养学生事实上机调试程序能力。“理论与实践”相结合,使学生得到较好锻炼,为后来学习、工作打下坚实基本。每个学生需要独立完毕教师安排设计题目或由学生自拟实际设计题目,但自拟自拟题目须经指引教师批准方可生效。

C语言课程设计俄罗斯方块源代码

1、新建“.h”头文件,将“头文件” 代码粘贴至其中, 2、新建“.c”源文件,将“源代码” 代码粘贴到其中。 3、新建空白工程,将头文件和源代码 添加进去,调试使用。 //头文件 //1.自定义枚举类型,定义7种形态的游戏方块 typedef enum tetris_shape { ZShape=0, SShape, LineShape, TShape, SquareShape, LShape, MirroredLShape }shape; //2.函数声明 //(1)操作方块函数 int maxX();//取得当前方块的最大x坐标 int minX();//取得当前方块的最小x坐标 void turn_left();//当前方块逆时针旋转90度 void turn_right(); int out_of_table(); void transform(); int leftable(); int rightable(); int downable(); void move_left(); void move_right(); //(2)操作游戏桌面的函数 int add_to_table();

void remove_full(); //(3)控制游戏函数 void new_game(); void run_game(); void next_shape(); int random(int seed); //(4)绘图函数 void paint(); void draw_table(); //(5)其他功能函数 void key_down(WPARAM wParam); void resize(); void initialize(); void finalize(); //(6)回调函数,用来处理Windows消息 LRESULT CALLBACK WndProc (HWND,UINT,WPARAM,LPARAM); //源代码 //1.文件包含 #include #include #include #include"tetris.h" //2.常量定义 #define APP_NAME "TETRIS" #define APP_TITLE "Tetris Game" #define GAMEOVER "GAME OVER" #define SHAPE_COUNT 7 #define BLOCK_COUNT 4 #define MAX_SPEED 5 #define COLUMS 10 #define ROWS 20 #define RED RGB(255,0,0)

C语言程序课程设计猜数字游戏

C语言程序设计课程设计 : 自 动 化 级 : 名: 学号: 指导教师: 兰州交通大学自动化与电气工程学院 2015年07月21日

一.引言 设计目的 复习和巩固C语言基础知识,进一步加深对C语言的理解和掌握。提高同学将课本上的理论知识和实际结合的能力,锻炼同学的分析解决实际问题的能力,提高同学团队合作的能力。使同学们善于观察和思考,善于合作,具备实践编程的基础素质,和实际问题分析的思考方式。 设计要求 在设计时充分地分析和理解问题本身,综合考虑系统功能,怎样使系统结构清晰、合理、简单和易于调试。然后详细设计,确定每个过程和函数的简单功能,以及过程(或函数)之间的调用关系。最后认真完成课程设计说明书,并对设计方法,结果等进行总结。 充分地分析和理解问题本身,弄清要求做什么(What to do)。在确定解决方案框架过程中(How to do),综合考虑系统功能,考虑怎样使系统结构清晰、合理、简单和易于调试。最后确定每个过程和函数的简单功能,以及过程(或函数)之间的调用关系。 确定算法的主要流程,在此基础上进行代码设计(Coding),每个明确的功能模块程序一般不超过60行,否则要进一步划分。 上机前程序静态检查可有效提高调试效率,减少上机调试程序时的无谓错误。静态检查主要有两种途径:(1)用一组测试数据手工执行程序;(2)通过阅读或给别人讲解自己的程序而深入全面地理解程序逻辑。 二.基础题 题目 用选择法对10个数进行排序。 有一个已排好序的数组。现输入一个数,要求按原来的规律插入到原数组中。解题思路 程序的主要功能是对数组元素用排序函数按从小到大的顺序进行排序。 先定义一个10个元素的一维数组a[10],然后从电脑输入10个数(也就是对数组赋值),然后使用一次fun()函数,对这10个数进行排序;然后再定义一个11个元素的一维数组b[11],同时再从电脑输入一个数同a[10]一起赋值给b[11],然后再使用fun()函数,重新排序的到最后的有顺序的一组数据。 流程图 子函数流程图如图1所示:

C语言课程设计报告样本

HUBEI UNIVERSITY OF AUTOMOTIVE TECHNOLOGY C语言程序设计 课程设计报告 课设题目:学生信息管理系统 专业:电气工程及其自动化 班级: 学生信息管理系统 姓名: 成绩: 完成日期: 2012年6月18日-2012年6月22日 指导教师:

目录 1.课程设计目的 (2) 2.需求分析 (2) 2.1要求 (2) 2.2任务描述 (2) 2.3运行环境 (3) 2.4开发工具 (3) 3.总体设计 (3) 3.1系统流设计 (3) 3.2系统模块设计 (4) 4.详细设计 (5) 4.1数据结构设计 (5) 4.2模块接口设计 (6) 4.3 以下是几个主要模块的流程图: (7) 5.运行结果 (10) 5.1主菜单界面: (10) 5.2信息录入界面: (10) 5.3信息浏览界面: (11) 5.4 信息查询界面: (11) 5.5信息修改界面: (12) 6.程序调试与测试 (12) 6.1程序调试 (12) 6.2程序测试 (12) 7.问题与不足 (12) 8.建议 (12) 9.编程体会 (12) 10.程序源代码: (12) 11.参考文献 (13) 12.用户使用手册 (13)

1.课程设计目的 1)通过课程设计,加深对结构化程序设计思想的理解,能对系统功能进行分析, 并设计合理的模块化结构。 2)通过课程设计,进一步掌握C语言中重要的数据结构。掌握并熟练运用指针、 链表、结构体、文件等数据结构。 3)通过课程设计,提高程序开发能力,能运用合理的控制流编写清晰高效的程序。 4)通过课程设计,培养C语言知识运用和自学能力,真正的把课堂上获得的知识 运用起来,培养自己对程序编写的兴趣,并能独立设计和实现一个小型系统。 5)通过课程设计,加强了自己的程序分析能力。 2.需求分析 2.1要求 1)遵循软件开发过程的基本规范;能灵活应用,初步具备运用C程序解决实际问 题的能力。 2)运用结构化程序设计方法,按照课程设计题目要求,完成包括需求分析、数据 结构设计、概要设计、详细设计、编写代码、调试和测试C程序等过程。 3)学会利用数组、结构体、链表进行相关信息表示。 4)功能模块划分清晰,系统结构图符合功能操作要求,且有详尽的功能描述 5)各主要功能模块有详尽的流程图及描述,用函数的形式实现,且调用入口、功 能、出口等关系正确。 6)所设计的C程序较好的可读性和可靠性;程序书写风格规范,注释清晰。 7)界面友好(良好的人机互交),凡需要输入信息时,都有较详尽的提示信息,并 对输入信息有较完善的值域分析。 8)程序经上机调试通过,不应出现语法型、功能型错误,并获得满意的结果。 9)学会通过各功能性测试用例测试程序的能力,尽可能避免原则性错误的出现。 10)掌握编写、调试和测试C语言程序的基本技巧,充分理解结构化程序设计的基 本方法。 11)C语言课程设计报告的内容反应实际设计过程,且符合格式要求,无抄袭现象。 2.2任务描述 (根据具体的题目来写这部分,不要照抄)

c语言课程设计报告学生成绩信息管理系统源代码

实验报告 一、问题陈述及其需求分析 (一)问题陈述 学生信息管理系统是对学生信息的基本管理,其中包括以下及模块: (1)增加一个学生的信息(需输入要增加学生的所有信息); (2)统计本班学生总人数及男女生人数。 (3)分别按照学号查找学生的信息;若找到则输出该学生全部信息,否则输出查找不到的提示信息。 (4)按学号对所有学生信息排序,并输出结果; (5)删除一个学生的信息(需指定要删除学生的学号);同时显示删除后的结果。( 二) 功能需求分析 学生信息管理系统设计 学生信息包括:学号,姓名,性别,出生年月,电话 使之提供以下功能: 1、系统以菜单方式工作 2、建立链表并显示 3、插入新的学生信息 4、删除某学号的学生信息 5、查找某学号的学生信息 6、对学生信息排序 7、统计学生人数 8、输出学生信息 二总体设计 (一)模块 依据程序的数据结构,描述该程序的层次结构,如下图:

1、建立链表并显示 void createlist(struct stucode **r); 2、插入新的学生信息 void insert(struct stucode **r); 3、删除某学号的学生信息 void del(struct stucode **r); 4、查找某学号的学生信息 void search1(struct stucode *r); 5、对学生信息排序 void sort(struct stucode **r); 6、统计学生人数 void search2(struct stucode *r); 7、输出学生信息 void out(struct stucode *r); 1 建立链表并显示 2 添加学生信息 3 删除学生信息 息 4 按学号查找学生信 5 对学生信息排序 6统计学生人数 7输出学员信息 8 学生信息写入文件 0退出 main() 菜单函数

《C语言程序设计》课程设计

《C语言程序设计》课程设计 刘力斌 一、意义和目的 C语言是光信息科学与技术专业的重要专业基础课。在很多后续课程中,都要使用到C语言。 学生通过对C语言的学习,已经具备了使用C语言编写简单的应用程序的能力。为了加强程序设计基础,开设课程设计课,使学生对C语言有更全面的理解,进一步提高运用C语言编程解决实际问题的能力,同时,为后续课程的学习夯实基础。 课程设计目的: 提高用程序设计解决实际问题的能力。 通过提出算法、指定输入输出来设计一个解决方案。 用C语言合理地开发两个简洁有效的程序代码来实现该设计。 测试程序是否工作且满足设计指标并评价其效率。 二、目标 完成本课程设计的学生应能在以下几方面证明你们的能力: A、分析问题。各种简单的与计算机有关的案例中所需要的输出结果,把大问题分解成小问题,使用自顶向下或类似设计方法给出模块化或计划。 B、提出算法执行特定任务。模块表示为算法,使用自顶向下或伪代码等设计手段将模块细化成更详细的成分,清楚地表明顺序、选择和重复等到控制结构。 C、把一个算法变为用C语言编写的结构化程序。 D、用合适的测试方法检查程序是否符合最初的要求,为不合适数据设计错误陷阱,并提供错误信息来帮助用户。 E、写出清晰的用户文档,确保用户或者通过遵循程序中的指示或者使用程序设计者编写的文档能成功地运行程序。 F、写出技术文档,对程序中主要标示符的含义或作用加以说明,并提供一个完整的程序流程图。 G、调试程序、测试数据过程成功。

三、要求 参加本课程设计的学生,应当认真完成本课程设计的全部过程。并以最终课程设计成果来证明其独立完成各种实际任务的能力。从而,反映出理解和运用本课程知识的水平和能力。 完成课程设计应提交如下文档: ①程序的总体设计和算法分析。 ②技术文档 ③用户文档 ④源程序代码清单。 ⑤测试数据和测试过程记录。 ⑥遇到的问题及解决方法分析。 四、选题 每人一个题,具体题目可以参考附录。 第一题:链表操作题(包括建立、插入、删除、打印等)(参考教材); 第二题:文件操作,具体题目最好是自拟。 如果选题确实有困难的同学,可参考后面参考题目来完成本课程设计(成绩要影响)。 五、评价 评价是检测学生理解问题和解决问题能力的一个重要手段,教师将根据学生提交的一套文件中,严格检查以下各项任务完成情况: 1、课程设计文档是否齐全。 2、程序的用户文档 如果在程序执行期间有足够的指导信息显示在屏幕上显示,这些用户文档可以是很简要的,也许只限于解释如何装入并运行程序。 3、问题或任务的陈述(描述问题,而且问题是合理原始的、应当包括输 入、输出及其预期范围。)是否正确。 4、问题的解决方案采取由顶向下设计的形式,在适当的地方使用伪代 码,把整个解决方案划分成若干模块。 5、程序完成后的代码应当加以注解。最少应清楚指出每一个模块。 6、用于检查程序的测试数据,或者对一个控制程序给出测试的例程。测 试应考虑探索通过程序的几条路径,在合适的地方选择打印输出来。 7、程序的技术文档

C语言课程设计说明书模板

辽宁工业大学 C语言程序设计课程设计(论文)题目:通讯录 院(系):软件学院 专业班级:汽电101班 学号: 101408018 学生姓名:罗广帅 指导教师:王彦华 教师职称:助教 起止时间:2010.12.20至2010.12.31

课程设计(报告)任务及评语

目录 第1章课程设计的目的与要求 (1) 1.1 课程设计目的 (1) 1.2 课程设计的实验环境 (1) 1.3 课程设计的预备知识 (1) 1.4 课程设计要求 (1) 第2章课程设计内容 (2) 2.1课程设计题目 (2) 2.2课程设计整体设计说明 (2) 2.2.1课程设计内容 (2) 2.2.2系统功能模块结构图........................... 错误!未定义书签。 2.2.3数据结构设计及用法说明 (2) 2.2.4程序结构(画流程图) (2) 2.2.5各模块的功能 (3) 2.3程序源代码及注释 (4) 第3章课程设计总结 (14) 参考资料 (15)

第1章课程设计的目的与要求 1.1 课程设计目的 本课程设计是计算机科学与技术专业重要的实践性环节之一,是在学生学习完《程序设计语言(C)》课程后进行的一次全面的综合练习。本课程设计的目的和任务: 1. 巩固和加深学生对C语言课程的基本知识的理解和掌握 2. 掌握C语言编程和程序调试的基本技能 3. 利用C语言进行基本的软件设计 4. 掌握书写程序设计说明文档的能力 5. 提高运用C语言解决实际问题的能力 1.2 课程设计的实验环境 硬件要求能运行Windows 2000/XP操作系统的微机系统。C语言程序设计及相应的开发环境。 1.3 课程设计的预备知识 熟悉C语言及C语言开发工具。 1.4 课程设计要求 1. 分析课程设计题目的要求 2. 写出详细设计说明 3. 编写程序代码,调试程序使其能正确运行 4. 设计完成的软件要便于操作和使用 5. 设计完成后提交课程设计报告

C语言课程设计---学生选课系统加源代码

C程序设计课程设计 题目:学生选课系统专业班级:通信工程1班姓名: 学号: 指导教师: 成绩:

摘要 学生选课系统是一个教育单位不可缺少的重要系统组成部分,它对于学校的决策者、管理者管理、查看课程来说都有至关重要,所以学生选课管理系统应该能够为广大学、师生提供充足的信息和快捷的课程选择过程,有助于学生选好每一门课程,此系统系统选课方便、快捷,用简单的界面来展示学生的选课信息,应用简单明了、存储量大、可靠性高、保密性好、寿命长、成本低等优点,可以极大的提高对学生信息管理的效率。利用C语言开发,实现了简单的学生课程信息的录入、修改、查询、删除等操作,并且能够利用文件系统长久的保留原始数据。

目录 一、需求分析 (1) 二、总体设计 (1) 三、详细设计 (2) 1、数据定义...................................................... 错误!未定义书签。 2、算法流程图 (2) 四、编码 (6) 五、调试 (7) 六、设计总结 (10) 致谢 (11) 参考文献 (12) 附录 (13)

一、需求分析 语言文字描述系统要做什么 数据结构可用结构体,包括课程和选修两个结构体,其中课程结构体成员结构体成员包括课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期。选修结构体成员包括学号,课程编号,该结构体的建立主要是为了查询某门课程学生选修情况。 二、总体设计 系统由哪几个功能模块构成,给出功能模块图。C 中模块化的工具是函数 根据上面的需求分析,可以将这个系统的设计分为如下七大模块: 选课模块、按学分查找模块、按编号查找模块、查看课程模块、查看选课情况模块、课程输入模块、完成选择模块。 菜单选择模块 录入学生信息 学生选课 系统信息查看及储存 退出系统 完成选择模块 学生信息 管 理 录入课程信息 课程 管理

C语言课程设计大作业

郑州大学 课程报告 课程名称:C语言程序设计 专业班级:(15)班 学生姓名:谢* 学号:20127611*** 任课教师:赵** 学期:2012-2013-2 课程报告任务书

开发一个通讯录管理系统,基本信息包括:编号、姓名、性别、出生年月、固定电话、手机号、电子邮件等基本信息(也可以根据自己情况进行扩充)。使之能提供以下基 本功能: (1)通讯录等信息录入功能(注:数据等要求用文件保存)--输入 (2)通讯录信息的浏览功能--输出 (3)查询功能(至少一种查询方式)、排序功能(至少一种排序方式): ①按电话号码进行查询②按姓名查询等③按照年龄排序④按姓名排序等 (4)通讯录条目的删除与修改等 扩展功能:可以按照自己的程度进行扩展。比如(1)简单的权限处理(2)报表打 印功能(3)模糊查询,如姓张的人员等;或者给定电子邮件的部分进行查询等(4) 给定指定年龄范围之内的查询等等。 总之,可以根据自己需求进行分析功能,成绩评定按照难度进行区分。 成绩评定教师: 一. 需求分析 1,具有数据的插入、修改、删除、显示和查询功能的电话簿管理程序。

2,数据包括:人名、工作单位、电话号码和E-MAIL地址。 3,可对记录中的姓名和电话号码进行修改。 4,可增加和删除记录。 5,可显示所有的保存记录。 6,可按人名或电话号码进行查询。 分析 建议采用结构体数组和文件系统实现。结构体成员包括人名、工作单位、电话号码和E-MAIL地址。 根据题目的要求程序应该采用结构体数组和文件系统实现。应该有文件的操作功能;在程序中应该包括输入、显示、删除、查询、添加、修改、保存、加载和退出的功能。 二、概要设计 (1).程序的模块组成及各个函数的功能: 程序的模块组成: 主函数:main(); 输出数据函数:printf(); 读取数据函数:scanf(); 显示记录函数:Display(); 删除记录函数:shanchu(); 查找记录函数:chaxun(); 自定义清屏函数:system(“cls”); 自定义输入函数:input(); 字符输入函数:getchar(); 修改数据函数:xiugai(); 保存数据函数:baocun(); 排序数据函数:paixu(); 各函数的主要功能: 输出数据函数:随时输出数据; 读取数据函数:读取输入的数据信息; 显示菜单函数:显示可供选择的主菜单;

中国地质大学C语言课程设计题目(附参考代码)

C语言课程设计题目 选题一(起评分100分) 高考招生录取程序 已知文本文件f1.txt中存放了某个省当年参加高考的1000个考生的数据(考号、姓名、性别和考试成绩),存放格式是每行存放一个考生的数据,每个数据之间用空格隔开。 假定当年该省的招生计划是:一类本科招生计划为10%;二类本科招生计划为15%;三类本科招生计划为20%;四类高职高专招生计划为25%。 请编写程序,实现以下功能: (1)划定各批次录取分数线,结果可屏幕显示,也可存入文件。 (2)能够统计各批次中男生,女生的录取比例。统计结果可屏幕显示,也可存入文件。 (3)确定每名学生的录取情况及录取批次。 (4)考生可以根据考号或姓名(支持重名)查询自己的成绩及录取情况; 说明: ①系统程序要有界面 ②存入文件的数据,每行存一种数据,每行之间的不同信息用空格分隔。 选题二(起评分85分) 《C语言课程设计与学习指导》第4章题目或第5章题目任选其一 成绩评定方式 平时考勤:20% 考试(即程序考核及检查):40% 实习报告:40% 违规违纪处理 出现以下6种情况中的任何一种,整个课程设计的成绩直接认定为不及格: 1.考勤抽查出现3次(含)不在的情况; 2.上机从事玩游戏、看电影等活动被抓住2次(含)的情况; 3.程序检查被认定为抄袭的情况; 4.实习报告被认定抄袭或雷同的情况; 5.不参加考试(即程序考核及检查)的情况 6.不交实习报告的情况。

C语言课程设计报告撰写要求 1 内容要求 整个报告由六个部分构成: ①课设题目 ②题目分析 ③设计思路 ④实现结果 ⑤课设总结 ⑥附录(源代码) 2 篇幅要求 ①-⑤合计不低于8页,⑥不低于8页。 篇幅没有上限要求,但原则上要求不超过25页。 标题字体字号格式:宋体,三号,加黑,单倍行距。 正文字体字号格式:宋体或Times New Roman,五号,单倍行距。 3 撰写要求 严谨出现抄袭。 严谨出现雷同。 报告出现抄袭或雷同的,整个课程设计成绩一律按不及格论处。 4 其它 封面格式附后。

相关文档
最新文档