C语言课程实训报告样本 2.docx

上传人:b****6 文档编号:2920165 上传时间:2022-11-16 格式:DOCX 页数:36 大小:463.17KB
下载 相关 举报
C语言课程实训报告样本 2.docx_第1页
第1页 / 共36页
C语言课程实训报告样本 2.docx_第2页
第2页 / 共36页
C语言课程实训报告样本 2.docx_第3页
第3页 / 共36页
C语言课程实训报告样本 2.docx_第4页
第4页 / 共36页
C语言课程实训报告样本 2.docx_第5页
第5页 / 共36页
点击查看更多>>
下载资源
资源描述

C语言课程实训报告样本 2.docx

《C语言课程实训报告样本 2.docx》由会员分享,可在线阅读,更多相关《C语言课程实训报告样本 2.docx(36页珍藏版)》请在冰豆网上搜索。

C语言课程实训报告样本 2.docx

C语言课程实训报告样本2

HUBEIUNIVERSITYOFAUTOMOTIVETECHNOLOGY

 

C语言程序设计

课程实训报告

 

课设题目:

学生信息管理系统

专业:

电气工程及其自动化

班级:

k1223-1

姓名:

甘有明

成绩:

完成日期:

2013年12月28日-2014年1月11日

指导教师:

张吴波

1.课程实训目的

1)通过课程实训,加深对结构化程序设计思想的理解,能对系统功能进行分析,并设计合理的模块化结构。

2)通过课程实训,进一步掌握C语言中重要的数据结构。

掌握并熟练运用指针、链表、结构体、文件等数据结构。

3)通过课程实训,提高程序开发能力,能运用合理的控制流编写清晰高效的程序。

4)通过课程实训,培养C语言知识运用和自学能力,真正的把课堂上获得的知识运用起来,培养自己对程序编写的兴趣,并能独立设计和实现一个小型系统。

5)通过课程实训,加强了自己的程序分析能力。

2.需求分析

2.要求

1)遵循软件开发过程的基本规范;能灵活应用,初步具备运用C程序解决实际问题的能力。

2)运用结构化程序设计方法,按照课程实训题目要求,完成包括需求分析、数据结构设计、概要设计、详细设计、编写代码、调试和测试C程序等过程。

3)学会利用数组、结构体、链表进行相关信息表示。

4)功能模块划分清晰,系统结构图符合功能操作要求,且有详尽的功能描述

5)各主要功能模块有详尽的流程图及描述,用函数的形式实现,且调用入口、功能、出口等关系正确。

6)所设计的C程序较好的可读性和可靠性;程序书写风格规范,注释清晰。

7)界面友好(良好的人机互交),凡需要输入信息时,都有较详尽的提示信息,并对输入信息有较完善的值域分析。

8)程序经上机调试通过,不应出现语法型、功能型错误,并获得满意的结果。

9)学会通过各功能性测试用例测试程序的能力,尽可能避免原则性错误的出现。

10)掌握编写、调试和测试C语言程序的基本技巧,充分理解结构化程序设计的基本方法。

11)C语言课程实训报告的内容反应实际设计过程,且符合格式要求,无抄袭现象。

3.任务描述

题目描述

设计一学生证的管理程序。

该程序应具有下列功能:

(1)能从文件导入学生证信息

(2)能从键盘录入学生证信息

(3)给定学号,显示某位学生的学生证信息;

(4)给定某个班级的班号,显示该班所有学生的学生证信息;

(5)给定某位学生的学号,可以修改该学生的的学生证信息;

(6)给定某位学生的学号,可以删除该学生的学生证信息;

(7)可以将学生信息导出到文件

题目要求

(1)按分析、设计、编码、调试和测试的软件开发过程完成这个应用程序。

(2)学分信息应该包括学号、姓名、课程类别和学分等。

(3)为各项操作功能设计一个菜单。

应用程序运行后,先显示这个菜单,然后用户通过菜单项选择希望进行的操作项目。

(4)每个功能操作中,不应有原则性的错误出现;

(5)对输入值用测试用例测试,不应有错误出现;

(6)界面应友好,操作应流畅。

输入要求

应用程序运行后,在屏幕上显示一个菜单。

用户可以根据需求,选定相应的操作项目。

进入每个操作后,一般应有相应的子菜单,或有相应的提示信息,根据提示信息的要求,从键盘或文件输入相应的信息。

输出要求

(1)应用程序运行后,要在屏幕上显示一个菜单。

(2)要求用户输入数据时,要给出清晰、明确的的提示信息,包括输入的数据内容、格式及结束方式等。

