c语言课程设计论文(C语言的用途,定位及特点(论文))

本文目录
- C语言的用途,定位及特点(论文)
- C语言的论文如何写呀
- c语言课程设计报告,100行左右,要注解
- 求完整C语言程序设计报告(商品订购系统)
- 计算机专业C与C++程序设计研究论文
- C语言程序设计报告的格式
- 课程设计论文怎么写啊
- 大一C语言课程设计,急求源代码和设计报告!!!!!!明天就要收了!!!!!
- c语言课程设计论文
- C语言大型课程设计!!!急需!!!
C语言的用途,定位及特点(论文)
1.2 C 语言的特点
C 语言发展如此迅速, 而且成为最受欢迎的语言之一, 主要因为它具有强大的
功能。许多著名的系统软件, 如DBASE Ⅲ PLUS、DBASE Ⅳ 都是由C 语言编写的。
用C 语言加上一些汇编语言子程序, 就更能显示C 语言的优势了, 象PC- DOS 、
WORDSTAR等就是用这种方法编写的。归纳起来C 语言具有下列特点:
1. C是中级语言
它把高级语言的基本结构和语句与低级语言的实用性结合起来。C 语言可以象
汇编语言一样对位、字节和地址进行操作, 而这三者是计算机最基本的工作单元。
2. C是结构式语言
结构式语言的显著特点是代码及数据的分隔化, 即程序的各个部分除了必要的
信息交流外彼此独立。这种结构化方式可使程序层次清晰, 便于使用、维护以及调
试。C 语言是以函数形式提供给用户的, 这些函数可方便的调用, 并具有多种循
环、条件语句控制程序流向, 从而使程序完全结构化。
3. C语言功能齐全
C 语言具有各种各样的数据类型, 并引入了指针概念, 可使程序效率更高。另
外C 语言也具有强大的图形功能, 支持多种显示器和驱动器。而且计算功能、逻辑
判断功能也比较强大, 可以实现决策目的。
4. C语言适用范围大
C 语言还有一个突出的优点就是适合于多种操作系统, 如DOS、UNIX,也适用于
多种机型。
C语言的论文如何写呀
论文写作,先不说内容,首先格式要正确,一篇完整的毕业论文,题目,摘要(中英文),目录,正文(引言,正文,结语),致谢,参考文献。学校规定的格式,字体,段落,页眉页脚,开始写之前,都得清楚的,你的论文算是写好了五分之一。
然后,选题,你的题目时间宽裕,那就好好考虑,选一个你思考最成熟的,可以比较多的阅读相关的参考文献,从里面获得思路,确定一个模板性质的东西,照着来,写出自己的东西。如果时间紧急,那就随便找一个参考文献,然后用和这个参考文献相关的文献,拼出一篇,再改改。
正文,语言必须是学术的语言。一定先列好提纲,这就是框定每一部分些什么,保证内容不乱,将内容放进去,写好了就。
参考文献去中国知网搜索,校园网免费下载。
合适采纳
c语言课程设计报告,100行左右,要注解
#include 《stdio.h》
#include 《string.h》
#include 《stdlib.h》
#define N 10
struct library {
int num;
char book_name;
char writer;
char sort_num;
char pub_company;
char pub_time;
char prise;
};
typedef struct library LIB; /*结构体的定义用于存放书籍及借书的信息*/
LIB lib;
FILE *fp; int all=0;
int menu(void);
void input(void);
void output(void);
void save(void);
void del(void);
void search(void);
void xiugai(void);
main()
{
for(;;)
{
switch(menu()) {
case 1:input();break;
case 2:output();break;
case 3:save();break;
case 4:search();break;
case 5:xiugai();break;
case 6:del();break;
case 7:sort();break;
case 0:exit(1);break;
} /*SWITCH定义函数输出*/
}
}
int menu(void)
{
char m;
int n; printf(" *********************WELCOME**********************\n\n\n\n\n");
printf("\t\t\t-----图书信息管理系统----\n");
printf("\t\t1:输入\n");
printf("\t\t2:输出\n");
printf("\t\t3:保存\n");
printf("\t\t4:查找\n");
printf("\t\t5:修改\n");
printf("\t\t6:删除\n");
printf("\t\t7:统计\n");
printf("\t\t0:退出\n");
printf("\t\tplease choose a operation(0-6):\n");
scanf("%s",m);
n=atoi(m);
return(n);
} /*主要界面*/
void input(void)
{
int i;
char m;
for(i=all;i《N;i++)
{
all++;
printf("请输入信息:\n");
printf("\t\t号码:\n");
scanf("%d",&lib.num);
printf("\t\t书名:\n");
scanf("%s",lib.book_name);
printf("\t\t作者:\n");
scanf("%s",lib.writer);
printf("\t\tsort_num:\n");
scanf("%s",lib.sort_num);
printf("\t\t出版商:\n");
scanf("%s",lib.pub_company);
printf("\t\t出版时间:\n");
scanf("%s",lib.pub_time);
printf("\t\t价格:\n");
scanf("%s",lib.prise);
a: printf("\t\tyes/哦了?\n");
printf("\t\t1:yes\n");
printf("\t\t2:no\n");
scanf("%s",m);
if(atoi(m)==1)
continue;
else if(atoi(m)==2)
return;
else
{
printf("\t\t错误!\n");
goto a;
} /* 输入条件查找*/
}
}
void output(void)
{
int i;
for(i=0;i《all;i++)
{
printf("\t\t%d\n",lib.num);
printf("%s\t\t%s\t\t%s\n",lib.sort_num);
printf("%s\t\t%s\t\t%s\n",lib.prise);
}
} /*输出书名作者出版时间价格等*/
void save(void)
{
int i;
if((fp=fopen("file.c","wb"))==NULL)
{
printf("can not open the file");
exit(1);
}
for(i=0;i《all;i++)
{
if(fwrite(&lib,sizeof(LIB),1,fp)!=1)
{
printf("can not write!");
exit(1);
}
} /*条件不符合时拒绝存储*/
fclose(fp);
}
void search(void)
{
int i,flag;
char m;
char name;
printf("\t\t请选择您的存储方式:\n");
printf("\t\t1:按书名!\n");
printf("\t\t2:按作者!\n");
scanf("%s",m);
i=atoi(m);
switch(i)
{
case 1:{
printf("\t\t请输入书名:\n");
scanf("%s",name);
flag=0;
for(i=0;i《N;i++)
{
if(strcmp(name,lib.book_name)==0)
{
printf("\t\t%d\n",lib.num);
printf("%s\t\t%s\t\t%s\n",lib.sort_num);
printf("%s\t\t%s\t\t%s\n",lib.prise);
flag=1;break;
}
}
if(flag==0)
printf("\t\t没有这本书!\n");
}
case 2:{
printf("\t\t请输入作者:\n");
scanf("%s",name);
flag=0;
for(i=0;i《N;i++)
{
if(strcmp(name,lib.writer)==0)
{
printf("\t\t%d\n",lib.num);
printf("%s\t\t%s\t\t%s\n",lib.sort_num);
printf("%s\t\t%s\t\t%s\n",lib.prise);
flag=1;break;
}
}
if(flag==0)
printf("\t\t没有这个作者!\n");
}
} /*查找图书按书名或作者并输出*/
}
void xiugai(void)
{
int i,flag;
char name;
printf("\t\t请输入要修改的书名 :\n");
scanf("%s",name); /*修改书名*/
flag=0;
for(i=0;i《N;i++)
{
if(strcmp(name,lib.book_name)==0)
{
printf("\t\t%d\n",lib.num);
printf("%s\t\t%s\t\t%s\n",lib.sort_num);
printf("%s\t\t%s\t\t%s\n",lib.prise);
printf("\t\tplease input xiugai’s the informations:\n");
printf("\t\tnum:\n");
scanf("%d",&lib.num);
printf("\t\tbook_name:\n");
scanf("%s",lib.book_name);
printf("\t\twriter:\n");
scanf("%s",lib.writer);
printf("\t\tsort_num:\n");
scanf("%s",lib.sort_num);
printf("\t\tpub_company:\n");
scanf("%s",lib.pub_company);
printf("\t\tpub_time:\n");
scanf("%s",lib.pub_time);
printf("\t\tprise:\n");
scanf("%s",lib.prise);
flag=1;break;
}
} /*增加图书*/
if(flag==0)
printf("\t\t没有找到啊!\n");
}
void del(void)
{
int i,j,flag;
char name;
printf("\t\t请输入要删除的书名:\n");
scanf("%s",name);
flag=0;
for(i=0;i《N;i++)
{
if(strcmp(name,lib.book_name)==0)
{
printf("\t\t%d\n",lib.num);
printf("%s\t\t%s\t\t%s\n",lib.sort_num);
printf("%s\t\t%s\t\t%s\n",lib.prise);
for(j=N;j》i;j--)
{
lib.num;
strcpy(lib.book_name);
strcpy(lib.writer);
strcpy(lib.sort_num);
strcpy(lib.pub_company);
strcpy(lib.pub_time);
strcpy(lib.prise);
flag=1;
printf("\t\t已经删除!\n");
break;
}
}
}
if(flag==0)
printf("\t\t没有这本书!\n");
} /*删除图书*/
求完整C语言程序设计报告(商品订购系统)
二十一世纪是计算机的世纪,是一个全新的世纪,计算机正逐步入侵我们的生活。刚开始接触计算机的时候感觉很新奇,那时觉得计算机很神秘,于是就产生了以后一定要熟练掌控计算机的念头。怀着这个愿望,我选择了计算机科学与技术为专业,有点兴奋又有点担忧,兴奋的是以后可以经常接触和了解计算机了,担忧的是我几乎没有任何基础,怕跟不上大家的步伐。有死党说我杞人忧天,结果证实我“忧”得不无道理。依然清楚地记得第一学期的上机课,每次上机老师都计分,所以经常手忙脚乱,用“惨不忍睹”来形容是最适合不过了。
紧张的一个学期过后,我们迎来了C语言的学习和一位风趣博学的老师。虽然刚开始学习C语言的时候大家都一筹莫展,但在老师的鼓励和教育下一步步地往前迈,很令人欣慰。在这之后的学习中仍然困难重重,然而“坚持到底就是胜利”这个坚定的信念激励着我们勇往直前。C语言课本的学习总算结束了,多么崎岖的一条学习之路。
大学的教育模式和中学有很大不同,从平常的课程安排和教学就可以知道,但是独立完成课程设计和写论文这种任务对我们来说无疑是一个很大的挑战。十七周开始进行课程设计,老师要求我们写一个计算器的程序,起初大家都被难倒了,然后开始一步步地摸索,先查找有关资料,画计算器的图形,写了好长一段程序才把图形搞定,可老师一看都不满意,要求我们用循环来做,“师”令如山,不得不听从,改吧,这一改又让大家死了好多脑细胞,感觉有点残忍。
完成了计算器的图形很有成就感,毕竟六月天坐在机子前不是令人愉快的事。接下来要进行计算器内部运算程序的设计,说实话,我根本就不知道要做,更不清楚如何着手,不是我妄自菲薄,独立完成这个程序设计根本就是不可能的事,可想而知只能寻求帮助了,但这个程序不是轻而易举就能完成的。有些积极的同学从网上搜索了好多有关这方面的资料,拼拼凑凑,进行了多次讨论,终于完成了这部分的设计,在同学的互相帮助下,大多数人都完成了最重要的一部分程序设计。
接下来就是用循环语句使按键上的数字有闪烁的功能,这个因为之前老师有过提点,所以相对简单一些。
完成了整个程序设计,这次课程设计就接近尾声了,不过最后的课程报告着实让我们苦恼了一两天。小小的抱怨一下应该没关系吧。
整个课程设计终于完成了,完成的好辛苦,好艰难,但还是顺利的完成了。我们付出了很多心血和汗水,但我认为我们得到的更多。如果没有同学们的互相帮助,这次课程设计就不会这么顺利,这种同舟共济的团队精神深深震撼了我,《礼记学记》上也有讲过:“独学而无友,则孤漏而寡闻”。同时有些同学积极的态度让我感到一丝惭愧,他们所体现出的坚持不懈的品质更令我折服。当然这次程序设计也让我看到了自己基础的薄弱。古人有诗云:“路漫漫其修远兮,吾将上下而求索”。从今天起我将不断继续求索,学习之路也好,人生之路也罢。
总之我受益匪浅。
计算机专业C与C++程序设计研究论文
计算机专业C与C++程序设计研究论文
摘要 :首先介绍了目前高校计算机学院C族语言相关程序设计课程的建设状况。然后从C族语言的相互衍生关系出发,提出了在高校计算机课程体系中去除C语言的基础课程,将其综合成一门C++程序设计课程来供学生学习,并对课程内容、参考教材和课时安排上给出了自己的建议。
关键词 :C语言;C++语言;程序设计
高校的C族语言教学总是按照先学C语言,再学C++的顺序进行,这种学习顺序随着C++标准的不断升级改革后变得越来越不适用。早期的C++属于多面性语言,即可以像C一样进行模块化的面向过程的编程设计,也可以像Java一样进行抽象的面向对象程序设计。那时的教学者考虑的是学生应当从较为便于理解的面向过程的编程思路入门学习C语言编程,然后在熟练了面向过程的编程方式后再从C语言延伸到C++,转而学习面向对象的程序设计。可是随着面向对象的程序设计在应用市场上占领了绝对的主导地位后,再让学生从面向过程着手就等于是浪费学习时间。加上C++和C两门语言的初级语法思想是完全一致的,开设两门课程浪费了学时,也耽误后续更重要的核心课程的学习。
1程序设计语言C与C++的比较
1.1C与C++的共性。一般简要的介绍是把C++当作C的加强版,这种认知当然是错误的,C++语言的设计者在设计之初为了保障自家语言会受到开发者的关注,所以兼容了的C的语法,这就自然使得C++可以使用C的编程方式进行程序设计,所以也导致了很多人对这两种语言的关系产生了错误的认知。同时由于C语言本身设定上的优越性,所以C++在进行自我定义的时候也沿用了C语言很多优良的性质。基础数据结构一致,C与C++的基础数据类型都是以变量和常量作为基本属性划分,类型上有字符型、整型、长整型、单精度浮点型和双精度浮点型,不过C++额外增设了布尔型。复合型数据结构上也都同时具有数组、多维数组、结构体、枚举类型和共同体,但是C++增设了字符串类型以替代C语言中的字符数组,功能上更加强大,也更加便捷。在语法方面,声明、赋值、循环、选择的结构和实现都是一致的,并且C++虽然提倡使用类和对象的概念去设计程序结构,可也同样支持函数体结构的程序设计结构。并且C语言中函数的赋值都是间接调用,在使用C语言函数时总是会在指针上出现各种纰漏,但是C++的函数体可以使用引用参数,这就使得C++的函数体比之C的更加好用。总的说来就是,C++标准下用户可以完全使用C语法进行编程而不会出现任何BUG,同时C++自身的优越设定和标准使得其设计能力比C要强大数倍,是目前市场上大型程序开发的首选语言。
1.2C与C++的不同。上一节介绍了C++和C的.基础语法上的区别,这些区别都是C++的作者在C的基础之上修订而来的结果,是为了让C++标准下得面向过程的程序设计比之单纯的C更加便捷方便。但是C++的诞生伊始,就是一门向上使用面对对象的程序设计思想的高级编程语言。它的封装性、继承性、多态性和对象唯一性才是C++成为强大高级语言的重要原因,这些特性都是C语言不可能拥有的。所以C能够实现的程序,C++能够实现并且实现的更为方便,C不能实现的程序,C++同样可以实现。
1.3C++的特色。承接上一节,C++和C之间最大的不同,也是C++自身最值得夸耀的特性,就是面向对象程序设计思想。这种思想使得C++语言设计出来的程序,变成了类和对象的有机结合,这种结合的代码比之面向过程的函数体架构的代码更加易读,共同开发起来容易上手,后续的维护者也不用费更多的脑筋去理解前人的代码含义。而类和对象的设计思路,使得开发者合作时相互之间的工作变的更为独立,双方之间只需要知道对方所写的类实现的功能和包含的数据就行。这种特性我们称之为良好的封装性,开发者之间不需要去知道对方的代码是如何实现,甚至在此之上还可以保证良好的代码健壮性。因为类的引入,更先进的作用域机制也被引入进来,类的书写者往往会将自己类中的数据进行严格的作用域限定,防止其他合作者擅自去修改和使用自己类中的数据。合作者想要知道类中的数据或者使用类中的数据,只能通过类的书写者定义的带有检查机制的方法才行。这样会使得很多人合作开发的大型项目的稳定性和安全性比之用C语言开发时再上一个台阶。同时类的概念中还有一个先进的设定就是继承性,并且由这个继承性还延伸出了接口的概念。有了可以继承的接口和类,那么开发者在对程序进行迭代的瀑布开发流程时,就可以很好的使用自己曾经开发的源代码,或者借用其他项目的源代码,因为只要学会科学的使用继承机制,就不仅仅是节约程序员的代码时间,也减少了程序员在回顾曾经代码时发生的错误和歧义。而与继承机制配合使用的是多态性,曾经C语言中定义的函数,其灵活度非常差,特定的函数只能满足特定程序定义的需求,想要重用曾经的源代码是几乎不可能的事情。我们刚才提到的继承机制使得C++开发者复用源代码成为了一种习惯,但是复用时不可避免的修改问题又摆到了台面上,多态机制顺应而生了。多态机制使得类不仅可以继承其他类,将父类的数据和方法都在本类体中自如的使用,同时还可以用本类中新的定义和代码去覆盖父类中的数据定义和方法。这就让程序员变的更加自由,想用父类的数据和方法时就去继承,但是不想全部使用时就加上多态机制去覆盖。这样代码之间的重复利用率变得十分客观,节约了大量的开发时间和开发成本。
2程序设计语言C与C++开设建议
C++课程的内容应当如下安排:第一部分,教授C++的基础语法,让学生可以编写出在DOS命令行下输入输出的程序,了解编程的基本概念和思想。并且这时应当同时进行C和C++的双向语法教学,为日后学生进入高年级后的方向选择打下基础。此部分使用半个学期最为适宜,并且此时并不灌输学生何为面向对象何为面向过程,而主在让学生使用基础语法进行最基本的编程探索。第二部分,在学生有了基础编程知识后,将数据结构的内容放入课程中去,用半学期的时间教授学生用C++实现的各类常见数据结构。并且结合实际开发项目中的代码作为阅读补充,让学生明白数据结构的知识对程序开发的意义,然后将简化后的小项目作为课堂的主要内容,用实际的代码让学生去理解那些枯燥的数学定理和概念。而且在实现数据结构的过程中,必然会面对一些更为高级的C++语法和概念。总的来说,用大一上的一个学期让学生对于基础编程有了良好的认知和深入,是十分值得和有效的。第三部分,在学生有了数据结构的基础和C++的基本语法掌握后,应当面对一些实际的开发项目和问题。当然实际的问题还是需要老师进行简化,其主要目的是让学生掌握C++的高级特性和实际软件开发的过程与思路,并且想学生传授基础的算法。这一部分较为困难,应当使用一个学期让学生慢慢的掌握和熟悉。第四部分,在学生算是对C++语言和数据结构与算法都有了基础的入门后,再进行课堂教学意义就不大了,应当再大二上学期开设一门课程设计实验课,让学生完成几个难度从小到大的项目,循序渐进的掌握基本的实际开发技巧和思维。
参考文献
.产业与科技论坛,2015(14):54-55.
.模式识别与人工智能,2013(9):819-828.
.计算机工程与科学,2014(z1):56-59.
;C语言程序设计报告的格式
课程设计(实践周)报告书一般有如下内容:
1.目录
目录是将报告书内的章节标题依次排列。
2.需求分析
主要内容包括本课程设计(实践周)题目、课程设计(实践周)任务及要求、课程设计(实践周)思想、软硬件运行环境及开发工具。
3.概要设计
主要叙述本课题设计的流程图(各功能模块)、主要的数据结构、完成本课程设计(实践周)所用方法及其原理的简要说明。
4.详细设计
主要是本课题所需要的硬件设计与软件设计,包含建立设计所需的数学模型并列出必要的计算公式、计算过程及说明,主要算法的设计与实现,写出设计计算结果;绘出计算机程序框图,写出自编的程序。
5.调试与操作说明
系统调试分析与操作使用说明。
6.课程设计(实践周)总结与体会
主要对本课题开发过程进行归纳和总结,本课题在设计过程中所遇到的技术难点及解决方法。还应包括本课题尚存在的问题,以及进一步开发的见解与建议。并写出通过本次课程设计(实践周)的收获和体会。
7.致谢
以简短的文字对在设计研究和设计报告撰写过程中曾直接给予帮助的人员表示自己的谢意
8.参考文献
为了反映论文的科学依据和作者尊重他人研究成果的严肃态度以及向读者提供有关信息的出处,应列出本课程设计(实践周)所涉及的主要参考文献。
9.附录
有些材料编入文章主体会有损于编排的条理性和逻辑性,或有碍于文章结构的紧凑和突出主题思想等,可将这些材料作为附录编排于全文的末尾。
课程设计论文怎么写啊
二.系统软件设计
图4 系统程序流程图
2.1 系统程序流程图
系统程序流程图如图4所示。
2.2 温度部分软件设计
DS18B20的一线工作协议流程是:初始化→ROM操作指令→存储器操作指令→数据传输。其工作时序包括初始化时序、写时序和读时序。故主机控制DS18B20完成温度转换必须经过三个步骤:每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。复位要求主CPU将数据线下拉500微秒,然后释放,DS18B20收到信号后等待16~60微秒左右,后发出60~240微秒的存在低脉冲,主CPU收到此信号表示复位成功。程序主要函数部分如下:
(1)初始化函数
//读一个字节函数
ReadOneChar(void)
{unsigned char i=0; 《br/》unsigned char dat = 0; 《br/》for (i=8;i》0;i--) 《br/》{ DQ = 0; // 给脉冲信号 《br/》dat》》=1; 《br/》DQ = 1; // 给脉冲信号 《br/》if(DQ) 《br/》dat|=0x80; 《br/》delay(4);}
return(dat);}
//写一个字节函数
WriteOneChar(unsigned char dat)
{unsigned char i=0; 《br/》for (i=8; i》0; i--) 《br/》{DQ = 0; 《br/》DQ = dat&0x01; 《br/》delay(5); 《br/》DQ = 1; 《br/》dat》》=1;}}
(2)读取温度并计算函数
ReadTemperature(void)
{unsigned char a=0; 《br/》unsigned char b=0; 《br/》unsigned int t=0; 《br/》float tt=0; 《br/》Init_DS18B20(); 《br/》WriteOneChar(0xCC); // 跳过读序号列号的操作 《br/》WriteOneChar(0x44); // 启动温度转换 《br/》Init_DS18B20(); 《br/》WriteOneChar(0xCC); //跳过读序号列号的操作 《br/》WriteOneChar(0xBE); //读取温度寄存器等(共可读9个寄存器) 前两个就是温度 《br/》a=ReadOneChar(); 《br/》b=ReadOneChar(); 《br/》t=b; 《br/》t《《=8; 《br/》t=t|a; 《br/》tt=t*0.0625; 《br/》t= tt*10+0.5; //放大10倍输出并四舍五入---此行没用 《br/》(3)主程序部分见前 《br/》return(t);}
三. 结束语
AT89C2051单片机体积小、重量轻、抗干扰能力强、对环境要求不高、价格低廉、可靠性高、灵活性好。即使是非电子计算机专业人员,通过学习一些专业基础知识以后也能依靠自己的技术力量来开发所希望的单片机应用系统。 本文的温度控制系统只是单片机广泛应用于各行各业中的一例,相信读者会依靠自己的聪明才智使单片机的应用更加广泛化。另外对本例子可以作一些扩展,单片机的应用越来越广泛,由于单片机的运算功能较差,往往需要借助计算机系统,因此单片机和PC机进行远程通信更具有实际意义。目前此设计已成功应用于钻井模拟器实验室室温控制。
本文作者创新观点:采用的单片机AT89C2051性价比高,而且温度传感器DS18B20转化温度的方法非常简洁且精度高、测试范围较广。
参考文献
林伸茂.8051单片机彻底研究基础篇 北京:人民邮电出版社 2004
范风强等.单片机语言C51应用实战集锦 北京:电子工业出版社 2005
谭浩强.C语言程序设计(第二版) 北京:清华大学出版社 1999
夏路易等.电路原理图与电路板设计教程 北京:北京希望电子出版社 2002
赵晶.Protel99高级应用 北京:人民邮电出版社 2000
微计算机信息 2002,18(4):37~38
大一C语言课程设计,急求源代码和设计报告!!!!!!明天就要收了!!!!!
可以建立结构体里面包括车的在那个入得口的标识 型号 路程 以及费用
界面就设计 输入入口号 车的型号 路程
函数:计算费用 想做的好点还可以把相同的车辆放一起 最后一个函数计算各出口的总费用 还是比较简单的
我的建议只供参考 祝你编程成功!!!
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语言大型课程设计!!!急需!!!
#define RECORD record.txt
#define X1 6
#define X2 2
#include
#include
#include
#include
#include
#include
/*#include "class/CARTOON.C"*/
/*definition struct*/
struct
{
char name;
char sex;
int studID;
int classID;
int english;
int math;
int computer;
int recycle;
int average;
int total;
int sort;
}stud,temp2;
void cartoon(void)
{
float x,x1=0;
char ch;
int driver,i,mode,y=0;
void base(void);
void clr(int x,int y);
void w(int x,int y);
void e(int x,int y);
void l(int x,int y);
void c(int x,int y);
void o(int x,int y);
void m(int x,int y);
printf("Do you want play the face?Y/N");
ch=getchar();getchar();
if(ch==’N’||ch==’n’)return;
driver=VGA;mode=VGAHI;
initgraph(&driver,&mode,"");
x=620;
for(i=0;i《=200;i++)
{
setcolor(0);line(0,80,640,80);line(0,420,640,420);
setcolor(15);line(640-x1,80,640,80);line(0,420,x1+=4.1,420);
delay(1000);
}
y=81;
for(i=0;i《20;i++)
{ setcolor(0);line(0,y,640,y);y+=2;
setcolor(15);line(0,y,640,y); delay(3000);
}
settextstyle(1,0,3);
setfillstyle(SOLID_FILL,0);
clr(189,94);
clr(230,94);
clr(300,94);
clr(380,94);
delay(5000);
setcolor(7);
outtextxy(181,91,"My C Language Designs");
setcolor(15);
outtextxy(180,90,"My C Language Designs");
setcolor(7);
delay(10000);
outtextxy(182,92,"My C Language Designs");
setcolor(7);
outtextxy(181,91,"My C Language Designs");
setcolor(15);
outtextxy(180,90,"My C Language Designs");
delay(10000);
settextstyle(1,0,4);
setfillstyle(SOLID_FILL,0);
for(i=0;i《100;i+=3)
{ bar(1,1,640,77);
outtextxy(71,i*0.4,"Student Scores Manage System");
delay(200000);
}
for(i=0;i《301;i+=4)
{
line(50,121,50,121+i);line(590,121,590,121+i);
delay(2000);
}
settextstyle(1,0,4);
for(i=0;i《170;i+=2)
{
line(50,150,50+i,150);line(590,150,590-i,150);
delay(2000);
}
x=190;
y=130;
i=0;
while(i《9)
{ switch(i++)
{
case 1:w(x+20*i,y);break;
case 2:e(x+21*i,y);break;
case 3:l(x+20*i,y);break;
case 4:l(x+20*i,y);break;
case 5:c(x+20*i,y);break;
case 6:o(x+20*i,y);break;
case 7:m(x+20*i,y);break;
case 8:e(x+22*i,y);break;
}
}
delay(20000);
circle(570,170,10);
delay(20000);
circle(480,250,40);
delay(20000);
circle(320,280,80);
delay(20000);
circle(150,330,40);
delay(20000);
circle(70,400,10);
settextstyle(1,0,4);
outtextxy(70,170,"Design");
settextstyle(1,0,7);
outtextxy(283,240,"By");
settextstyle(1,0,4);
outtextxy(430,370,"GongTao");
settextstyle(1,0,3);
outtextxy(150,430,"HuNan Agracutural University");
getch();
setfillstyle(LINE_FILL,1);
for(i=480;i》0;i-=25)
{
bar(1,1,640,480-i);
delay(2000);
}
setfillstyle(SOLID_FILL,1);
for(i=0;i《480;i+=25)
{
bar(1,479-i,649,479);
delay(2000);
}
return;
}
void base(void)
{
setcolor(15);line(0,80,640,80);line(0,420,640,420);line(0,121,640,121);
}
void clr(int x,int y)
{int r=300;
static i=0;
void base(void);
i++;
for(r=300;r》0;r-=6)
{
circle(x,y,r);
delay(2000);
setcolor(0);
circle(x,y,r);
base();
setcolor(15);
switch(i)
{
case 2: outtextxy(180,90,"My"); break;
case 3: outtextxy(180,90,"My C ");break;
case 4: outtextxy(180,90,"My C Language");break;
}
}
switch(i)
{
case 1: outtextxy(180,90,"My"); break;
case 2: outtextxy(180,90,"My C ");break;
case 3: outtextxy(180,90,"My C Language");break;
case 4: outtextxy(180,90,"My C Language Designs");break;
}
}
void w(int x,int y)
{
outtextxy(x,y,"W");
delay(2000);
}
void e(int x,int y)
{
outtextxy(x,y,"e");
delay(2000);
}
void l(int x,int y)
{
outtextxy(x,y,"l");
delay(2000);
}
void c(int x,int y)
{
outtextxy(x,y,"c");
delay(2000);
}
void o(int x,int y)
{
outtextxy(x,y,"o");
delay(2000);
}
void m(int x,int y)
{
outtextxy(x,y,"m");
delay(2000);
}
main()
{
int go,isend;
void add(void);
void list(void);
int face(void);
void del(void);
void modify(void);
void search(void);
void sort(void);
void insert(void);
void recovery(void);
void statistics(void);
void recycle(void);
void cartoon(void);
void realdel(void);
cartoon();
while(1)
{
go=face();
switch(go)
{
case 1: add();break;
case 2: list();break;
case 3: del();break;
case 4: modify();break;
case 5: search();break;
case 6: sort();break;
case 7: insert();break;
case 8: recovery();break;
case 9: statistics();break;
case 10:recycle();break;
case 11:realdel();break;
case 0:exit(0);break;
}
}
}
/* add a new record*/
void add(void)
{int Y1=3;
char numstr,ch;
FILE *fp;
cleardevice();
if((fp=fopen("RECORD","ab"))==NULL)
{ printf("Cant’t open file.");getch();exit(0);}
gotoxy(X1,Y1);
printf("Name");
gotoxy(X1+9,Y1);
printf("Sex");
gotoxy(X1+(2*9),Y1);
printf("StudID");
gotoxy(X1+(3*9),Y1);
printf("ClassID");
gotoxy(X1+(4*9),Y1);
printf("English");
gotoxy(X1+(5*9),Y1);
printf("Math");
gotoxy(X1+(6*9),Y1);
printf("Computer");
gotoxy(X1,++Y1);
do{
gotoxy(0,Y1);clreol();
gotoxy(X1,Y1);/*return start position*/printf("\b%c",16);
gets(stud.name);gotoxy(X1+9,Y1);printf("\b%c",16);
stud.sex=getchar();getchar();gotoxy(X1+(2*9),Y1);printf("\b%c",16);
gets(numstr);stud.studID=atoi(numstr);gotoxy(X1+(3*9),Y1);printf("\b%c",16);
gets(numstr);stud.classID=atoi(numstr);gotoxy(X1+(4*9),Y1);printf("\b%c",16);
gets(numstr);stud.english=atoi(numstr);gotoxy(X1+(5*9),Y1);printf("\b%c",16);
gets(numstr);stud.math=atoi(numstr);gotoxy(X1+(6*9),Y1);printf("\b%c",16);
gets(numstr);stud.computer=atoi(numstr);gotoxy(X1,Y1+1);
stud.recycle=0;stud.sort=0;
stud.total=stud.english+stud.computer+stud.math;
stud.average=(stud.total)/3;
fwrite(&stud,sizeof(stud),1,fp);
printf("Add again?(y/n)");
ch=getchar();getchar();
gotoxy(X1,++Y1);
}while(ch==’y’ || ch==’Y’);
fclose(fp);
return;
}
/*end add*/
/*list all record*/
void list(void)
{
int Y1=3,i=0,sum=0,once=1,i2=0;
FILE *fp;
cleardevice();
if((fp=(fopen("RECORD","rb")))==NULL)
{printf("I can not open this file.");getch();return;}
while(fread(&stud,sizeof(stud),1,fp)) sum++;
rewind(fp);
if(sum==0)
{printf("\nNo record in file.Pass any key return to Menu..");getch();return;}
while(fread(&stud,sizeof(stud),1,fp)==1)
{ if(once==1)
{Y1=2;
clrscr();
gotoxy(X2,Y1);
printf("Name");
gotoxy(X2+9,Y1);
printf("Sex");
gotoxy(X2+(2*9),Y1);
printf("StudID");
gotoxy(X2+(3*9),Y1);
printf("ClassID");
gotoxy(X2+(4*9),Y1);
printf("English");
gotoxy(X2+(5*9),Y1);
printf("Math");
gotoxy(X2+(6*9),Y1);
printf("Computer");
gotoxy(X2+(7*9),Y1);
printf("Aver");
gotoxy(X2+(8*9),Y1++);
printf("Total");
once=0;
}
if(!stud.recycle)
{
gotoxy(X2,Y1);
printf("%s",stud.name);gotoxy(X2+(1*9),Y1);
printf("%c",stud.sex);gotoxy(X2+(2*9),Y1);
printf("%d",stud.studID);gotoxy(X2+(3*9),Y1);
printf("%d",stud.classID);gotoxy(X2+(4*9),Y1);
printf("%d",stud.english);gotoxy(X2+(5*9),Y1);
printf("%d",stud.math);gotoxy(X2+(6*9),Y1);
printf("%d",stud.computer);gotoxy(X2+(7*9),Y1);
printf("%d",stud.average);gotoxy(X2+(8*9),Y1);
printf("%d",stud.total);gotoxy(X2,++Y1);++i2;
}
if(++i==sum)
{printf("\nPress any key return to Menu.....");getch();}
if(sum》20&&i2!=0)
{if((i2%20)==0){printf("\nPress any key to continue.....");getch();once=1;}}
}
fclose(fp);
return;
}
/*end list*/
/*Delete record start*/
void del(void)
{
int go,Y1=3,once=0,sum=0;
char numstr,yn=’n’;
FILE *fp,*temp;
cleardevice();
temp=fopen("temp.txt","wb");
if((fp=(fopen("RECORD","rb")))==NULL)
{printf("I can not open this file.");getch();return;}
printf("Choose the StudID:");
gets(numstr);go=atoi(numstr);
while(fread(&stud,sizeof(stud),1,fp))
{
if(!stud.recycle&&stud.studID==go)
{sum++;
if(++once==1)
{
gotoxy(X2,Y1);
printf("Name");
gotoxy(X2+9,Y1);
printf("Sex");
gotoxy(X2+(2*9),Y1);
printf("StudID");
gotoxy(X2+(3*9),Y1);
printf("ClassID");
gotoxy(X2+(4*9),Y1);
printf("English");
gotoxy(X2+(5*9),Y1);
printf("Math");
gotoxy(X2+(6*9),Y1);
printf("Computer");
gotoxy(X2+(7*9),Y1);
printf("Total");
gotoxy(X2+(8*9),Y1++);
printf("Aver");
}
gotoxy(X2,Y1);clreol();
printf("%s",stud.name);gotoxy(X2+(1*9),Y1);
printf("%c",stud.sex);gotoxy(X2+(2*9),Y1);
printf("%d",stud.studID);gotoxy(X2+(3*9),Y1);
printf("%d",stud.classID);gotoxy(X2+(4*9),Y1);
printf("%d",stud.english);gotoxy(X2+(5*9),Y1);
printf("%d",stud.math);gotoxy(X2+(6*9),Y1);
printf("%d",stud.computer);gotoxy(X2+(7*9),Y1);
printf("%d",stud.average);gotoxy(X2+(8*9),Y1);
printf("%d",stud.total);gotoxy(X2,++Y1);
printf("Do you want to delete this record?y/n");yn=getchar();getchar();
if(yn==’n’||yn==’N’){fwrite(&stud,sizeof(stud),1,temp);yn=’s’;}
else{stud.recycle=1;fwrite(&stud,sizeof(stud),1,temp);yn=’s’;}
}
if(yn!=’s’)
{fwrite(&stud,sizeof(stud),1,temp);yn=’’;}
yn=’’;
}
if(!sum)
{printf("No record! Press any key return to Menu...");fclose(fp);
fclose(temp);
remove("RECORD");
rename("temp.txt","RECORD");getch();
return; }
fclose(fp);
fclose(temp);
remove("RECORD");
rename("temp.txt","RECORD");
return;
}
/*Delete record end*/
/*Modify start*/
void modify(void)
{
int go,Y1=3,once=0,sum=0;
char numstr,yn=’n’;
FILE *fp,*temp;
temp=fopen("temp.txt","wb");
if((fp=(fopen("RECORD","rb")))==NULL)
{printf("I can not open this file.");getch();return;}
cleardevice();
printf("Choose the StudID:");
scanf("%d",&go);getchar();
while(fread(&stud,sizeof(stud),1,fp))
{
if(!stud.recycle&&stud.studID==go)
{
sum++;
if(++once==1)
{ Y1=2;
gotoxy(X1,Y1);
printf("Name");
gotoxy(X1+9,Y1);
printf("Sex");
gotoxy(X1+(2*9),Y1);
printf("StudID");
gotoxy(X1+(3*9),Y1);
printf("ClassID");
gotoxy(X1+(4*9),Y1);
printf("English");
gotoxy(X1+(5*9),Y1);
printf("Math");
gotoxy(X1+(6*9),Y1);
printf("Computer");
gotoxy(X1,++Y1);
}
gotoxy(X1,Y1);clreol();
printf("%s",stud.name);
gotoxy(X1+9,Y1);
printf("%c",stud.sex);
gotoxy(X1+(2*9),Y1);
printf("%d",stud.studID);
gotoxy(X1+(3*9),Y1);
printf("%d",stud.classID);
gotoxy(X1+(4*9),Y1);
printf("%d",stud.english);
gotoxy(X1+(5*9),Y1);
printf("%d",stud.math);
gotoxy(X1+(6*9),Y1);
printf("%d",stud.computer);
gotoxy(X1,Y1+1);printf("Do you want to modify this record?y/n");yn=getchar(); getchar();
if(yn==’n’||yn==’N’)
{fwrite(&stud,sizeof(stud),1,temp);yn=’s’;Y1++;}
else
{
gotoxy(X1,++Y1);clreol();printf("\b%c",16);/*return start position*/
gets(stud.name);gotoxy(X1+9,Y1);printf("\b%c",16);
stud.sex=getchar();getchar();gotoxy(X1+(2*9),Y1);printf("\b%c",16);
gets(numstr);stud.studID=atoi(numstr);gotoxy(X1+(3*9),Y1);printf("\b%c",16);
gets(numstr);stud.classID=atoi(numstr);gotoxy(X1+(4*9),Y1);printf("\b%c",16);
gets(numstr);stud.english=atoi(numstr);gotoxy(X1+(5*9),Y1);printf("\b%c",16);
gets(numstr);stud.math=atoi(numstr);gotoxy(X1+(6*9),Y1);printf("\b%c",16);
gets(numstr);stud.computer=atoi(numstr);gotoxy(X1,Y1+++1);
stud.recycle=0;
stud.total=stud.english+stud.computer+stud.math;
stud.average=(stud.total)/3;
fwrite(&stud,sizeof(stud),1,temp);yn=’s’;printf("Modify Successfully!!");
}
}
if(yn!=’s’)
{fwrite(&stud,sizeof(stud),1,temp);yn=’’;}
yn=’’;
}
if(!sum)
{printf("\nPress any key return to Menu....");fclose(fp);fclose(temp);remove("temp.txt");getch();return;}
fclose(fp);
fclose(temp);
remove("RECORD");
rename("temp.txt","RECORD");
getch();
return;
}
/*Modify end*/
/*Search start*/
void search(void)
{
int go,Y1=3,once=0,i=0;
char numstr;
FILE *fp;
if((fp=(fopen("RECORD","rb")))==NULL)
{printf("I can not open this file.");getch();return;}
cleardevice();
printf("Input the StudID:");
gets(numstr);go=atoi(numstr);
while(fread(&stud,sizeof(stud),1,fp))
{
if(!stud.recycle&&stud.studID==go)
{
if(++once==1)
{ Y1=2;
gotoxy(X2,Y1);
printf("Name");
gotoxy(X2+9,Y1);
printf("Sex");
gotoxy(X2+(2*9),Y1);
printf("StudID");
gotoxy(X2+(3*9),Y1);
printf("ClassID");
gotoxy(X2+(4*9),Y1);
printf("English");
gotoxy(X2+(5*9),Y1);
printf("Math");
gotoxy(X2+(6*9),Y1);
printf("Computer");
gotoxy(X2+(7*9),Y1);
printf("Total");
gotoxy(X2+(8*9),Y1++);
printf("Aver");
}
gotoxy(X2,Y1);clreol();
printf("%s",stud.name);gotoxy(X2+(1*9),Y1);
printf("%c",stud.sex);gotoxy(X2+(2*9),Y1);
printf("%d",stud.studID);gotoxy(X2+(3*9),Y1);
printf("%d",stud.classID);gotoxy(X2+(4*9),Y1);
printf("%d",stud.english);gotoxy(X2+(5*9),Y1);
printf("%d",stud.math);gotoxy(X2+(6*9),Y1);
printf("%d",stud.computer);gotoxy(X2+(7*9),Y1);
printf("%d",stud.average);gotoxy(X2+(8*9),Y1);
printf("%d",stud.total);gotoxy(X2,++Y1); i++;
if(i%20==0){printf("Press any key to continue…");getch();once=0;}
}
}
printf("Press any key return to Menu....");getch();
fclose(fp);
return;
}
/*Search end*/
/*Insert start*/
void insert(void)
{
int go,Y1=3,once=0,sum=0;
char numstr,yn=’n’;
FILE *fp,*temp;
temp=fopen("temp.txt","wb");
if((fp=(fopen("RECORD","rb")))==NULL)
{printf("I can not open this file.");getch();return;}
cleardevice();
printf("Choose the StudID:");
scanf("%d",&go);getchar();
while(fread(&stud,sizeof(stud),1,fp))
{
if(!stud.recycle&&stud.studID==go)
{
sum++;
if(++once==1)
{ Y1=2;
gotoxy(X1,Y1);
printf("Name");
gotoxy(X1+9,Y1);
printf("Sex");
gotoxy(X1+(2*9),Y1);
printf("StudID");
gotoxy(X1+(3*9),Y1);
printf("ClassID");
gotoxy(X1+(4*9),Y1);
printf("English");
gotoxy(X1+(5*9),Y1);
printf("Math");
gotoxy(X1+(6*9),Y1);
printf("Computer");
gotoxy(X1,++Y1);
}
gotoxy(X1,Y1);clreol();
printf("%s",stud.name);
gotoxy(X1+9,Y1);
printf("%c",stud.sex);
gotoxy(X1+(2*9),Y1);
printf("%d",stud.studID);
gotoxy(X1+(3*9),Y1);
printf("%d",stud.classID);
gotoxy(X1+(4*9),Y1);
printf("%d",stud.english);
gotoxy(X1+(5*9),Y1);
printf("%d",stud.math);
gotoxy(X1+(6*9),Y1);
printf("%d",stud.computer);
gotoxy(X1,Y1+1);
printf("Do you want to insert before this record ?y/n");yn=getchar(); getchar();
if(yn==’n’||yn==’N’)
{fwrite(&stud,sizeof(stud),1,temp);yn=’s’;}
else
{ temp2=stud;
gotoxy(X1,++Y1);clreol();/*return start position*/
gets(stud.name);gotoxy(X1+9,Y1);
stud.sex=getchar();getchar();gotoxy(X1+(2*9),Y1);
gets(numstr);stud.studID=atoi(numstr);gotoxy(X1+(3*9),Y1);
gets(numstr);stud.classID=atoi(numstr);gotoxy(X1+(4*9),Y1);
gets(numstr);stud.english=atoi(numstr);gotoxy(X1+(5*9),Y1);
gets(numstr);stud.math=atoi(numstr);gotoxy(X1+(6*9),Y1);
gets(numstr);stud.computer=atoi(numstr);printf("\n");
stud.recycle=0;
stud.total=stud.english+stud.computer+stud.math;
stud.average=(stud.total)/3;
fwrite(&stud,sizeof(stud),1,temp);
fwrite(&temp2,sizeof(stud),1,temp);
printf("Insert Successfully!!");
yn=’s’;
}
}
if(yn!=’s’)
{fwrite(&stud,sizeof(stud),1,temp);yn=’’;}
yn=’’;
}
if(!sum)
{printf("\nError!!Press any key return to Menu....");fclose(fp);fclose(temp);remove("temp.txt");getch();}
fclose(fp);
fclose(temp);
remove("RECORD");
rename("temp.txt","RECORD");
getch();
return;
}
/*Insert end*/
/*recycle start*/
void recycle(void)
{
int Y1=3,i=0,sum=0,once=1,i2=0;
FILE *fp;
cleardevice();
if((fp=(fopen("RECORD","rb")))==NULL)
{printf("I can not open this file.");getch();return;}
while(fread(&stud,sizeof(stud),1,fp)) sum++;
rewind(fp);
if(sum==0)
{printf("\nNo record in file.Pass any key return to Menu..");getch();return;}
while(fread(&stud,sizeof(stud),1,fp)==1)
{ if(once==1)
{Y1=2;
clrscr();
gotoxy(X2,Y1);
printf("Name");
gotoxy(X2+9,Y1);
printf("Sex");
gotoxy(X2+(2*9),Y1);
printf("StudID");
gotoxy(X2+(3*9),Y1);
printf("ClassID");
gotoxy(X2+(4*9),Y1);
printf("English");
gotoxy(X2+(5*9),Y1);
printf("Math");
gotoxy(X2+(6*9),Y1);
printf("Computer");
gotoxy(X2+(7*9),Y1);
printf("Total");
gotoxy(X2+(8*9),Y1++);
printf("Aver");
once=0;
}
if(stud.recycle)
{
gotoxy(X2,Y1);
printf("%s",stud.name);gotoxy(X2+(1*9),Y1);
printf("%c",stud.sex);gotoxy(X2+(2*9),Y1);
printf("%d",stud.studID);gotoxy(X2+(3*9),Y1);
printf("%d",stud.classID);gotoxy(X2+(4*9),Y1);
printf("%d",stud.english);gotoxy(X2+(5*9),Y1);
printf("%d",stud.math);gotoxy(X2+(6*9),Y1);
printf("%d",stud.computer);gotoxy(X2+(7*9),Y1);
printf("%d",stud.average);gotoxy(X2+(8*9),Y1);
printf("%d",stud.total);gotoxy(X2,++Y1);i2++;
}
if(++i==sum)
{printf("\nPress any key return to Menu.....");getch();break;}
if(sum》20&&i2!=0)
{if((i2%20)==0){printf("\nPress any key to continue.....");getch();once=1;i2=0;}}
}
fclose(fp);
return;
}
/*end recycle*/
/*Recovery start*/
void recovery(void)
{
int go,Y1=3,once=0,sum=0;
char numstr,yn=’n’;
FILE *fp,*temp;
temp=fopen("temp.txt","wb");
if((fp=(fopen("RECORD","rb")))==NULL)
{printf("I can not open this file.");getch();return;}
cleardevice();
printf("Choose the StudID:");
scanf("%d",&go);getchar();
while(fread(&stud,sizeof(stud),1,fp))
{
if(stud.recycle&&stud.studID==go)
{
sum++;
if(++once==1)
{ Y1=2;
gotoxy(X1,Y1);
printf("Name");
gotoxy(X1+9,Y1);
printf("Sex");
gotoxy(X1+(2*9),Y1);
printf("StudID");
gotoxy(X1+(3*9),Y1);
printf("ClassID");
gotoxy(X1+(4*9),Y1);
printf("English");
gotoxy(X1+(5*9),Y1);
printf("Math");
gotoxy(X1+(6*9),Y1);
printf("Computer");
gotoxy(X1,++Y1);
}
gotoxy(X1,Y1);clreol();
printf("%s",stud.name);
gotoxy(X1+9,Y1);
printf("%c",stud.sex);
gotoxy(X1+(2*9),Y1);
printf("%d",stud.studID);
gotoxy(X1+(3*9),Y1);
printf("%d",stud.classID);
gotoxy(X1+(4*9),Y1);
printf("%d",stud.english);
gotoxy(X1+(5*9),Y1);
printf("%d",stud.math);
gotoxy(X1+(6*9),Y1);
printf("%d",stud.computer);
gotoxy(X1,Y1+1);
printf("Do you want to Recovery this record?y/n");yn=getchar(); getchar();
if(yn==’n’||yn==’N’)
{fwrite(&stud,sizeof(stud),1,temp);yn=’s’;}
else
{
gotoxy(X1,++Y1);clreol();/*return start position*/
stud.recycle=0;
fwrite(&stud,sizeof(stud),1,temp);yn=’s’;printf("Recovery Successfully!!");
}
}
if(yn!=’s’)
{fwrite(&stud,sizeof(stud),1,temp);yn=’’;}
yn=’’;
}
if(!sum)
{printf("\nPress any key return to Menu....");fclose(fp);fclose(temp);remove("temp.txt");getch();return;}
fclose(fp);
fclose(temp);
remove("RECORD");
rename("temp.txt","RECORD");
getch();
return;
}
/*Recovery end*/
/*Delete complete. start*/
void realdel(void)
{
int go,Y1=3,once=0,sum=0;
char numstr,yn=’n’;
FILE *fp,*temp;
temp=fopen("temp.txt","wb");
if((fp=(fopen("RECORD","rb")))==NULL)
{printf("I can not open this file.");getch();return;}
cleardevice();
printf("Choose the StudID:");
scanf("%d",&go);getchar();
while(fread(&stud,sizeof(stud),1,fp))
{
if(stud.recycle&&stud.studID==go)
{
sum++;
if(++once==1)
{ Y1=2;
gotoxy(X1,Y1);
printf("Name");
gotoxy(X1+9,Y1);
printf("Sex");
gotoxy(X1+(2*9),Y1);
printf("StudID");
gotoxy(X1+(3*9),Y1);
printf("ClassID");
gotoxy(X1+(4*9),Y1);
printf("English");
gotoxy(X1+(5*9),Y1);
printf("Math");
gotoxy(X1+(6*9),Y1);
printf("Computer");
gotoxy(X1,++Y1);
}
gotoxy(X1,Y1);clreol();
printf("%s",stud.name);
gotoxy(X1+9,Y1);
printf("%c",stud.sex);
gotoxy(X1+(2*9),Y1);
printf("%d",stud.studID);
gotoxy(X1+(3*9),Y1);
printf("%d",stud.classID);
gotoxy(X1+(4*9),Y1);
printf("%d",stud.english);
gotoxy(X1+(5*9),Y1);
printf("%d",stud.math);
gotoxy(X1+(6*9),Y1);
printf("%d",stud.computer);
printf("\nDo you want to Delete complete this record?y/n");yn=getchar(); getchar();
if(yn==’n’||yn==’N’)
{fwrite(&stud,sizeof(stud),1,temp);yn=’s’;}
else
{
gotoxy(X1,++Y1);clreol();/*return start position*/
yn=’s’;printf("Delete completed Successfully!!");
}
}
if(yn!=’s’)
{fwrite(&stud,sizeof(stud),1,temp);yn=’’;}
yn=’’;
}
if(!sum)
{printf("\nPress any key return to Menu....");}
fclose(fp);
fclose(temp);
remove("RECORD");
rename("temp.txt","RECORD");
getch();
return;
}
/*Delete complete end*/
/*statistics start*/
void statistics(void)
{
int all_pass=0,com_pass=0,math_pass=0,good=0,member=0,en_pass=0;
float en_aver=0.0,com_aver=0.0,math_aver=0.0,all_aver=0.0;
float total=0.0;
FILE *fp;
cleardevice();
if((fp=(fopen("RECORD","rb")))==NULL)
{printf("I can not open this file.");getch();return;}
while(fread(&stud,sizeof(stud),1,fp)){if(!stud.recycle)member++;}
rewind(fp);
while(fread(&stud,sizeof(stud),1,fp)) { if(stud.english》=60||!stud.recycle)en_pass++; }rew

更多文章:
androidapp源码免费下载(如何实现APK的反编译得到APK的源码)
2026年9月22日 18:00
service pack 3(操作系统版本升级(SP) Service Pack 3当中的“Service Pack 3”是什么意思)
2026年9月22日 10:20
html代码怎么写大佬教程(html网页的题来个大佬,写代码,题目在图上)
2026年9月22日 10:10
结构体内又一个struct(c++ 在结构体中再嵌入一个结构体如何调用)
2026年9月22日 09:40
cocos creator中文(cocoscreator和cocoscreator3d的区别)
2026年9月22日 02:30






