ImageVerifierCode 换一换
格式:DOCX , 页数:18 ,大小:25.43KB ,
资源ID:5096088      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5096088.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(中北大学C语言设计思想报告.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

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

1、中北大学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. 课程设计题目:实验设备管理系统设计

2、 【要求】 实验设备信息包括:设备编号,设备种类(如:微机、打印机、扫描仪等等),设备名称,设备价格,设备购入日期,是否报废,报废日期等。试设计一实验设备信息管理系统,使之能提供以下功能: (1)能够完成对设备的录入和修改。 (2)对设备进行分类统计。 (3)设备的查询。 【提示】 需求分析:实验室设备信息用文件存储,提供文件的输入输出操作;要能够完成设备的录入和修改,需要提供设备添加和修改操作;实现对设备进行分类统计,需要提供排序操作;实现对设备的插叙需要提供查找操作,设备的查询可根据设备编号、设备种类、设备名称、设备购入日期、正常设备(未报废的)等多种方式查询;另外还要提供键盘式选择菜单以

3、实现功能选择。 2. 程序设计思路 根据需求分析,可将系统的设计分为四个模块:输入模块,修改模块,统计模块,查询模块;实验室设备信息用文件存储,提供文件的输入输出;建立实验设备信息结构体,结构体成员包括:设备编号,设备种类,设备名称,设备价格,设备购入日期,是否报废,报废日期。 (1)主函数设计 主函数提供输入,处理,输出部分的函数调用,其中各功能模块用菜单方式选择,即主函数里显示一系列功能选项,判断后,是否调用个功能模块用了switch()选择功能。 (2)各功能模块设计 输入模块:定义了文件型指针变量,打开文件输入用户要输入设备的个数,输入设备的各项详细信息,将输入的信息存储到文件的中;用

4、到fopen(文件名,使用文件方式);fclose(文件指针);fprintf(文件指针,格式字符串,输出列表)。 修改模块:输入要修改的设备编号,是否找到该设备资料,如果找到记录,调用修改函数,对该设备的信息进行修改;如果没有找到,返回主菜单。在寻找的过程中用了字符串的比较strcmp(字符串1,字符串2),如果字符串1=字符串2,则函数值为0。 如果字符串1>字符串2,则函数值为一个正整数。 如果字符串1<字符串2,则函数值为一个负整数。 比较时,只能用if(strcmp(str1,str2)>0)。 还用到feof()若到文件末尾,函数值为“真”。 统计模块:打开文件,

5、并对文件中的设备信息进行统计计算类型数目,总价格,平均价格;此程序中将char类型转化成double型,用到了pc=atof();fscanf(文件指针,格式字符串,输入列表);同样也用到了字符串的比较strcmp(字符串1,字符串2),feof()。 查询模块:询问用户想要选择的搜索方式,分三种类型查询(设备名称,设备型号,设 备价格),再用switch()的选择功能,每一种类型有用到了feof()控制循环,字符串的比较strcmp(字符串1,字符串2), 3. 功能模块图 (1) 输入模块 (2) 修改模块 (3)统计模块 (4)查询模块 篇二:中北大学c语言答案 一、选择题 c d c

6、c d a b d a c a 二、填空题 1二进制数、程序存储控制 273 3b 59 3. 1110101 165 75 4. 11011010.1 5. 1024 1024 6. 802b ffd4 ffd5 4f 4f 4f 7. 65535 32768 -1 -63768 8. ascii码 9. 硬件系统、软件系统 10 .c .obj .exe 11. 英文字母、数字、下划线、字母或下划线 12main()、函数体 第二章 一、选择题 b c a c a a b a d d 二、填空题 1 a=-0438 a=b-a=3 3 a、n t 4452、5、2、0、26 52011,9

7、,2021 6(x*x+y*y)/(x-y) 3.14*r*r*r*3/4 8*(x+9*(10*(7-y)+20) 第三章 一、选择题 d b d a c a b c c 二、填空题 5scanf(“%f”, &r); printf(“%f”, s); 一、选择题 d b c d a d a a 二、填空题 4. c=getchar() c>=?0?&&c<=?9? c>=?a?&&c<=?z? c>=?a?&&c<=?c? 5. op ?-? break 6. x:y u:z 7. c= =t c&

8、gt;t c>=50 第五章 一、选择题 a a d c a d a a d d 二、填空题 6. m%10 m/10 7. f*q 8. fac=fac*(i+1)*(i+2) fabs(xn/fac) 9. s=s+j s=i 10. i<10 j%3!=0 11. j=1 k<=6 12. 100-5*i-2*j k>=0 第六章 一、选择题 c d b d b d d a a b a a 二、填空题 7. int fun(int); return m; 8. double s1,s2; return v; 第七章 一、选择题 a b c a a a 二、填空题

9、6. num=*b; num=*c; d c a篇三:c语言 中北大学 1,输入两个正整数m和n,求其最大公约数和最小公倍数。 main() int a,b,num1,num2,temp; printf(please input two numbers: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:%dn,a); printf(gongbeishu:

10、%dn,num1*num2/a); 2.输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。 i nclude stdio.h main() char c;int letters=0,space=0,digit=0,others=0; printf(please input some charactersn); while(c=getchar()!=n) if(c>=a&&c<=z|c>=a&&c<=z) letters+; else if(c= ) space+; else if(c>=0&&c<

11、;=9) digit+;else others+; printf(all in all:char=%d space=%d digit=%d others=%dn,letters, space,digit,others); 3.求s=a+aa+aaa+aaaa+aa.a的值,其中a是一个数字。 main() int a,n,count=1; long int sn=0,tn=0; printf(please input a and nn); scanf(%d,%d,&a,&n); printf(a=%d,n=%dn,a,n); while(count<=n) tn=tn+a

12、; sn=sn+tn; a=a*10; +count; printf(a+aa+.=%ldn,sn); 4.利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用a表示,60-89分之间的用b表示,60分以下的用c表示。 main() int score; char grade; printf(please input a scoren); scanf(%d,&score); grade=score>=90?a:(score>=60?b:c); printf(%d belongs to %c,score,grade); 5.输入两个正整数m和n,求其最大公约数和最

13、小公倍数。 main() int a,b,num1,num2,temp; printf(please input two numbers: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:%dn,a); printf(gongbeishu:%dn,num1*num2/a); 6输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。 i ncl

14、ude stdio.h main() char c; int letters=0,space=0,digit=0,others=0; printf(please input some charactersn); while(c=getchar()!=n) if(c>=a&&c<=z|c>=a&&c<=z) letters+; else if(c= ) space+; else if(c>=0&&c<=9) digit+; else others+; printf(all in all:char=%d space

15、=%d digit=%d others=%dn,letters, space,digit,others); 7.有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? main() int i,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,%dn,i,j,k); 8.一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时, 共经过多少米?第

16、10次反弹多高? main() float sn=100.0,hn=sn/2;int n; for(n=2;n<=10;n+) sn=sn+2*hn; hn=hn/2; printf(the total of road is %fn,sn); printf(the tenth is %f metern,hn); 9.有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13.求出这个数列的前20项之和。 main()int n,t,number=20; float a=2,b=1,s=0; for(n=1;n<=number;n+)s=s+a/b; t=a;a=a+b;b=

17、t; printf(sum is %9.6fn,s); 10.求1+2!+3!+.+20!的和 main()float n,s=0,t=1; for(n=1;n<=20;n+) t*=n; s+=t; printf(1+2!+3!.+20!=%en,s); 11.把字符串a复制给字符串b。 main() char a=”hello worled”: char b20; char *p1,*p2; p1=a;p2=b; for(;*p1!=0;p1+,p2+) *p2=*p1; *p2=0; printf(“a;%sn b:%sn”,a,b); 12.编程c语言 1/2+3/4+4/5.+

18、99/100 #include<stdio.h> void main() int sum=0,n; for(n=1;n<=100;n+) if(n%2=1) sum=sum+n; else sum=sum-n; printf(sum=%dn,sum); 13.求解方程ax2+bx+c=0的值 #include <stdio.h> #include <stdlib.h> #include <math.h> int main() floata,b,c,delta; printf(please input a b c :); scanf(%f,&

19、amp;a); scanf(%f,&b); scanf(%f,&c); if(a=0 && b=0 && c=0) printf(000n); else delta = (float)b*b-4*a*c; if(delta<0) printf(111n); else printf(the two roots are %f %fn,(sqrt(float)delta)-b)/(2*a),(-sqrt(float)delta)-b)/(2*a); 14.输出9*9乘法表 #include<stdio.h> void main() i

