C 程序课程设计

发布 2022-09-30 18:51:28 阅读 4464

课程设计说明书。

题目:b类课程设计。

姓名:学号:

班级:机械电子工程1501班。

2016 年 6 月23日。

课程设计任务书。

课程设计评分表。

目录。第一题 6

第二题 7第三题 10

第四题 12

第五题 14

第六题 16

第七题 18

第八题 20

第九题 22

第十题 24

第一题。编一程序模拟整数加、减、乘、除四则运算。当你在键盘上输入5+6,后,程序将输出=11,当你在键盘上输入11*7后,程序将输出=77。

分析:该题对输入的运算进行计算,有加、减、乘、除四种判断,可以采用if-else语句或者是switch语句,设一个字符变量x,对x进行判断,然后再给出不同的输出,我们用if-else语句编程实现。

流程图:源**:

#include

using namespace std;

int main()

float a,b;

char x;

cout<<"请输入算式:">a>>x>>b;

if(x=='cout<<"else if(x=='

cout<<"else if(x=='

cout<<"else if(x=='

cout<<"else

cout<<"error!!!return 0;

编写及调试过程中遇到的问题及解决办法:

在编写中,对字符变量的引用不熟练,对双引号和单引号的分辨不清楚。经过查书,对这些细节上的问题统一进行思路的梳理。

第二题。运输公司对用户计算运费。路程(s)越远,每公里运费越低。标准如下:

设每公里每吨货物的基本运费为p(price的缩写),货物重为w(weight的缩写),距离为s,折扣为d(discount的缩写),则总运费f(freight的缩写)的计算公式为f = p * w * s * 1 - d%)。

分析:路程s能取的范围很广,为使用switch语句,应将s的区间映射到有限的几个整数,然后建立整数与折扣的关系,当s=250的时候取到最小折扣点,将路程s整除250可得。

s<250对应0

250≤s<500 对应1

500≤s<1000 对应2,3

1000≤s<2000 对应4,5,6,7

2000≤s<3000 对应8,9,10,11

3000≤s对应12,13……

流程图:#include

using namespace std;

int main( )

int c,s;

float p,w,d,f;

cout<<"please enter p,w,s:";

cin>>p>>w>>s;

if(s>=3000)

c=12;

elsec=s/250;

switch (c)

case 0:d=0;break;

case 1:d=2;break;

case 2:

case 3:d=5;break;

case 4:

case 5:

case 6:

case 7:d=8;break;

case 8:

case 9:

case 10:

case 11:d=10;break;

case 12:d=15;break;

f=p*w*s*(1-d/100.0);

cout<<"freight="

编写及调试过程中遇到的问题及解决办法:

编写是用switch语句,找路程s与整数对应的关系时有些困难,仔细观察这几个数的特点,最后找到了一个合适的数250。

第三题。从键盘输入若干个学生的体重(单位为千克,用负数结束输入),统计并输入最重、最轻的体重数和平均体重。

分析:题目的要求是计算出最重、最轻的体重数和平均体重,设变量min、max,运行时输入第一个体重,把该体重值分别赋值给min和max。然后进入while循环,每输入一个数就和min作比较,如果小于最小体重,就设它为最小体重(min),同时也要和max作比较,如果该数比max大,就要把它赋值给max;然后继续循环,直到所有学生的体重输入完毕,max和min就分别是最重、最轻的体重数。

计算平均体重是也要借助于上面的循环,先要将输入的体重数累加,然后除以学生的数量,所以要设变量sum和n的初值都为零,每输入一个体重,累加到sum上,每循环一次i就加1,即i++。因为题目要求用负数结束输入,所以循环条件就是weight>=0。

流程图:源**:

#include

using namespace std;

int main()

int weight,min,max,**erage,n=0,sum=0;

cin>>weight;

min=weight;

max=weight;

while(weight>=0)

n++;sum=sum+weight;

if(weight>max)

max=weight;

if(weight min=weight;

cin>>weight;

**erage=sum/n;

cout

编写及调试过程中遇到的问题及解决办法。

编写源**时,对问题分析的不全面,导致对程序直接不会编写,区别while循环与do-while,在循环里加入if语句要注意区别。

第四题。编写程序,打印100到250中能被7整除的数。输出时每一行限定五个数。

分析:用求余运算%来判断整除,余数为0表示能整除,否则就意味着不能整除。设整数为m,如果m%7==0,m能被7整除,否则不能整除。

题目要求100到250之间的数,显然要用循环结构来实现。循环次数确定,即用for循环语句来实现,表达式1为‘m=100’,表达式2为‘m<=250’,表达式3为‘m++’

流程图:源**:

#include

using namespace std;

int main()

int i=0,m;

for(m=100;m<=250;m++)

if(m%7==0)

cout<<"n";

return 0;

编写及调试过程中遇到的问题及解决办法:

输出时一行5个数有点困难,把这个的if判断也要放在for循环里,每输出一个数i加1,最后对i进行判断。

第五题。完数问题:若有一数,其值等于它的因子之和,则该数称为完数。例如,6的因子为,而6=1+2+3,故6是完数。编程输出1000之内的所有完数及其因子。

分析: 要求出所有的完数,需要对1000之内的每一个数判断,这需要一个循环;还要求每个数的因数,用一个判断语句,还需要一个循环对所求数的因数求和,最后判断s和i是否相等,相等则输出一个完数。

C程序课程设计

题目1 学生成绩管理系统。要求 用结构体数组实现学生成绩管理系统设计,要求菜单式控制各种操作。根据给定的主函数,设计实现以下功能的子函数,完成整个程序的设计。1 初始化三个学生的信息。2 按照平均分排序。3 插入学生信息,插入后要求学号有序。4 追加学生信息,追加的学生作为最后一个学生。5 删除一个...

课程设计C 程序

数据库管理系统演示程序 内部数组 单数据表 6字段 3种类型。输入 查询 删除 保存 导入 排序。多模块。特色1 内部数组 内部记录个数,各模块相互独立。特色2 系统的 站功能,大大提高增减记录运算速度。特色3 排序采用冒泡法,算法简单。特色4 启动时自动导入原有数据表 退出时自动保存。特色5 功能...

C语言程序课程设计

重庆理工大学。课程设计。课程 c语言程序设计课程设计 题目职工信息管理系统设计。院系名称数学与统计学院。班级 110010101 学生姓名杨秋燕学号 11001010128 指导教师陈媛李娅。评阅教师。时间 2011 6 23 1 问题描述。5 1题目一 职工信息管理系统设计。职工信息包括职工号 姓...