计算机编程设计报告模板

合集下载

计算机程序编程课程设计报告

计算机程序编程课程设计报告

计算机程序编程课程设计实验报告实验一车辆违章管理系统(2-6页)实验二学生成绩管理系统(7-37页)学号:52112333班级:11级23班姓名:王晓宇2013年8月31日实验一车辆违章管理系统一.系统功能模块结构图1.车辆及违章信息的录入。

2.基于车牌号查询每台车辆的违章情况。

3.基于车牌号统计每台车辆的罚款总金额。

二、数据结构设计及用法说明用链表存储数据:typedef struct linknode /*结点定义,DT1是数据域,NEXT 是指针*/ {data1 dt1;struct linknode *next;}lnode;数据域定义如下: typedef struct Pe{ char vno[8]; /*车牌号*/ char name[15]; /*车主姓名*/ int times1; /*违章停车次数*/ int times2; /*闯红灯次数*/int times3;/*超速次数*/}PECCANCY; 用法说明:本程序使用结构体数据类型数组编程,首先申明结构体,数组上限为500个数据。

三.程序结构(画流程图)主函数1.创建数据2.显示输出3.查找、修改数据车辆及违章信息的录入 (数组循环输入)基于车牌号查询每台车辆的违章情况及罚款总金额开始车辆及违章信息的录入。

(循环体1继续输入0输入停止)基于车牌号查询每台车辆的违章情况。

基于车牌号统计每台车辆的罚款总金额。

(循环体输入车牌号查找,如果没有该信息则输出查无此人,如果有则输出相关信息及罚款总金额。

)四.各模块的功能1.录入车辆及违章信息建立数组,通过循环体为数组中每一组数据赋值。

1继续赋值,0输入停止。

2.输入车牌号查询其违章情况及罚款金额输入需要查询的车牌号,通过循环体将该车牌号与数组中的数据做比较,直到一组数据中的车牌号与所查找的车牌号相同,输出该车牌号所相关的信息及违章情况并计算出罚款总金额后输出。

若在数组中无此车牌号,则输出“未找到符合条件的车辆”,并结束。

编程的实验报告样板

编程的实验报告样板

一、实验目的1. 掌握编程基本概念和语法结构。

2. 熟悉编程开发环境的使用。

3. 提高程序设计能力和问题解决能力。

二、实验环境1. 操作系统:Windows 102. 编程语言:Python3.83. 开发环境:PyCharm Community Edition三、实验内容本次实验主要完成以下任务:1. 编写一个简单的计算器程序,实现加减乘除运算。

2. 编写一个学生信息管理系统,实现信息的增删改查功能。

3. 编写一个班级成绩分析程序,计算班级平均分、最高分、最低分等。

四、实验步骤1. 计算器程序(1)分析需求:计算器需要实现加减乘除运算,包括整数和浮点数运算。

(2)设计算法:根据需求,设计相应的算法,实现加减乘除运算。

(3)编写代码:```pythondef calculate(a, b, op):if op == '+':return a + belif op == '-':return a - belif op == '':return a belif op == '/':if b == 0:return "Error: Division by zero"else:return a / belse:return "Error: Invalid operator"# 测试print(calculate(10, 5, '+')) # 输出:15print(calculate(10, 5, '-')) # 输出:5print(calculate(10, 5, '')) # 输出:50print(calculate(10, 5, '/')) # 输出:2.0print(calculate(10, 0, '/')) # 输出:Error: Division by zeroprint(calculate(10, 5, '^')) # 输出:Error: Invalid operator```2. 学生信息管理系统(1)分析需求:学生信息管理系统需要实现信息的增删改查功能,包括学生姓名、学号、性别、年龄、成绩等。

计算机程序编程课程设计实验报告

计算机程序编程课程设计实验报告

计算机程序编程课程设计实验报告1车辆违章实验名称管理系统学院通信工程学院专业班级通信工程系11级25班姓名梁仙友学号52112507任课教师孙大洋实验时间2013/8/12验目的:使用C语言实现交通车辆违章管理系统的违章信息录入、违章情况查询、针对每台车辆统计罚款总金额等基本操作。

