大一C语言课程设计文档格式.docx

上传人:b****6 文档编号:18061566 上传时间:2022-12-13 格式:DOCX 页数:24 大小:317.14KB
下载 相关 举报
大一C语言课程设计文档格式.docx_第1页
第1页 / 共24页
大一C语言课程设计文档格式.docx_第2页
第2页 / 共24页
大一C语言课程设计文档格式.docx_第3页
第3页 / 共24页
大一C语言课程设计文档格式.docx_第4页
第4页 / 共24页
大一C语言课程设计文档格式.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

大一C语言课程设计文档格式.docx

《大一C语言课程设计文档格式.docx》由会员分享,可在线阅读,更多相关《大一C语言课程设计文档格式.docx(24页珍藏版)》请在冰豆网上搜索。

大一C语言课程设计文档格式.docx

k=N;

for(i=0,j=1;

k!

=1;

j++)

if(p>

(a+N))

if(*p!

=0)

i++;

if(i%3==0&

&

i!

*p=0;

i=0;

k--;

}

p++;

for(i=1;

i<

=N;

i++)

if(a[i]!

牰湩晴尨最后留下的是%d\n,a[i]);

return0;

1.4流程图

-1-

i=0,p=aN=17

i=0

=a+NY

N

*p=i,i++,p++

p=a+1,i=0,j=0

=1

Y

p>

a+N

N

p=a+N

Y

*p!

=0

i++Y

i%3!

=0

*p=0,i=0,k--

p++,j++

=N

输出最后留下的值N

i++

结束

图1.1基本题目的流程图

1.5程序的运行结果

基本体运行结果如图1.2所示:

图1.2基本题目运行结果

2改错题目

2.1改正后程序

intx=1;

inty;

y=x++;

printf(y=%d,y);

intz;

z=++x;

printf(z=%d\n,z)

2.2程序运行结果

程序完成的功能:

用x的初始值算出y与z的值。

改正后的运行结果如图2.1所示:

语言课程设计自动化与电气工程学院C

改正后的运行结果图2.1

综合题目3.题目3.1

门课程。

该系统实MN个学生的班级,每个学生有班级成绩管理系统,对一个有现对班级成绩的录入、显示、修改、排序、保存等操作的管理。

3.2程序的主要功能本程序实现对一个班学生某几门课程的录入,成绩的显示、成绩的保存、对成绩进行排、对成绩进行修改、对成绩进行统计(包括每门课程的最高分、平均分、超过每门平均分的人数等),运行程序后退出程序。

3.3各函数的功能函数input

(1)门课程的输入。