提示`

设计一个结构体类型和一维数组类型,用来保存学分信息。

扩展功能

将所有学生的学分信息存储在一个文件中,并实现文件读写的操作。

4基本描述

voidmenu();//主菜单

intinput(STUDENTs[],intn);/*录入全部学生的信息,有返回值*/

voidbrowseall(STUDENTs[],intn);/*显示全部学生的信息,无返回值*/

intadd(STUDENTs[],intn);/*添加某位学生的信息,有返回值*/

voidbrowsestudent(STUDENTs[],intn);/*显示某位学生的信息,无返回值*/

voidbrowseclass(STUDENTs[],intn);/*显示该班所有学生情况,无返回值*/

voidamend(STUDENTs[],intn);/*给定某位学生的学号,修改该学生的信息,无返回值*/

intDelete(STUDENTs[],intn);/*给定某位学生的学号,删除该学生的信息,有返回值*/

5应用程序运行中,用户需要使用的交互命令名称、功能和格式的详细解决和示例

1菜单

2.输入学生信息

3.显示

4.添加学生信息

5.显示某位学生情况

6显示该班所有成绩

 

7删除学生20129230113的学分信息

8显示删除后所有学生的信息

10退出

6.各模块的主要算法(用流程图描述)和数据结构解释

main()流程图

input()流程图add()流程图

browseall()流程图browsestudent()流程图browseclass()流程图

amend()流程图Delete()流程图

graduation()流程图

7程序源代码:

#include

#include

#include

#include

#include

#defineN100

structClass//班级

{

charCname[20];//班名

charCno[20];//班号

};

structStudent//学生

{

charSname[20];//姓名

charSex[10];//性别

charSno[20];//学号

intAge;//年龄

structClassCInfo;//嵌套结构体,表示班级信息

}StuInfo[N];

//函数申明

voidmenu();//主菜单

voidadd();//添加模块

voidmodify();//修改模块

voidDelete();//删除模块

voidbrowse();//浏览模块

voidquiry();//查询模块

voidstastic();//统计模块

voidbySname();//按姓名查询,子模块

voidbySno();//按学号查询,子模块

voidbyCno();//按班号查询,子模块

voidStuMsg();//返回全体学生统计信息,子模块

voidFemale();//女生统计信息,子模块

voidMale();//男生统计信息,子模块

intFemaleNum();//返回女生人数,子函数

floatFemaleMG();//返回女生平均年龄,子函数

intMaleNum();//返回男生人数,子函数

floatMaleMG();//返回男生平均年龄,子函数

intStuNum();//返回全体学生人数,子函数

floatMG();//返回全体学生的平均年龄,子函数

voidBackMenu();//返回主菜单

voidBackQuiry();//返回查询子菜单

voidBackStastic();//返回统计子菜单

intLoadFile();//加载文件

voidSaveFile(intnum);//保存文件

voidInput(intnum);//输入第num+1个记录

voidjianjie();//软件简介

voidmain()

{

menu();

getchar();

}

voidmenu()//菜单

{

intchose;

intright;

do

{

system("cls");

printf("\n\t\t\t\t学生证管理系统\n");

printf("--------------------------------------------------------------------------------");

printf("菜单:

\n\n1-添加学生信息\n\n2-修改学生信息\n\n3-浏览全部学生信息\n\n4-查询学生信息\n\n5-统计学生信息\n\n6-删除学生信息\n\n7-软件功能及开发\n\n8-退出\n\n");

printf("--------------------------------------------------------------------------------");

printf("请输入数字选择:

");

scanf("%d",&chose);

if(chose<1||chose>8)

{

printf("输入错误,请重新输入!

\n");

right=1;

getchar();

}

elseright=0;

}while(right==1);

switch(chose)

{

case1:

add();break;

case2:

modify();break;

case3:

browse();break;

case4:

quiry();break;

case5:

stastic();break;

case6:

Delete();break;

case7:

jianjie();break;

case8:

exit(0);

}

}

voidBackMenu()//返回主菜单

{

printf("\n请按enter键返回主菜单!

\n");

getchar();

getchar();

menu();

}

intLoadFile()//读取文件

{

inti;

FILE*fp;

if((fp=fopen("StuInfo.txt","r"))==NULL)

{

return0;//返回0,表示文件不存在

}

for(i=0;!

feof(fp);i++)

{

fscanf(fp,"%s%s%s%d%s%s",&StuInfo[i].Sname,&StuInfo[i].Sex,&StuInfo[i].Sno,&StuInfo[i].Age,&StuInfo[i].CInfo.Cno,&StuInfo[i].CInfo.Cname);

}

fclose(fp);

returni;//返回记录条数

}

voidInput(intnum)//输入第num+1条记录

{

inti;

intage;

charsno[20];

charsex[20];

charcno[20];

intright;

if(num==N)

{

printf("\n保存记录数超出结构体数组数的大小,请先修改N的值\n");

BackMenu();

}

printf("\n请按照提示输入学生信息:

\n\n");

printf("姓

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

当前位置:首页 > PPT模板 > 国外设计风格

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

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