进一步巩固C语言的学习,培养一定的综合编程能力。

系统功能模块结构图:1.车辆及违章信息的录入2.基于车牌号查询每台车辆的违章情况3.基于车牌号统计每台车辆的罚款总金额数据结构设计及用法说明:数据结构定义如下:typedef struct Pe{char vno[8]; /*车牌号*/char name[15]; /*车主姓名*/int times1; /*违章停车次数*/int times2; /*闯红灯次数*/int times3; /*超速次数*/}PECCANCY;需要处理的基础数据:设违章种类分为违章停车、闯红灯、超速等三种。

设违章停车每次罚款100元、闯红灯每次罚款200元、超速每次罚款500元。

需处理的车辆及违章基本信息包括:车牌号、车主姓名、违章停车次数、闯红灯次数、超速次数.程序结构(画流程图):开始声明变量i=0,j,b,k;数组m[10];结构体变量PECCANCY PE[500];输入车牌号PE[i].vno,车主姓名PE[i].name,违章停车次数PE[i].times1,闯红灯次数PE[i].times2,超速次数PE[i].times3,输入kk为1返回输入,为2输出输入查找的车牌号,车主姓名,违章停车次数,闯红灯次数,超速次数a<=im=PE[a].vno输出该车主的违章情况没有此人信息结束源程序如下:#include<stdio.h>#include<string.h>typedef struct车牌号*/name[15]; /*车主姓名*/违章停车次数*/闯红灯次数*/超速次数*/罚款总金额*/void main()int i=0,j,b,k;char m[10];PECCANCY PE[500]; /*结构体数组*/printf("如要输入请按1,并按回车\n");/*确认输入*/"%d",&j);printf("请输入车牌号,并按回车\n");scanf("%s",PE[i].vno);printf("请输入车主姓名,并按回车\n");scanf("%s",PE[i].name);printf("请输入违章停车次数,闯红灯次数,超速次数,并按回车\n");scanf("%d,%d,%d",&PE[i].times1,&PE[i].times2,&PE[i].times3);fine=100*PE[i].times1+200*PE[i].times2+500*PE[i].times3;/*计算罚款金额*/ i=i+1;printf("继续输入请按1,否则请按2\n");scanf("%d",&k);if (k==2) break;}}如要查询请按2,并按回车\n");请输入您要查询的车牌号,并按回车");scanf("%s",m);=0;a<=i;a++)p(m,PE[a].vno)==0) /*查询违章情况及罚款情况*/f("车牌号:%s\n",PE[a].vno);("车主姓名:%s\n",PE[a].name);printf("违章停车次数:%d\n",PE[a].times1); ("闯红灯次数:%d\n",PE[a].times2);超速次数:%d\n",PE[a].times3);("罚款总金额:%d\n",PE[a].fine);break;}没有您要查找的信息");测试数据及运行结果如下:实验心得通过该实验,我对结构体数组有了更深层次的了解,输入输出函数分支(if,if``else,if```else if```)和循环结构(for,while,do```while)的几种用法更加熟练。

c语言程序设计实验报告模板

 c语言程序设计实验报告模板

c语言程序设计实验报告模板篇一:C语言程序设计实验报告一、实验目的:1、掌握C语言的数据类型和变量的声明。

2、掌握不同类型数据之间赋值的规律。

3、掌握C语言的运算符和表达式的使用。

4、熟悉C程序的编辑、编译、连接和运行的过程。

二、实验内容:①输人程序:#includevoid main { int a, b; float d,e; char c1,c2; double f, g; long m, n; unsigned int p,q; a=61;b=62; c1='a';c2='b'; d=3.56;e=-6.87; f=3157.890121;g=0.123456789; m=50000;n=-60000; p=32768;q=40000; printf("a=%d,b=%d c1=%c,c2=%c d=%6.2f,e=%6.2f ",a,b,c1,c2,d,e); printf("f=%15.6f,g=%15.6f m=%ld,n=%ld p=%u,q=%u ",f,g,m,n,p,q); } ②运行此程序并分析结果(2)按习题4. 8要求编写程序题目为: 设圆半径r=l. 5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。

