c语言课程设计总结c语言程序设计报告
c语言课程设计总结 时间:2022-02-26 阅读:(
)
学生成绩记录薄 c语言 课程设计报告
去百度文库,查看完整内容> 内容来自用户:yezi20080824 计算机科学与技术系 课程设计报告 2012~2013学年第二学期 课程|面向过程综合设计| 课程设计名称| C语言成绩簿| 学生姓名|学号|专业班级|指导教师| 2013年6月 第一章需求分析 1.1任务要求: 编制一个C语言成绩记录簿,每个学生信息包括:学号、姓名、C语言成绩。具体功能: (1)创建信息链表并以磁盘文件保存; (2)读取磁盘文件并显示输出所有学生的成绩; (3)按学号或姓名查询成绩; (4)添加成绩记录; (5)修改指定姓名或学号的学生的成绩并可存盘; (6)显示输出60分以下、60~79、80~89、90分以上各分数段的学生信息(可选项)。 1.2任务问题: 如何运用我们已学的c语言知识完成要求?如何制作相应界面?switch的应用该如何实现?如何完成相应的数组或链表的实现与应用?怎样进行相应的文件的读写? 1.3任务的解决步骤: 步骤: 1.建立一个主界面。 2.用switch语句进行分类讨论。 3.分别进入录入,查询,修改,学生分数段统计等子函数。 4.将子函数与主函数相连即可。 第二章算法设计 1、设计思想 2.1程序结构(流程图) No Yes 2.2重要的数据结构 2.3主要算法思想(文字描述) 本程序是非数值计算型算法设计,我设计出了通讯录管理系统的基本功能,并设计了简单的界面。本程序主要考察对自定义函数的熟悉程度,本程序主要使用的是链表的相关操作,包括结构体链表的创编程 给出一个不多于6位的正整数,求它是几位数,并分别打印出各位上的数字
main()
{
long int l,a,b;
int i,j,k;
scanf("%ld",&l);
while(l!=0){
if(l!=9999 && l!=999 && l!=99 && l!=9){a=l+1;}
if(a/10000!=0){printf("It has 5 digits");break;}
if(a/1000!=0){printf("It has 4 digits");break;}
if(a/100!=0){printf("It has 3 digits");break;}
if(a/10!=0){printf("It has 2 digits");break;} l=1;
if(l==1){printf("It has 1 digits");break;}
l=0;
}
if(l==0)printf("I guess it is 0 or 6 digits");
getch();C语言程序设计
#include<stdio.h>#include<stdlib.h>#include<string.h>
int s;
struct NODE{ char num[20]; char name[20]; int chinese; int english; int math; int totle;}a[100];
void Cin()//输入{ FILE *fp; int i; fp=fopen("E:\score.txt","r"); for(s=0,i=0;!feof(fp);s++,i++) { fscanf(fp,"%s%s%d%d%d%d",a[i].num,a[i].name,&a[i].chinese,&a[i].english,&a[i].math,&a[i].totle); } fclose(fp);}
void Cout()//输出{ int i; for(i=0;i<s;i++) { printf("%s %s %d %d %d %d
",a[i].num,a[i].name,a[i].chinese,a[i].english,a[i].math,a[i].totle); }}
void Search()//查找{ char b[20]; int i; printf("请输入学号或者姓名
"); scanf("%s",b); for(i=0;i<s;i++) { if(!strcmp(a[i].num,b)||!strcmp(a[i].name,b)) { printf("%s %s %d %d %d %d
",a[i].num,a[i].name,a[i].chinese,a[i].english,a[i].math,a[i].totle); break; } } if(i==s) printf("查无此人
");}
void PaiXu()//排序{ int i,j; NODE t; for(i=0;i<s-1;i++) { for(j=0;j<s-1-i;j++) { if(a[j].totle<a[j+1].totle) { t=a[j]; a[j]=a[j+1]; a[j+1]=t; } } }}
int main(){ int c; while(1) { printf("********************学生管理系统********************
"); printf("1、输入 2、显示
"); printf("3、排序 4、查找
"); printf("5、退出
"); printf("请输入功能键
"); scanf("%d",&c); switch(c) { case 1:Cin();break; case 2:Cout();break; case 3:PaiXu();break; case 4:Search();break; case 5:exit(0);break; } printf("********************学生管理系统********************
"); getchar(); getchar(); system("cls"); } return 0;}有问题可以讨论解决,本人QQ314156403.c语言课程设计论文
谈及C语言,我想凡是学过它的朋友都有这样一种感觉,那就是“让我欢喜让我忧。”欢喜的是,C语言功能非常强大、应用广泛,一旦掌握了后,你就可以理直气壮地对他人说“我是电脑高手!”,而且以后若是再自学其他语言就显得轻而易举了。忧虑的是,C语言犹如“少林武功”一般博大精深,太难学了。其实就笔者认为C语言并非是“difficult(困难)”的,只要你能理清思路,掌握它的精髓,那么自学C语言是一件非常容易且又其乐无穷的事。今天本人就与大家一起谈谈如何学习C语言或者说学习C语言应从哪几方面着手。 了解一些基本知识 一.C语言的背景 就个人感触,无论学习哪门语言首先应该了解一下自己所学语言的背景,也可以说它的发展史。 C语言属于高级程序语言的一种,它的前身是“ALGOL”。其创始人是布朗·W·卡尼汉和丹尼斯·M·利奇。C语言问世时是带有很大的局限性,因为它只能用于UNIX系统上。然而随着科学技术的进步,计算机工业的发展,C语言逐渐脱离UNIX。1987年美国标准化协会制定了C语言的国际标准,简称“ANSI C”,从此以后它便成为一种广泛使用的程序语言。C语言的优点很多,主要的有如下四点: 1.兼备高级语言与低级语言的优点,属于一种中间语言。 2.它是一种结构化程序设计语言,非常适合结构化程序设计。 3.有较丰富的数据类型、运算符以及函数供以选用。 4.直接与内存打交道,使修改、编辑其他程序与文档变得轻松,简单。 二.二大语系二种不同的学习方法 其实高级程序语言分为两大语系。例如:C,C++(C语言的扩展),QBASIC,VB(BASIC的可视化),JAVAs cript,Js cript ,VBs cript,JAVA,ASP,FOXPRO,PERL等等。一路是以C为主的程序语言,例如:JAVAs cript,JAVA等,这类语言在函数的调用,程序语句的书写,循环的控制都极为相似。另一路是以BASIC为首的程序语言,例如:FOXPRO,VBs cript等,此类语言同样具有相似的函数调用,程序语句书写以及循环控制,但与C语系是不同的。因此若是您以前是从QBASIC起家的,那么在学习C语言前最好是先洗洗脑,千万不要把学习BASIC的方法以及思路用在C身上。 讲到这里,我想大家对C语言一定有了感性认识吧!下面让我们再升华一下,全方位亲密接触它。学习C语言必须从以下四点入手,也就是说,只要你能掌握这四点的内容,那么基本上就大功告成了。 亲密接触C语言 一.输入输出 C语言的输入输出是非常严格的,或许在其他程序语言中我们可以不关心这个问题,但在C语言中,我们必须要彻底了解它。由于篇幅有限,因此笔者不能详谈,有兴趣的朋友可以参考由著名程序语言教授谭浩强先生主编,由清华大学出版社出版的《C程序设计第二版》。不过这里笔者还是有几点要简单的谈一下。 1.二维浮点数数组的输入 二维浮点数数组的输入(即:通过键盘给二维浮点数数组赋值)在很多专业书中都没有详细讲过这个问题。在给二维浮点数数组赋值时一定要先声明一个变量,接着把数值赋予这个变量,最后把变量数值赋予二维浮点数数组赋值。 2.注意输出格式中“%”后的字符 C语言的输出说复杂不复杂,因为常用的都很简单。可说不复杂也未必,记得曾在一次等级考前辅导我们C语言的教授讲道:“如果C语言要考得很难的话,根本不用考什么指针,只要专考输出格式,我想百分之九十九的学生都不及格。”当时我们无不认同。从这则事例中可以看出C语言的输出格式之复杂程度。因此大家在学习它时千万要学会辨别输出格式中“%”后的字符,每个字符都有其意义,也都有其作用。 二.优先级 说道优先级,有很多朋友都不是很了解或说很模糊。为此笔者想先通过一个例子让各位有个概念。什么叫优先级?比方说,我们在公交车终点站排座队时总会遇到70岁以上的老人不需要排队就能上车的情景,这就是优先级的涵义。C程序在运行时也象排队坐车一样,首先照顾那些优先级高的运算符,若是优先级相同,那么就象遇到两位(或两位以上)70岁以上的老人那样,让他们依次上车。但是C语言中的优先级的运算并不是千篇一律的,只能说是在大多数情况下,有些运算符的优先级有其自己的特点,因此这点大家要注意。例如条件表达式:条件?结果1:结果2,这种表达式很多朋友都知道,它的作用与IF…ELSE…条件判断语句很雷同,它运算时的优先级就不是按照C语言的规则来完成的。所以说对于优先级各位编程爱好者一定灵活掌握,不要死记硬背。 三.指针 就个人认为,C语言中的指针是最有特色的,当然也是最难学的。指针说穿了,其实是变量的一种表现形式,只不过这种变量记载的不是数值而是地址。就象一个人可以用姓名来表示自己,也可以用身份证号码来表示自己一样。笔者涉足编程已经有三年多了,在这期间曾经收到过很多网友的电子邮件询问学习指针的方法。就本人感触,学习指针最好是先学些计算机硬件工作的原理,例如:直接寻址,间接寻址等,只有了解了这些内容以后,你再学指针就比较容易理会,毕竟C语言是一门介于机器语言与高级语言中间的语言,没有一些硬件工作知识是很难领悟它的真谛的。然而事事并非绝对,如果你没有这些知识也不要紧,只要清楚知道以下笔者总结的二点再加上多练习便可: 1.指针是地址变量:它的值有两种:其一是地址,其二是内容。不同的表达方式可以取不同的值,这有点象一个家庭地址在不同的场合标识的人物也不同。例如:父母亲在他们的单位所登记的家庭地址就代表他们自己,而你在学校中登记的同样的家庭地址就代表你自己。 2.指针是可以运算的,它的运算法则与变量是一致的。 另外,在编写一个程序时,除非万不得已,一般不要使用指针变量。因为指针是比较复杂的,用不好就“当机”。所以笔者建议各位对于指针只要能看懂就行,当然如果你是准备参加考试的就另当别论了。 四.函数 虽说很多程序语言都有函数这一内容,但笔者觉得C语言的函数是最有魅力的。如果你能完全掌握C语言的函数,那么学习C++就不成问题了(C++是一门建立在C语言上,但又不同于C语言的高级程序语言,它增添了很多函数。)。学习函数的方法是比较简单的,只有两个字“牢记”,即:牢记函数的功能,牢记函数的用途以及如何输入输出。有些朋友认为,程序语言中的函数没有多大用处,其实这并不正确,函数从本质上讲是一段通用程序,用它可以帮助我们节约很多编程的时间,一个聪明的编程者在编写程序前往往总是先找自己所编写的程序中有多少是可以用函数来代替的。笔者曾经作过一个比较字符串的实验,用C语言中的strcmp()函数只要一句话,而自己编写的话30句话都摆不平,可想而知函数是多么实用呀!c语言程序设计报告
一、 项目背景介绍 这部分请对该项目作一介绍。包括项目的应用背景,项目主要内容。 二、 任务概述 这部分应结合自己的理解详细叙述整个项目的任务要求。 三、 项目流程 这部分应结合项目的要求,通过画通信的示例图或算法的流程图,详细叙述服务端和客户端之间数据通信的过程,服务端是怎样将文件传送给客户端、以及传送大文件时文件分块的设计流程等。 画图时请保证图片的清晰、整洁! 四、 负责部分 这部分主要叙述自己负责项目中的哪一部分、以及这一部分设计的方法。如在服务端文件是怎样被分块的,在客户端是怎样拼接的。 自己负责部分实现时采用的设计语言、工具等,也请说明! 画图时请保证图片的清晰、整洁! 五、 设计中遇见问题及解决方案 这部分是整个项目方案的重点,应详细叙述。这包括:对Winsock、C/S的理解,函数的理解,项目设计流程上问题出现及解决方法,代码编写、编译和调试中出现问题及解决方法等。 必要时请结合画图予以说明! 六、 项目完成情况及需进一步完善的地方 这部分主要结合<二项目概述>叙述整个项目的完成情况,哪些做了,哪些还没有做。若是自己还添加了一些功能如QQ聊天等,也请在这里说明! 七、 项目调试和结果 这部分包含必要的调试窗口截图、结果演示窗口截图。 八、 个人收获和总结 请详细叙述通过整个项目,自己的收获和总结! 九、 参考文献 即大家完成此项设计查找的资料名称、网站,格式如下: 萨师煊, 王珊. 数据库系统概论[M], 高等教育出版社, 2002年2月第三版. /html/200712/159/13120.htm 附 :代码 1、注若有包含文件如:#include <winsock2.h>,则不必将winsock2.h的代码附上; 2、主要是项目中自己编写的代码,程序中应有必要的注释
优惠码年付一次性5折优惠码:TYO-Lite-Open-Beta-1y-50OFF永久8折优惠码:TYO-Lite-Open-Beta-Recur-20OFF日本vpsCPU内存SSD流量带宽价格购买1核1.5G20 GB4 TB1Gbps$10.9/月购买2核2 G40 GB6 TB1Gbps$16.9/月购买2核4 G60 GB8 TB1Gbps$21.9/月购买4核4 G80 GB12 TB...
hostyun新上了香港cloudie机房的香港原生IP的VPS,写的是默认接入200Mbps带宽(共享),基于KVM虚拟,纯SSD RAID10,三网直连,混合超售的CN2网络,商家对VPS的I/O有大致100MB/S的限制。由于是原生香港IP,所以这个VPS还是有一定的看头的,这里给大家弄个测评,数据仅供参考!9折优惠码:hostyun,循环优惠内存CPUSSD流量带宽价格购买1G1核10G3...
百纵科技怎么样?百纵科技国人商家,ISP ICP 电信增值许可证的正规公司,近期上线美国C3机房洛杉矶独立服务器,大带宽/高配置多ip站群服务器。百纵科技拥有专业技术售后团队,机器支持自动化,自助安装系统 重启,开机交付时间 30分钟内交付!美国洛杉矶高防服务器配置特点: 硬件配置高 线路稳定 洛杉矶C3机房等级T4 平价销售,支持免费测试,美国独服适合做站,满意付款。点击进入:百纵科技官方网站地...
c语言课程设计总结为你推荐
发博客什么是发博文handoff怎么用Mac OS Yosemite Handoff,iOS8 Handoff怎么用魔兽世界密保卡WOW现在的密保卡怎么弄?手机屏幕厂商检测软件iphone哪个软件可以测手机屏幕坏点和触摸屏灵不灵安全加固linux安全加固应关闭什么服务洛阳小程序开发小程序这么火,怎么用小程序去赚钱大数据的分类什么是大数据,它有哪些特点hub和路由器的区别集线器(HUB)、交换机和路由器的区别是什么?vsan如何在一台esxi 5.5主机上搭建一整套VSAN集群的环境visualfoxpro教程visual foxpro的三种操作方式
国内ip代理 游戏服务器租用 a5域名交易 z.com 域名优惠码 地址大全 老左正传 hkg adroit 免费活动 服务器托管什么意思 电信虚拟主机 中国电信宽带测速网 33456 台湾谷歌 双线机房 万网主机管理 海外空间 hostease rewritecond 更多