c语言课程设计报告含代码.docx

上传人:b****4 文档编号:3008010 上传时间:2022-11-17 格式:DOCX 页数:25 大小:165.29KB
下载 相关 举报
c语言课程设计报告含代码.docx_第1页
第1页 / 共25页
c语言课程设计报告含代码.docx_第2页
第2页 / 共25页
c语言课程设计报告含代码.docx_第3页
第3页 / 共25页
c语言课程设计报告含代码.docx_第4页
第4页 / 共25页
c语言课程设计报告含代码.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

c语言课程设计报告含代码.docx

《c语言课程设计报告含代码.docx》由会员分享,可在线阅读,更多相关《c语言课程设计报告含代码.docx(25页珍藏版)》请在冰豆网上搜索。

c语言课程设计报告含代码.docx

c语言课程设计报告含代码

 

西安郵電學院

C语言课程设计报告

题目:

学生成绩管理系统

院系名称:

计算机学院

专业名称:

计算机科学与技术

班级:

学生姓名:

学号(8位):

指导教师:

设计起止时间:

 

一.设计目的

1.强化上机动手能力,在理论和实践的基础上进一步巩固《C语言程序设计》课程学习的内容,掌握工程化软件设计的基本方法;

2.学会将知识应用于实际的方法,提高分析和解决问题的能力,增加综合能力;

3.为后续各门计算机课程的学习打下坚实基础。

二.设计内容

1.通过键盘输入学生成绩档案;

2.对所输入的数据进行排序,删除修改,插入等管理操作;

3.运用文件将实现数据的保存和读出;

4.对此程序进行加密操作;

5.实现程序操作界面的简单美化;

6.实现程序的操作简单化,方便用户。

三.概要设计

1.功能模块图;

 

2.各个模块详细的功能描述。

1.通过密码进入系统(已确立的密码);

2.输入数据(学生的学号姓名,性别,年龄,各门学科的成绩);

3.查找成绩(根据学号或者姓名进行查询);

4.删除学生信息(整条信息的删除);

5.插入修改学生信息;

6.对成绩进行排序(按平均分);

7.存储数据(文件存储);

8.读出数据(将保存在文件的数据读出);

9.退出程序;

四.详细设计

1.功能函数的调用关系图

2.各功能函数的数据流程图

学生成绩档案的输入成绩的修改

 

整条删除和添加学生信息学生成绩统计和排序

 

文件的保存于读取成绩输出

3.重点设计及编码

删除功能函数

voiddel()