用scanf输人数据,输出计算结果口输出时要有文字说明,取小数点后两位数字。

程序:三、实验步骤:①输人程序:#includevoid main { int a, b; float d,e; char c1,c2; double f, g; long m, n;unsigned int p,q; a=61;b=62; c1='a';c2='b'; d=3.56;e=-6.87; f=3157.890121;g=0.123456789; m=50000;n=-60000; p=32768;q=40000; printf("a=%d,b=%d c1=%c,c2=%c d=%6.2f,e=%6.2f ",a,b,c1,c2,d,e); printf("f=%15.6f,g=%15.6f m=%ld,n=%ld p=%u,q=%u ",f,g,m,n,p,q); }②运行此程序并分析结果。

计算机程序设计报告

计算机程序设计报告

目录一、题目内容--------------------------------------------------2二、总体设计--------------------------------------------------22.1、题目分析--------------------------------------------22.2、系统功能模块图-----------------------------------32.3、程序结构图-----------------------------------------2三、数据结构设计--------------------------------------------3四、详细设计--------------------------------------------------34.1、主要代码--------------------------------------------34.2、函数功能--------------------------------------------54.3、算法描述--------------------------------------------54.4、流程图-----------------------------------------------6五、运行结果--------------------------------------------------6六、结论--------------------------------------------------------7七、结束语-----------------------------------------------------7八、参考文献--------------------------------------------------7一.题目内容编写程序,用牛顿迭代法求解方程x^3-x^2-1=0的一个实根。

计算机编程实验报告

计算机编程实验报告

计算机编程实验报告
《计算机编程实验报告》
摘要:
本实验报告旨在介绍计算机编程实验的设计、实施和结果分析。

通过本次实验,我们掌握了编程语言的基本知识和技能,提高了解决问题的能力和创新意识。

实验结果表明,通过编程实验可以有效地培养学生的计算机编程能力,为将来
的学习和工作打下良好的基础。

1. 实验设计
本次实验的设计目的是让学生通过编程实践,掌握编程语言的基本语法和逻辑
结构,培养学生的问题解决能力和创新思维。

实验内容包括编程环境的搭建、
基本语法的学习、编程逻辑的训练等。

2. 实施过程
在实验过程中,我们首先学习了编程语言的基本语法和逻辑结构,然后通过实
际的编程练习来巩固所学知识。

在实验过程中,我们遇到了许多问题,但通过
不断的尝试和思考,最终成功地完成了实验任务。

3. 实验结果分析
通过本次实验,我们掌握了编程语言的基本知识和技能,提高了解决问题的能
力和创新意识。

我们发现,通过编程实验可以有效地培养学生的计算机编程能力,为将来的学习和工作打下良好的基础。

4. 结论
综上所述,本次实验的设计和实施都取得了良好的效果。

通过编程实验,我们
不仅掌握了编程语言的基本知识和技能,还培养了解决问题的能力和创新意识。

我们相信,通过不断地实践和学习,我们的编程能力将会不断提高,为将来的
学习和工作打下坚实的基础。

总之,本次实验对我们的学习和成长都具有重要的意义,我们将继续努力学习,不断提高自己的编程能力,为将来的发展做好充分的准备。

编程课程设计报告

编程课程设计报告

编程课程设计报告一、教学目标本课程的教学目标是使学生掌握编程的基本概念和技能,能够运用编程语言解决实际问题;培养学生逻辑思维和创新能力,增强学生对计算机科学的兴趣和好奇心;提高学生团队合作和交流表达能力,培养学生的信息素养和责任感。

通过本课程的学习,学生将能够:1.理解编程的基本概念,掌握至少一种编程语言的基本语法和编程方法。

2.运用编程语言解决简单的实际问题,如数据处理、算法实现等。

3.培养学生逻辑思维和创新能力,提高学生分析问题和解决问题的能力。

4.增强学生对计算机科学的兴趣和好奇心,培养学生持续学习的动力。

5.培养学生团队合作和交流表达能力,提高学生在团队中的协作和沟通技巧。

6.提高学生的信息素养和责任感,使学生能够正确使用计算机资源,遵守网络安全规定。

