中北大学C语言设计思想报告.docx

上传人:b****6 文档编号:5096088 上传时间:2022-12-13 格式:DOCX 页数:18 大小:25.43KB
下载 相关 举报
中北大学C语言设计思想报告.docx_第1页
第1页 / 共18页
中北大学C语言设计思想报告.docx_第2页
第2页 / 共18页
中北大学C语言设计思想报告.docx_第3页
第3页 / 共18页
中北大学C语言设计思想报告.docx_第4页
第4页 / 共18页
中北大学C语言设计思想报告.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

中北大学C语言设计思想报告.docx

《中北大学C语言设计思想报告.docx》由会员分享,可在线阅读,更多相关《中北大学C语言设计思想报告.docx(18页珍藏版)》请在冰豆网上搜索。

中北大学C语言设计思想报告.docx

中北大学C语言设计思想报告

c语言课程设计报告

课程名称:

c语言课程设计

教师姓名:

学生姓名:

学生学号:

20131001322

专业:

计算机控制技术

所在院系:

计算机科学系

日期:

2013年12月20号

目录

1.课程设计题目:

实验设备管理系统设计.....................................................................................3

2.程序设计思路.................................................................................................................................3

3.功能模块图.....................................................................................................................................4

4.数据结构设计.................................................................................................................................6

5.功能模块设计.................................................................................................................................6

6.程序代码.........................................................................................................................................8

7.程序运行结果...............................................................................................................................16

8.课程设计中遇到的困难及解决方法...........................................................................................22

9.总结心得.......................................................................................................................................22

10.致谢.............................................................................................................................................22

11.参考文献.....................................................................................................................................23

1.课程设计题目:

实验设备管理系统设计

【要求】

实验设备信息包括:

设备编号,设备种类(如:

微机、打印机、扫描仪等等),设备名称,设备价格,设备购入日期,是否报废,报废日期等。

试设计一实验设备信息管理系统,使之能提供以下功能:

(1)能够完成对设备的录入和修改。

(2)对设备进行分类统计。

(3)设备的查询。

【提示】

需求分析:

实验室设备信息用文件存储,提供文件的输入输出操作;要能够完成设备的录入和修改,需要提供设备添加和修改操作;实现对设备进行分类统计,需要提供排序操作;实现对设备的插叙需要提供查找操作,设备的查询可根据设备编号、设备种类、设备名称、设备购入日期、正常设备(未报废的)等多种方式查询;另外还要提供键盘式选择菜单以实现功能选择。

2.程序设计思路

根据需求分析,可将系统的设计分为四个模块:

输入模块,修改模块,统计模块,查询模块;实验室设备信息用文件存储,提供文件的输入输出;建立实验设备信息结构体,结构体成员包括:

设备编号,设备种类,设备名称,设备价格,设备购入日期,是否报废,报废日期。

(1)主函数设计

主函数提供输入,处理,输出部分的函数调用,其中各功能模块用菜单方式选择,即主函数里显示一系列功能选项,判断后,是否调用个功能模块用了switch()选择功能。

(2)各功能模块设计

输入模块:

定义了文件型指针变量,打开文件输入用户要输入设备的个数,输入设备的各项详细信息,将输入的信息存储到文件的中;用到fopen(文件名,使用文件方式);fclose(文件指针);fprintf(文件指针,格式字符串,输出列表)。

修改模块:

输入要修改的设备编号,是否找到该设备资料,如果找到记录,调用修改函数,对该设备的信息进行修改;如果没有找到,返回主菜单。

在寻找的过程中用了字符串的比较strcmp(字符串1,字符串2),如果字符串1=字符串2,则函数值为0。

如果字符串1>字符串2,则函数值为一个正整数。

如果字符串1<字符串2,则函数值为一个负整数。

比较时,只能用if(strcmp(str1,str2)>0)。

还用到feof()若到文件末尾,函数值为“真”。

统计模块:

打开文件,并对文件中的设备信息进行统计计算类型数目,总价格,平均价格;此程序中将char类型转化成double型,用到了pc=atof();fscanf(文件指针,格式字符串,输入列表);同样也用到了字符串的比较strcmp(字符串1,字符串2),feof()。

查询模块:

询问用户想要选择的搜索方式,分三种类型查询(设备名称,设备型号,设

备价格),再用switch()的选择功能,每一种类型有用到了feof()控制循环,字符串的比较strcmp(字符串1,字符串2),

3.功能模块图

(1)输入模块

(2)修改模块

(3)统计模块

(4)查询模块篇二:

中北大学c语言答案

一、选择题

cdccdabdaca

二、填空题

1.二进制数、程序存储控制

2.733b59

3.111010116575

4.11011010.1

5.10241024

6.802bffd4ffd54f4f4f

7.6553532768-1-63768

8.ascii码