20、nti=1; for(i;i<=9;i+) printf(“%d*%d=5d” ,i,j,i*j); printf(“n”); 15.输入三个数字,输出他们的最大值。 #include<stdio.h> void main() inta,b,c,d; scanf(%d,%d,%d,&a,&b,&c); d=max(a,b,c); printf(max=%d,d);getch(); int max(intx,inty,int z)int u; if(x>=y&&x>=z) u=x; else if(y>=x&&a

21、mp;y>=z) u=y; else u=z; return(u); 16.求两点间的距离 #include<stdio.h> #include<math.h> float dis(float x1,float y1,float x2,float y2) return (sqrt(x1-x2)*(x1-x2)+(y1-y2)*(y1-y2); void main() float x1,x2,y1,y2; printf(input(x1,y1):); scanf(%f%f,&x1,&y1); printf(input(x2,y2):); scanf(

22、%f%f,&x2,&y2); printf(the distance is %fn,dis(x1,y1,x2,y2); 17.求n! #include <stdio.h>longintfun(long x) if(x=1l) return 1; else return(fun(x-1)*x); void main() longint n; printf(enter a number(n>0):); scanf(%ld,&n); printf(%ld!=%ldn,n,fun(n); 1. ,输入两个正整数m和n,求最大公约数和最小公倍数 2. 输入一行字

23、符,统计出其中英文字母、空格、数字和其它字符的个数 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.求出这个

24、数列的前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:小学生测验 面向小学12年级学生,随机选择两个整数和加减法形成算式要求学生解答。 功能要求: (1)电脑随机出10道题,每题10分,程序结束时显示学生得分; (2)确保算式没有超出12年级的水平,只允许进行50以内的加减法,不允许两数之和或之差超出050的范围,负数更是不允许的; (3)每道题学生有三次机会输入答案,当学生输入错误答案时,提醒学生重新输入,如果三次机会结束则输出正确答案; (4)对于每道题,学生第一

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

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