二、教学内容本课程的教学内容主要包括编程基本概念、编程语言语法、基本编程方法、实际问题解决等。

具体安排如下:1.编程基本概念:计算机编程的意义、编程语言的分类和发展、编程的基本步骤等。

2.编程语言语法:选择合适的编程语言,介绍其基本语法、数据类型、运算符、控制结构等。

3.基本编程方法:顺序结构、分支结构、循环结构等编程方法的应用。

4.实际问题解决:通过实际案例,使学生能够运用所学知识和编程方法解决具体问题。

三、教学方法为了提高教学效果,本课程将采用多种教学方法,如讲授法、讨论法、案例分析法、实验法等。

具体应用如下:1.讲授法:教师对编程基本概念、语法和编程方法进行系统讲解,帮助学生建立知识体系。

2.讨论法:学生针对实际问题进行讨论,培养学生的逻辑思维和创新能力。

3.案例分析法:通过分析实际案例,使学生能够将理论知识应用于实际问题的解决。

4.实验法:安排实验室实践环节,让学生动手编写代码,提高学生的实际操作能力。

四、教学资源为了支持本课程的教学内容和教学方法,我们将选择和准备以下教学资源:1.教材:选用权威、实用的编程教材,为学生提供系统、全面的学习材料。

程序设计实验报告格式

程序设计实验报告格式

一、实验题目程序设计实验二、实验目的1. 熟悉程序设计的基本概念和原理。

2. 掌握编程语言的基本语法和编程技巧。

3. 提高编程能力和解决问题的能力。

三、实验环境1. 操作系统:Windows 102. 编程语言:Python3.83. 开发工具:PyCharm四、实验内容1. 编写一个简单的Python程序,实现以下功能:a. 输入两个整数,计算它们的和、差、积、商。

b. 输入一个字符串,统计其中英文字母、数字、空格和其他字符的数量。

c. 输入一个列表,输出列表中所有大于10的元素。

2. 使用面向对象的方法设计一个简单的图书管理系统,实现以下功能:a. 创建图书类,包含图书的属性(如书名、作者、出版社、价格)和方法(如显示图书信息)。

b. 创建图书管理类,包含添加图书、删除图书、查找图书、显示所有图书信息等功能。

五、实验步骤1. 编写Python程序实现以下功能:a. 输入两个整数,计算它们的和、差、积、商。

- 输入:a = 10, b = 5b. 输入一个字符串,统计其中英文字母、数字、空格和其他字符的数量。

- 输入:str = "Hello, World! 123"- 输出:英文字母 = 10,数字 = 3,空格 = 2,其他字符 = 3c. 输入一个列表,输出列表中所有大于10的元素。

- 输入:lst = [1, 5, 10, 15, 20, 25]- 输出:大于10的元素有:15, 20, 252. 使用面向对象的方法设计一个简单的图书管理系统:a. 创建图书类,包含图书的属性和方法。

- 图书类(Book):- 属性:书名、作者、出版社、价格- 方法:显示图书信息b. 创建图书管理类,包含添加图书、删除图书、查找图书、显示所有图书信息等功能。

- 图书管理类(BookManager):- 属性:图书列表- 方法:- 添加图书:向图书列表中添加新的图书- 删除图书:根据书名删除图书- 查找图书:根据书名查找图书- 显示所有图书信息:遍历图书列表,显示所有图书信息六、实验结果与分析1. 编写Python程序实现以下功能:a. 输入两个整数,计算它们的和、差、积、商。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

计算机编程设计报告题目:学生成绩管理系统专业名称:信息与计算科学班级:17信计(1)班学号:28 09 16 2326 34 20223姓名:刘奇熊鹏王策李进石锦锋杨炳坤李俊华指导教师:***组织单位:数理学院时间:2018.5.14—2018.5.27目录1.题目要求 (2)2. 题目分析 (2)3. 编写程序 (3)4.运行结果 (8)1.题目要求作为教师,考试之后对试卷进行分析和研究是必须要做的一项工作,下列图表某学校要求老师在考试之后填写的一个表格,并要求教师根据考试分数分布情况画出直方图。

下面就来解决这个实际问题。