9.硬件系统、软件系统

10..c.obj.exe

11.英文字母、数字、下划线、字母或下划线

12.main()、函数体

第二章

一、选择题

bcacaabadd

二、填空题

1.a=-0438a=b-a=3

3.a、\n\t

4.452、5、2、0、26

5.2011,9,2021

6.(x*x+y*y)/(x-y)3.14*r*r*r*3/48*(x+9*(10*(7-y)+20))

第三章

一、选择题

dbdacabcc

二、填空题

5.scanf(“%f”,&r);printf(“%f”,s);

一、选择题

dbcdadaa

二、填空题

4.c=getchar()c>=?

0?

&&c<=?

9?

c>=?

a?

&&c<=?

z?

c>=?

a?

&&c<=?

c?

5.op?

-?

break

6.x:

yu:

z

7.c==tc>tc>=50

第五章

一、选择题

aadcadaadd

二、填空题

6.m%10m/10

7.f*q

8.fac=fac*(i+1)*(i+2)fabs(xn/fac)

9.s=s+js==i

10.i<10j%3!

=0

11.j=1k<=6

12.100-5*i-2*jk>=0

第六章

一、选择题

cdbdbddaabaa

二、填空题

7.intfun(int);returnm;

8.doubles1,s2;returnv;

第七章

一、选择题

abcaaa

二、填空题

6.num=*b;num=*c;dca篇三:

c语言中北大学

1,输入两个正整数m和n,求其最大公约数和最小公倍数。

main()

