c语言课设Word下载.docx
- 文档编号:18741522
- 上传时间:2022-12-31
- 格式:DOCX
- 页数:18
- 大小:139.51KB
c语言课设Word下载.docx
《c语言课设Word下载.docx》由会员分享,可在线阅读,更多相关《c语言课设Word下载.docx(18页珍藏版)》请在冰豆网上搜索。
v打开文件后,计算每个人的总分和平均分,排序并保存
v具有在文件中进行单项查询或多项查询的功能(即能够按照给定的关键字,如姓名等找出满足条件的纪录)
v具有输出文件数据信息的功能
三、设计要求及成果
1.分析课程设计题目的要求
2.写出详细设计说明
3.编写程序代码,调试程序使其能正确运行
4.设计完成的软件要便于操作和使用
4.设计完成后提交课程设计报告
四、进度安排
第一天
选择课程设计题目,分析课题的要求
第二天
编程
第三天
编程及调试
第四天
写课程设计报告
第五天
提交课程设计报告(打印稿及电子稿)
五、评分标准
1.根据平时上机考勤、表现和进度,教师将每天点名和检查
2.根据课程设计完成情况,必须有可运行的软件。
3.根据课程设计报告的质量,如有雷同,则所有雷同的所有人均判为不及格。
六、建议参考资料
1.《C语言程序设计》,谭浩强,清华大学出版社
2.《C语言程序设计课程设计》,刘振安,机械工业出版社
2.【摘要】
学了一学期的C语言,我对C还不是很了解,也不清楚C的用处,不了解C以后再计算机方面有和有何用处。
但有一点我可以肯定,C在我以后学习计算机的过程中是一定有用的,尽管我现在并不了解它。
这个学期也快要结束了,虽然对C不是很了解,但我觉得收获还是不浅的。
尤其是在这次的C课程设计中,我觉得我学到了很多,虽然在完成这个C课程设计的过程中遇到了许多的问题,但最后在老师和同学们的指导下我还是完成了课程设计,尽管写的不是很好。
通过这次的课程设计,让我对C语言有了新的认识和了解。
C课程设计让我们把学到的一些理论知识应用于具体实践中,能让我们更好的了解C,并提高自己。
在这次的C课程设计中,我们把一些所学的知识用于其中,通过一些简单的函数的叠加构成了功能稍较完备的学生成绩管理系统,从输入到处理再到输出,我们将体会到C言语的妙。
在我的这个C课程设计中,学生成绩管理系统具有以下简单的功能:
1.从键盘输入包括学号、姓名、性别、各门课程成绩(语文、数学、英语、理综、体育),并将其保存在磁盘文件里
2.打开文件后,计算每个人的总分、平均分,并按总分由高至低排序并保存
3.具有在文件中进行单项查询或多项查询的功能(即能够按照给定的关键字,如姓名等找出满足条件
5参考文献:
(1).《C语言程序设计》,谭浩强,清华大学出版社
(2).《C语言程序设计课程设计》,刘振安,机械工业出版社
4.小结
这次课程设计让我掌握了许多的有用知识。
首先通过不断地学习和锻炼更加熟练地掌握应用软件MicrosoftVisualC++6.0了。
设计正确及合适的程序对于我们初学者来说是很大的难题,出现一丁点儿错误就得非很大的努力去修改,正式者一步步一点点的努力让我对C语言游乐更深的认识。
同时我掌握了解决问题的方法,这无论是对以后的学习、生活都有无比重要的价值。
在设计中,每个同学都会遇到一些困难,或多或少,这些困难常常让我心情烦躁,比如不能清晰的建立设计模块,不会修改出现的错误等等,然后我向同学寻求帮助,向他们学习,最终通过自己努力建立了模块。
不可避免地程中肯定依然存在者某些问题,我希望在以后的学习和应用中不断提高自己的能力,攻克遇到的困难。
通过两周的上机实习,我对C语言又有了崭新的认识。
C语言的学习是一个系统的过程,需要长期的知识积累和储备并辅以大量的上级实际操作练习,自己也应该有所体会,在实践中成长,在实践中求知。
这次我设计的课题是图书信息管理系统。
课题要求对图书信息实现一系列基本操作。
我选择通过结构体数组来实现这个设计。
通过fread和fwrite两个函数实现对文件的读写,过程比较简洁(这里也有参考《C程序设计》中某例题的思想)。
通过大量的符号和printf语句,使得操作界面更加和谐友善,这些都是我通过这次实习积累的经验。
同时,设计完成后我也发现了代码中的一些不足,例如在录入数据时要求输入序号的值,这个我认为操作比较复杂,但由于时间紧迫,未能提出完美的解决方案,但此问题并不影响程序的运行和要求的实现。
另外,在查询信息时,只会输出一条符合要求的图书信息,且输出多次。
经过实际检验,只要按照程序要求输入,就能够实现。
总之,通过这次实习,我也认识到了我自己在程序设计这门课程上的不足,在以后的学习实践中,要更加的严谨踏实,对知识的把握要更加的细致入微,要活学活用,争取在这个学科上取得更大的进步。
3.代码清单和各函数功能简介:
#include<
stdio.h>
stdlib.h>
string.h>
conio.h>
ctype.h>
malloc.h>
#defineN2
typedefstructz1
{intno;
charname[8];
intscore[N];
floatsum;
floataverage;
intorder;
structz1*next;
}student;
student*create();
voidprint(student*h);
student*search(student*h);
voidsave(student*h);
student*sort(student*h);
student*index(student*h);
intc;
voidshowMenu()
{
printf("
****\t\t\t1.查询学生信息****\n"
);
****\t\t\t2.按成绩排序输出****\n"
****\t\t\t3.显示所有学生信息****\n"
****\t\t\t4索引操作****\n"
*******************************************************************************\n"
请输入相应的数字进行操作......\n"
scanf("
%d"
&
c);
}
voidmain()
{
\n\n\n**********************欢迎使用我的学生成绩管理系统**********************\n\n"
student*head;
head=create();
save(head);
while(true){
showMenu();
if(c==3){
print(head);
if(c==1){
search(head);
if(c==2)
sort(head);
if(c==4){
head=index(head);
}
student*create()
{printf("
*******************************学生成绩管理系统*********************************\n"
inti;
ints;
inta;
student*h=NULL,*info,*pinfo;
for(a=0;
a<
N;
a++)
{
s=0;
info=(student*)malloc(sizeof(student));
if(!
info)
{printf("
\n内存溢出"
returnNULL;
if(a==0)h=pinfo=info;
输入学号:
\n"
info->
no);
输入姓名:
scanf("
%s"
name);
输入五门课程绩\n"
for(i=0;
i<
i++)
{do{printf("
score%d:
"
i+1);
score[i]);
if(info->
score[i]>
100||info->
score[i]<
0)
printf("
输入的数据有错误\n"
}while(info->
0);
s+=info->
score[i];
info->
sum=(float)s;
average=(float)s/N;
order=0;
next=0;
pinfo->
next=info;
pinfo=info;
getchar();
returnh;
voidprint(student*h)
student*p;
p=h;
for(;
p!
=0;
p=p->
next)
\n\n\n*************************************student********************************\n"
|no|name|sc1|sc2|sc3|sc4|sc5|sum|ave|order|\n"
|-----------|------------|----|----|----|----|----|----|-----|-------|\n"
|%d|%12s|%4d|%4d|%4d|%4d|%4d|%4.2f|%4.2f|%7d|\n"
p->
no,p->
name,p->
score[0],p->
score[1],p->
score[2],p->
score[3],p->
score[4],p->
sum,p->
average,p->
order);
****************************************end*************************************\n"
student*search(student*h)
{student*p;
chars[8];
s);
while(strcmp(p->
name,s)&
&
=NULL)
p=p->
next;
if(p==NULL)
\nlistno%sstudent\n"
else
\n\n***********************havefound***********************\n"
|------|-------|----|----|----|----|----|-----|-----|-------|\n"
|%d|%7s|%4d|%4d|%4d|%4d|%4d|%4.2f|%4.2f|%7d|\n"
*************************end****************************\n"
voidsave(student*h)
{FILE*fp;
charoutfile[10];
Enteroutfilename,forexamplec:
\\f1\\te.txt:
outfile);
if((fp=fopen(outfile,"
wb"
))==NULL)
不能打开文件\n"
\nSavingfile.......\n"
while(p!
{fwrite(p,sizeof(student),1,fp);
fclose(fp);
**********************保存成功!
**************************\n"
student*sort(student*h)
{inti=0;
student*p,*q,*t,*h1;
h1=h->
h->
next=NULL;
while(h1!
{t=h1;
h1=h1->
q=h;
while(t->
sum<
p->
sum&
{q=p;
if(p==q)
{t->
next=p;
h=t;
q->
next=t;
{i++;
p->
order=i;
**********************排序成功!
student*index(student*h)
while((t->
no)>
0&
*************************索引成功!
**********************\n"
各函数功能简介:
a.输入函数creat()
创建一个链表,输入学生基本信息(学号,姓名,五门课程绩),然后进行后续操作。
b.保存函数save()
输入信息后立即保存,按照提示信息进行保存,能够在保存的磁盘里查看。
c.主菜单showMenue()
主菜单函数为程序的指向标,可以根据主菜单函数的提示信息进行相应操作,使得操作流程简洁明了。
d.显示函数print()
显示输入的学生基本信息,使其基本信息简洁显示。
e.查找函数search()
根据输入的姓名进行查找,实现程序查找功能。
f.索引函数index()
按照分类字段排序,本函数是根据学号进行排序的。
排序方法为插入法,排序字段为字符串,并且按升序拍的,比较大小用字符串比较函数strcmp()。
目录
1.内蒙古科技大学课程设计任务书
2.摘要
3.代码清单和各函数功能简介
1程序部分
2各个函数功能简单分析:
1主菜单函数(main)
2输入函数create()
3保存函数(save)
4主菜单showMenue()
5显示函数printer()
6查找函数(search)
7索引函数(index)
4.小结
5.参考资料
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言