某高校试卷分析表分类项目不及格60~69分70~79分80~89分90~100分平均分标准差人数86163511比例10.53%7.89%21%46%14%人数2011141912比例26%14%18%25%16%人数1213191913比例16%17%25%25%17%15.0419.1117.97期末考试卷面及格率:73.68% 期末考试卷面最高分:97 期末考试卷面最低分:28总评=平时*20%+考试*80% 学生总人数76名平时成绩期末成绩总评77.371.572.62. 题目分析(1)程序运行时,首先必须接收总评成绩的计算比例,应为针对不同的课程,平时成绩和期末考试成绩所占的比例可能不同。

(2)接收若干同学的平时成绩和期末考试成绩,计算出总评成绩,总评成绩的计算方法是“平时成绩所占比例乘以平时成绩+期末成绩所占比例乘以期末成绩”。

(3)根据考试成绩计算分数段的分布情况,画出直方图。

(4)计算平时成绩,期末成绩和总评成绩的平均分和标准差,以及期末考试卷面的及格率,最高分和最低分等。

由于针对一个学生有3个有关成绩的数据,因此最简单的方式就是使用结构体数组。

本题使用的存储结构如图14.1所示。

第一列为学生的学号,第二列为学生的平时成绩,第3列为学生的期末成绩,第4列为学生的总评成绩。

图 14.1本例使用模块化程序思想,将程序分解为几个函数,函数的功能和调用关系如图14.2所示。

图 14.2这里需要说明一下标准差的概念:标准差描述一组数据离散程度或个别差异程度。

例如A,B 两班学生各34人,其C 语言考试成绩都是80分,但A 班最高分为98分,最低42分,而B 班最高分数为86分,最低60分。

初步分析,两班考试成绩不一样,A 班学生的成绩个别差异程度大、水平参差不齐,而B 班学生成绩个别差异程度小,整齐度大些。

标准差就可以刻画一组数据的差异程度,标准差的计算公式: 错误!未找到引用源。

其中,错误!未找到引用源。

为某个同学的成绩;错误!未找到引用源。

为平均成绩。

在本例中,一个同学的情况可以用一个结构体变量来表示,100个同学的情况可以就可以用一个结构体数组来储存了。

3. 编写程序学生的结构体类型可以用类型定义表示为:1 80 90 872 70 80 773 80 77 664 88 69 75 5997884主函数accept_data()读入若干数据show_data()显示数据draw() 画直方图count() 计算show_data2() 显示数据2typedef struct student //学生数据结构体声明{int number; //学号int score[3]; //平时、期末和总评成绩}STUDENT;其中,number是学号或是排列序号(可以简单一点)。

score数组表示一个学生的3个成绩,score[0]为平时成绩,score[1]为期末成绩,score[2]为总评成绩// 计算机编程设计.c.cpp : 定义控制台应用程序的入口点。