{inta,b,num1,num2,temp;

printf(pleaseinputtwonumbers:

\n);

scanf(%d,%d,&num1,&num2);

if(num1{temp=num1;

num1=num2;

num2=temp;}

a=num1;b=num2;

while(b!

=0)

{temp=a%b;

a=b;

b=temp;}

printf(gongyueshu:

%d\n,a);

printf(gongbeishu:

%d\n,num1*num2/a);

}

2.输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。

#includestdio.h

main()

{charc;intletters=0,space=0,digit=0,others=0;

printf(pleaseinputsomecharacters\n);

while((c=getchar())!

=\n){if(c>=a&&c<=z||c>=a&&c<=z)letters++;elseif(c==)

space++;

elseif(c>=0&&c<=9)

digit++;else

others++;}

printf(allinall:

char=%dspace=%ddigit=%dothers=%d\n,letters,

space,digit,others);

3.求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。

main()

{inta,n,count=1;

longintsn=0,tn=0;

printf(pleaseinputaandn\n);

scanf(%d,%d,&a,&n);

printf(a=%d,n=%d\n,a,n);

while(count<=n)

{tn=tn+a;

sn=sn+tn;

a=a*10;

++count;}

printf(a+aa+...=%ld\n,sn);}

4.利用条件运算符的嵌套来完成此题:

学习成绩>=90分的同学用a表示,60-89分之间的用b表示,60分以下的用c表示。

main()

{

intscore;

chargrade;

printf(pleaseinputascore\n);

scanf(%d,&score);

grade=score>=90?

a:

(score>=60?

b:

c);

printf(%dbelongsto%c,score,grade);

5.}输入两个正整数m和n,求其最大公约数和最小公倍数。

main()

{inta,b,num1,num2,temp;

printf(pleaseinputtwonumbers:

\n);

scanf(%d,%d,&num1,&num2);

if(num1{temp=num1;

num1=num2;

num2=temp;}

a=num1;b=num2;

while(b!

=0)

{temp=a%b;

a=b;

b=temp;}

printf(gongyueshu:

%d\n,a);

printf(gongbeishu:

%d\n,num1*num2/a);

}

6输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。

#includestdio.h

main()

{charc;

intletters=0,space=0,digit=0,others=0;

printf(pleaseinputsomecharacters\n);

while((c=getchar())!

=\n){

if(c>=a&&c<=z||c>=a&&c<=z)

letters++;

elseif(c==)

space++;

elseif(c>=0&&c<=9)

digit++;

else

others++;

}

printf(allinall:

char=%dspace=%ddigit=%dothers=%d\n,letters,

space,digit,others);}

7.有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?

都是多少?

main()

{inti,j,k;

printf(\n);

for(i=1;i<5;i++)for(j=1;j<5;j++)

for(k=1;k<5;k++)

{if(i!

=k&&i!

=j&&j!

=k)printf(%d,%d,%d\n,i,j,k);}}

8.一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?

第10次反弹多高?

main()

{floatsn=100.0,hn=sn/2;intn;

for(n=2;n<=10;n++){sn=sn+2*hn;hn=hn/2;}

printf(thetotalofroadis%f\n,sn);

printf(thetenthis%fmeter\n,hn);}

9.有一分数序列:

2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。

main(){intn,t,number=20;

floata=2,b=1,s=0;

for(n=1;n<=number;n++){s=s+a/b;

t=a;a=a+b;b=t;}printf(sumis%9.6f\n,s);}

10.求1+2!

+3!

+...+20!

的和

main(){floatn,s=0,t=1;

for(n=1;n<=20;n++)

{t*=n;

s+=t;}

printf(1+2!

+3!

...+20!

=%e\n,s);}

11.把字符串a复制给字符串b。

main(){chara[]=”helloworled”:

charb[20];

char*p1,*p2;

p1=a;p2=b;

for(;*p1!

=’\0’;p1++,p2++)

*p2=*p1;

*p2=’\0\;

printf(“a;%s\nb:

%s\n”,a,b);}

12.编程c语言1/2+3/4+4/5....+99/100

#include<stdio.h>voidmain()

{intsum=0,n;for(n=1;n<=100;n++){if(n%2==1)sum=sum+n;

elsesum=sum-n;}

printf(sum=%d\n,sum);}

13.求解方程ax2+bx+c=0的值

#include<stdio.h>

#include<stdlib.h>

#include<math.h>

intmain()

{floata,b,c,delta;

printf(pleaseinputabc:

);

scanf(%f,&a);

scanf(%f,&b);

scanf(%f,&c);

if(a==0&&b==0&&c==0)

printf(000\n);

else

{delta=(float)b*b-4*a*c;

if(delta<0)

printf(111\n);

else

printf(thetworoots

are%f%f\n,(sqrt((float)delta)-b)/(2*a),(-sqrt((float)delta)-b)/(2*a));}

}

14.输出9*9乘法表

#include<stdio.h>

voidmain()

{inti=1;

for(i;i<=9;i++)

{printf(“%d*%d=5d”,i,j,i*j);}

printf(“\n”);}}

15.输入三个数字,输出他们的最大值。

#include<stdio.h>

voidmain(){inta,b,c,d;scanf(%d,%d,%d,&a,&b,&c);

d=max(a,b,c);printf(max=%d,d);getch();}

intmax(intx,inty,intz){intu;

if(x>=y&&x>=z)u=x;

elseif(y>=x&&y>=z)u=y;elseu=z;return(u);

16.求两点间的距离

#include<stdio.h>

#include<math.h>

floatdis(floatx1,floaty1,floatx2,floaty2)

{return(sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)));}voidmain()

{floatx1,x2,y1,y2;printf(input(x1,y1):

);scanf(%f%f,&x1,&y1);

printf(input(x2,y2):

);scanf(%f%f,&x2,&y2);

printf(thedistanceis%f\n,dis(x1,y1,x2,y2));}

17.求n!

#include<stdio.h>longintfun(longx)

{if(x==1l)return1;elsereturn(fun(x-1)*x);}

voidmain(){longintn;printf(enteranumber(n>0):

);

scanf(%ld,&n);printf(%ld!

=%ld\n,n,fun(n));}

1.,输入两个正整数m和n,求最大公约数和最小公倍数

2.输入一行字符,统计出其中英文字母、空格、数字和其它字符的个数

3.求s=a+aa+aaa+aaaa+aa...a的值,。

4.成绩>=90分a表示,60-89分b表示,60分以下的用c表示。

5.输入两个正整数m和n,求其最大公约数和最小公倍数

6.分别统计出其中英文字母、空格、数字和其它字符的个数

7.有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?

都是多少?

8.一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10

次落地时,共经过多少米?

第10次反弹多高?

9.有一分数序列:

2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和

10.题目:

求1+2!

+3!

+...+20!

的和\

11..把字符串a复制给字符串b。

12.编程c语言1/2+3/4+4/5....+99/100

13.求解方程ax2+bx+c=0的值

14.输出9*9乘法表

15..输入三个数字,输出他们的最大值

16..求两点间的距离篇四:

中北大学软件学院2013届c语言程序设计实训题目

c语言程序课程设计题目

(孟龙)题目1:

年历显示

功能要求:

(1)输入一个年份,输出是在屏幕上显示该年的日历。

假定输入的年份在1940-2040年之间。

(2)输入年月,输出该月的日历。

(3)输入年月日,输出距今天还有多少天,星期几,是否是公历节日。

(周壮)题目2:

小学生测验

面向小学1~2年级学生,随机选择两个整数和加减法形成算式要求学生解答。

功能要求:

(1)电脑随机出10道题,每题10分,程序结束时显示学生得分;

(2)确保算式没有超出1~2年级的水平,只允许进行50以内的加减法,不允许两数之和或之差超出0~50的范围,负数更是不允许的;

(3)每道题学生有三次机会输入答案,当学生输入错误答案时,提醒学生重新输入,如果三次机会结束则输出正确答案;

(4)对于每道题,学生第一

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 军事

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1