N位学生,M利用嵌套循环语句,实现对函数)output(2实现对先前输入学生成绩的输出。

save函数(3)将输入数据存入指定文件中。

函数4)rank(计算出所有学生的成绩总分,并按照分数从高到低,进行输出。

)change函数(5

判断密码是否正确,并对选中学生成绩进行修改。

3.4程序流程图

x

'

a'

A'

f'

F'

B'

b'

e'

E'

D'

d'

i=0i'

c'

C'

g'

G输输fo科目科目Ycoui++定文YRetui++n0,i<

=M总tra的统Ni<

Mi=0数,进N加密码i=0修改学名、学成绩fo详见5j=0生姓输出成输j++

输学YY

Y输j<

M

成Ni++i++

NNN

While

(1)

结束

综合题目的流程图3.1图

3.4源程序

#include<

#include<

string.h>

windows.h>

#defineN10/*学生人数*/

#defineM4/*课程数*/

#definePASS890508/*修改密码*/

voidinput();

/*成绩输入*/

voidoutput();

/*成绩显示*/

voidsave();

/*成绩保存*/

voidrank();

/*成绩排序*/

voidtran();

/*成绩修改*/

voidcoun();

/*成绩统计*/

voiderrorinput();

/*出错输出*/

structstudent/*成绩数据结构体*/

charname[10];

intnum;

floatscore[M];

doublesum;

stud[N];

charsubject_name[N][10];

charx;

while

(1)

{

system(cls);

printf(

________________________________________________________\n);

printf(***班级成绩管理系统***\n);

***\n);

printf(***

printf(***A[成绩录入]

[成绩显示]printf(***B

printf(***

成绩保存printf(***C[]

***printf(

[Dprintf(***成绩排序]***\n);

成绩修改***printf(E[]

printf(***\n);

***

***printf(][F成绩统计***\n);

printf(******\n);

printf(***G[退出系统]***\n);

printf(输入你的选择:

);

scanf(%c,&

x);

switch(x)

case'

:

case'

input();

break;

output();

save();

rank();

tran();

coun();

G'

default:

errorinput();

}

getchar();

return0;

voidinput()/*成绩输入*/

inti,j;

\n);

请输入科目名称:

瀠楲瑮?

*//*输入科目名称for(i=0;

M;

%d:

i+1);

牰湩晴尨科目scanf(%s,subject_name[i]);

输入学生信息、各科成绩/**/for(i=0;

N;

\n,i+1);

%d学生牰湩晴尨);

牰湩晴尨:

scanf(%s,&

stud[i].name);

牰湩晴尨学号:

scanf(%d,&

stud[i].num);

for(j=0;

j<

printf(%s成绩:

subject_name[j]);

scanf(%f,&

stud[i].score[j]);

printf(\

voidoutput()/*成绩显示*/

printf(学号);

for(i=0;

=M;

printf(%s,subject_name[i]);

/*在一行里面输出科目名称,相互之间有间隔。

作为其下列表的目录。

*/

printf(%1s\t_x001D_\t,stud[i].name,stud[i].num);

printf(%5.1f\t,stud[i].score[j]);

printf(!

输入任意键返回!

voidsave()/*成绩保存*/

FILE*fp;

if((fp=fopen(data.txt,w))==NULL)/*文件打开*/

printf(Fileopenerror!

return;

i++)/*写入各科目名称*/

fprintf(fp,%s,subject_name[i]);

fprintf(fp,\

i++)/*写入学生数据、成绩信息*/

fprintf(fp,%5s],stud[i].name,stud[i].num);

fprintf(fp,%6.1f,stud[i].score[j]);

if(fclose(fp))/*文件关闭*/

printf(Cannotclosethefile!

printf(Filesavesucceed!

voidrank()/*成绩排序*/

voidswap(int*px,int*py);

int*a;

a=newint[N];

doubletot;

i++)/*循环计算总分*/

a[i]=i;

for(j=0,tot=0;

tot=tot+stud[i].score[j];

stud[i].sum=tot;

i++){

N-i-1;

if(stud[a[j]].sum<

stud[a[j+1]].sum)

swap(&

a[j],&

a[j+1]);

学号总分\n);

printf(%d\t%s\t%.1f\n,stud[a[i]].num,stud[a[i]].name,stud[a[i]].sum);

delete[]a;

printf(!

输入任意键退出!

voidswap(int*px,int*py)

intt;

t=*px;

*px=*py;

*py=t;

voidtran()/*成绩修改*/

charch[10],flag='

Y'

;

请输入密码:

//检查密码

scanf(%s,ch);

if(strcmp(ch,S)!

牰湩晴尨密码错误!

(按任意键返回)\n);

while(flag=='

||flag=='

y'

)//修改成绩

牰湩晴尨输入要修改成绩的学生学号:

//按学号搜索

num);

i++)//i保存搜索到的学生序号

if(num==stud[i].num)

if(i==N)

if(num==0)

else

牰湩晴尨没有找到学生,请重新输入!

(输入0退出)\n);

continue;

牰湩晴尨请输入新的各科成绩:

//修改成绩

printf(%s:

牰湩晴尨是否继续修改(Y/N)?

scanf(%s,&

flag);

voidcoun()/*成绩统计*/

voidstate_high();

voidstate_ave();

voidstate_num();

charchoice;

printf(&

================================================&

选择菜单&

A.显示每门课程成绩最高的学生的基本信息&

B.显示每门课程的平均成绩&

C.显示超过某门课程平均成绩的学生人数&

D.返回&

choice);

switch(choice)

state_high();

state_ave();

state_num();

break;

按任意键返回主菜单\n);

voidstate_high()/*输出各科最高分的基本信息*/

inti,j,high;

for(i=0,high=0;

i++)/*high:

最高分的stu[high]*/

if(stud[i].score[j]>

stud[high].score[j])

high=i;

printf(%s最高分:

printf(%s\t学号%d\t\n,stud[high].name,stud[high].num);

voidstate_ave()/*每门课程平均成绩*/

floatsum,ave;

for(i=0,sum=0;

sum+=stud[i].score[j];

ave=sum/N;

printf(%s平均成绩:

%.1f\n,subject_name[j],ave);

voidstate_num()/*每门课程超过平均成绩的学生人数*/

inti,j,n;

sum=sum+stud[i].score[j];

for(i=0,n=0;

ave)

n++;

printf(%s超过平均分的人数为:

%d\t\n,subject_name[j],n);

voiderrorinput()/*出错输出*/

无效的输入,请重新输入!

3.5程序运行结果

程序运行初显示如图3.2所示:

程序运行初显示3.2图

输入“A”进行成绩录入后,输入“B”,对成绩进行显示如图3.3所示:

图3.3成绩显示

输入C,成绩保存如图3.4所示:

图3.4成绩保存

输入D,进行成绩排序如图3.5所示:

成绩排序图3.5

成绩修改如图3.6所示:

图3.6成绩修改

输入“F”,成绩统计如图3.7所示:

成绩统计3.7图

4结论与体会

这学期让我们做C语言课程设计,是因为这学期我们开了C语言这门课程,为了进一步培养我们结构化程序设计的思想,加深对高级语言基本语言要素和控制结构的理解,所以让我们针对C语言中的重点和难点内容进行训。

考完C语言后便去老师那里拿题。

我们是班里的最后一个组,所以之前也听说了课程设计相当难做,班里C语言学的好的同学都在埋怨难做,这就让我觉得犯难了。

当我把题目看完之后,认真想了想,基本题和改错题,靠自己一个人,应该完成不是难事。

但是综合题,我就蒙了。

基础题通过查资料基本完成了,但画流程图却是基本没有接触过,我又把我们课-1-

本中的这一部分复习了一下,明白以后,滤清思路,利用visio办公软件,很快便做了出来。

改错题也不是很难,理解了题意,读了一下程序,在VC6.0中走了几遍,便找出了错误,没多长时间,便也完成了。

接下来是综合题,读完题后,我就觉得不知如何下手了。

我们组的这道综合题应该说不算是综合题里最难的,但我觉得还是能力有限,想破头皮,都不能够很完整的做出来,所以综合题就只能和同组的同学讨论、查资料、询问学长来获取一些宝贵的信息来完成了,在此期间学到了不少新知识,掌握了更多C语言的技巧。

最终,经过我们小组成员的合作,还有和其他做同一道题小组成员的讨论,终于完成了这道题。

但程序似乎还是不太完善,比如程序太长,不能够简洁明了。

这次课程设计是在我们就军训期间抽空完成的,占用了我们大量的休息时间,但我觉得,从中学到的东西,让我得到更多,受益匪浅。

由于水平和时间原因,并且又是第一次做,这次的课程设计报告,肯定有许多不足之处,望老师指出并加以指导,让学生的学习能更进一步。

参考书目

[1]谭浩强.C程序设计[M].清华大学出版社,2010

[2]杨萌华.线性代数[M].北京大学出版社,2003

[3]严蔚敏.数据结构[M].清华大学出版社,2004

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

当前位置:首页 > 工程科技 > 能源化工

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

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