#include <stdio.h>#include"string.h"#include"conio.h"#include"math.h"#define SIZE 300typedef struct student{int number;int score[3];}STUDENT;typedef enum boolen{False,True}FLAG;int accept_data(STUDENT stu[],int grade[]);void show_data(STUDENT stu[],int sum,int grade[]);void draw(int grade[]);void count(int *max,int* min,double *pass,double ave[],double f[],STUDENT stu[],int sum); void show_data2(int max,int min,double pass,double ave[],double f[]);int main(){int sum,max,min;double pass=0;int grade[11]={0};STUDENT stu[SIZE];double ave[SIZE],f[SIZE];sum=accept_data(stu,grade);show_data(stu,sum,grade);draw(grade);count(&max,&min,&pass,ave,f,stu,sum);show_data2(max,min,pass,ave,f);return 0;}int accept_data(STUDENT stu[],int grade[]){int i=0,sum=0,temp,a1,a2;FLAG flag;printf("\n请输入计算总评成绩时使用平时成绩与期末成绩的比例,用整数表示"); scanf("%d%d",&a1,&a2);while(i<SIZE){printf("\n请输入学号:");scanf("%d",&stu[i].number);if(stu[i].number==-1){sum=i;break;}printf("\n请输入学生平时成绩和期末成绩:");flag=True;while(flag==True){scanf("%d%d",&stu[i].score[0],&stu[i].score[1]);if(stu[i].score[0]<=100&& stu[i].score[0]>=0&&\stu[i].score[1]<=100&& stu[i].score[1]>=0)flag=False;elseprintf("\n\007错误数据! 请再次输入学生的平实成绩和期末成绩:");}temp=(int)(1.0*a1/100*stu[i].score[0]+1.0*a2/100*stu[i].score[1]);stu[i].score[2]=temp;temp=(stu[i].score[1])/10;if(temp==10)grade[10]++;elsegrade[temp+1]++;i++;}return sum;}void show_data(STUDENT stu[],int sum,int grade[]){int i,j;for(i=0;i<sum;i++){printf("%4d",stu[i].number);for(j=0;j<3;j++)printf("%4d",stu[i].score[j]);printf("\n");}for(i=1;i<=10;i++)printf("%d",grade[i]);}void count(int*max,int*min,double*pass,double ave[],double f[],STUDENT stu[],int sum) {int i,j,p_sum=0;int total[3];double temp;* max= * min=stu[0].score[1]; //设卷面成绩的最高分,最低分初值if(stu[0].score[1]>=60)p_sum++;for(i=1;i<sum;i++){if ((stu[i].score[1])>*max) //若高于最高分,将其覆盖*max=stu[i].score[1];if ((stu[i].score[1])<*min) //若低于最低分,将其覆盖*min=stu[i].score[1];if(stu[i].score[1]>=60)p_sum++; //计算及格的人数}* pass=(1.0*p_sum/sum)*100; //计算及格率for(i=0;i<=2;i++) //平时,期末,总评的初值设置为0total [i]=0;for(j=0;j<3;j++) //求平时,期末,总评3个总分for(i=0;i<sum;i++){total[j]=total[j]+stu[i].score[j];}for(j=0;j<3;j++) //求平时,期末,总评3个平均分{ave[j]=total[j]/sum;}for(j=0;j<3;j++) //求平时,期末,总评标准差{f[j]=0; //标准差初值设置为0for(i=0;i<sum;i++) //计算标准差{temp=stu[i].score[j]-ave[j];f[j]=f[j]+temp*temp;}f[j]=sqrt(fabs(f[j])/sum);}}void show_data2(int max,int min,double pass,double ave[],double f[]){int j;char str1[3][22]={"平时成绩平均分","期末成绩平均分","总评成绩平均分"}; char str2[3][22]={"平时成绩标准差","期末成绩标准差","总评成绩标准差"}; printf("\n 及格率=%6.2f%% 最高分=%d 最低分=%d\n",pass,max,min); for(j=0;j<3;j++)printf("\n %s=%6.2f %s=%6.2f\n",str1[j],ave[j],str2[j],f[j]);}void draw(int grade[]){int i,j,max,k,temp,x;char screen[22][44];printf("\n模拟直方图\n");max=0;for(i=1;i<=10;i++)if(grade[i]>max)max=grade[i];for(i=1;i<=10;i++){grade[i]=(int)(20.0*grade[i]/max+0.5);}for(i=0;i<=21;i++)for(j=0;j<=41;j++)screen[i][j]=0;for(i=0;i<=41;i++)screen[21][i]='-';screen[21][41]='X';screen[0][0]='Y';for(i=1;i<=21;i++)screen[i][0]='|';k=1;for(x=1;x<=10;x++,k=k+4){temp=grade[x];if(temp!=0)for(i=1;i<=temp;i++){for(j=1;j<=4;j++){screen[20-i+1][j+k]='*';}}}for(i=0;i<=21;i++){for(j=0;j<=41;j++)if(screen[i][j]!=0)printf("%c",screen[i][j]);elseprintf(" ");printf("\n");}printf("0 10 20 30 40 50 60 70 80 90 100\n"); getch();}4.运行结果例14.2运行正常数据产生的模拟直方图见图14.3.图 14.3例如程序中图形的分数分段方法是以10分为一档,因为这样的图形画出来更好看一些,很容易看出是不是正态分布。

相关文档
最新文档