{

intn,j;

printf("请输入学号:

\n");

scanf("%d",&n);

for(j=0;j<=c;j++)

{

if(stu[j].stuNO==n)

{

inti=j;

while(i++!

=c)

stu[i-1]=stu[i];

}

}

--c;

menu();

}

五.测试数据及运行结果

1.正常测试数据和运行结果

注释:

个人成绩信息的输入排序(按照学号)级打印

2.异常测试数据及运行结果

输入的错误数据结果

六.调试情况,设计技巧及体会

1.改进方案

对于此次课程设计,总体我认为还是不错的,但是仍存在这一点遗憾就是:

我对界面进行了简单的颜色和整体结构设计但仍不完美,还有就是没有运用链表而是采用了数组进行了数据的保存。

因此接下来的任务就显而易见了,这就需要我再接再厉,将此次课程设计所要求设计的程序美化,使之成为一个简单实用完美的程序!

2.体会

通过此次课程设计,使我更加扎实的掌握了有关C语言方面的知识,在设计过程中虽然遇到了一些问题,但经过一次又一次的思考,一遍又一遍的检查终于找出了原因所在,也暴露出了前期我在这方面的知识欠缺和经验不足。

实践出真知,通过亲自动手制作,使我们掌握的知识不再是纸上谈兵。

在课程设计过程中,我们不断发现错误,不断改正,不断领悟,不断获取。

最终的检测调试环节,本身就是在践行“过而能改,善莫大焉”的知行观。

这次课程设计终于顺利完成了,在设计中遇到了很多问题,最后在老师的指导下,终于游逆而解。

在今后社会的发展和学习实践过程中,一定要不懈努力,不能遇到问题就想到要退缩,一定要不厌其烦的发现问题所在,然后一一进行解决,只有这样,才能成功的做成想做的事,才能在今后的道路上劈荆斩棘。

七.参考文献

《C语言程序设计》(第二版)

《C语言程序设计》谭浩强编清华大学出版社

八.附录:

#include"stdio.h"

#include"windows.h"

#include"time.h"

#include"stdlib.h"

#include"conio.h"

#defineNUM200

//结构体定义

structnode

{

intstuNO;

charname[10];

charsex[6];

intage;

intChinese;

intEnglish;

intComputer;

intMath;

inttotal;

intaverage;

}stu[NUM];

structnodetemp;

intc=0;

//函数声明

voidmenu();

voidinput();

voidsort();

voidfind();

voiddel();

voidoutput();

voiderror();

voidinsert();

voidprint(inti);

intmima(void);

voidtuichu();

voidread();

voidsave();

voidput();

voidmain()

{

intn=0,choice,password;

for(choice=1;;choice++)

{

password=mima();

if(password==1)

break;

elseif(choice==3)

{

printf("\n输入次数已达到3次,系统将强制退出!

\n");

exit

(1);//密码错误异常退出

}

}

menu();

}

//菜单函数

voidmenu()

{

intselect;

time_tt;

time(&t);

system("cls");

printf("\n");

printf("\t\t〖欢迎您使用成绩管理系统〗\n");

printf("\n");

printf("\t\t\t\t————西安邮电学院王一帆\n");

printf("\n");

printf("\t\t▂▃▄▅▆▇█▇▆▅▄▃▂\n");

printf("\t******************************************************\n");

printf("\t*\t\t[1]输入成绩*\n");

printf("\t*\t\t[2]查找成绩*\n");

printf("\t*\t\t[3]插入成绩*\n");

printf("\t*\t\t[4]删除成绩*\n");

printf("\t*\t\t[5]打印成绩*\n");

printf("\t*\t\t[6]成绩排序*\n");

printf("\t*\t\t[7]保存文件*\n");

printf("\t*\t\t[8]读取文件*\n");

printf("\t*\t\t[0]退出系统*\n");

printf("\t******************************************************\n");

printf("\t******************************************************\n");

printf("\n");

printf("\t\t\t当前时间%s",ctime(&t));

printf("\n");

printf("\t请输入你的选项(0--8):

");

scanf("%d",&select);

switch(select)//判断选择

{

case1:

system("color1F");

input();

break;

case2:

system("color2F");

find();

break;

case3:

system("color3F");

insert();

break;

case4:

system("color4F");

del();

break;

case5:

system("color5F");

output();

break;

case6:

system("color6F");

sort();

break;

case7:

system("color7F");

save();

break;

case8:

system("color8F");

put();

break;

case0:

system("color9F");

tuichu();

break;

default:

error();

break;

}

}

//输入函数

voidinput()

{

inti;//循环变量

system("cls");//清屏

printf("\n");

printf("请输入你要输入的人数:

");

scanf("%d",&c);//下标C保存多少个学生

c--;

if(c>NUM)

{

printf("最多输入%d个学生\n",NUM);

printf("按任意键返回");

getchar();

getchar();

input();//递归调用

}

for(i=0;i<=c;i++)//NUM是一个常量

{

printf("\n第%d个学生的学号:

",i+1);

scanf("%d",&stu[i].stuNO);

printf("第%d个学生的姓名:

",i+1);

scanf("%s",stu[i].name);

printf("第%d个学生的性别:

",i+1);

scanf("%s",stu[i].sex);

printf("第%d个学生的年龄:

",i+1);

scanf("%d",&stu[i].age);

printf("第%d个学生的语文成绩:

",i+1);

scanf("%d",&stu[i].Chinese);

printf("第%d个学生的英语成绩:

",i+1);

scanf("%d",&stu[i].English);

printf("第%d个学生的电脑成绩:

",i+1);

scanf("%d",&stu[i].Computer);

printf("第%d个学生的数学成绩:

",i+1);

scanf("%d",&stu[i].Math);

stu[i].total=stu[i].Chinese+stu[i].English+stu[i].Computer+stu[i].Math;

stu[i].average=stu[i].total/4;

}

printf("\n按回车键返回主菜单……\n");

getchar();

getchar();

menu();

}

//排序函数

voidsort()

{

inti,j;

structnodetemp;

for(i=0;i

{

for(j=i+1;j

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

当前位置:首页 > 农林牧渔 > 林学

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

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