c语言课程设计

发布 2022-09-30 16:10:28 阅读 9078

课程设计报告。

课程名称:程序设计语言课程设计任课教师:尹剑伟。

设计题目:学生成绩管理系统所学专业:信息管理与信息系统班级学号:0911080207学生姓名:钟华。

报告完成日期:2023年09月29日。

一、题目(问题)描述。

用结构体数组结构实现简单的学生管理成绩管理功能,要求具有数据输入、数据输出、数组排序、元素插入、元素删除、查询等功能。

二、功能分析。

数据的录入:如录入学生的基本信息,以及该学生选修课程的基本信息;数据的修改:如修改指定学号、或者指定姓名的学生信息,或者修改其。

选修课程信息;

数据的插入:插入某个学生信息;

数据的查询:如按学号查询、按姓名查询等;

数据的删除:如删除指定学号、或者指定姓名的学生及其选修课程信息;平均成绩的计算:计算每个学生各门功课的平均成绩,并按平均成绩从。

高到低的次序输出学生信息;

列出不及格学生清单(学号、姓名、不及格的课程和成绩)。考虑用文件把数据保存起来(可选)。

三、系统设计1.程序总体结构。

程序中由主模块负责协调各功能模块的工作。进入程序后,根据输入操作,执行相应的录入、注销、挂失、查询、显示、统计、退出等功能。

学生成绩管理系统。

录入注销挂失查询。

显示统计。退出。

2.界面设计。

3.输入方式设计。

此程序为vc下程序,因此简化为键盘控制。

4.重要数据的数据结构设计。

struct student/*定义结构体数组*/

struct student stu[40]

5.函数设计。

函数原型函数功能。

学生成绩输入。

函数处理描述用for循环和if条件语句,通过调用input_one_record()函数,对学生成绩进行输入。

int input()

void sort_by_name()

排序。用for循环语句,通过调用void sort_by_

name()函数进行排序。

void query_a_record()

查找一个学生的成绩记录。

用if条件语句调用函。

数query,判断要查找的记录是否存在。

void display()

输出所有学生的成绩记用for循环和if条件语录句,通过调用void

display()函数,对学生。

成绩进行输出。

四、关键技术、难点及其解决方法。

插入信息:本系统采用的是按学号顺序来进行插入的,在这一功能的设计中,首先在开辟一个结构体空间将插入学生的信息存储于其中,在采用判断语句和循环语句来查找该条信息应该插入位置的地址,将上一结点的下行指针指向本结点,再将该节点的下行指针指向下一个结点从而达到插入信息的目的。在这一功能的设计中我感到插入的具体算法是个难点。

五、测试方法。

1.按键测试。检查正确的输入时,是否界面正确表现;错误输入时,是否无效。

2.程序运行测试。正确运行,观察是否异常;运行时中断,程序是否正确退出。随时中断是否可以,可以、进行。不可、重新修改。

六、总结。通过这次的课程设计,我收获了很多。在设计的过程中,我对课本的内容有了进一步的了解,编程及调试程序的能力都得到了较大的提高。

每个函数都调试了n多次,经常报错,当时真的很想砸电脑,不过当我写完了之后又非常地高兴很有成就感,从而促使我继续下去。而且在写程序时候开始没什么头绪,好不容易写出来一点东西又二三十个错,或者就是根本没有实现我想要它实现的功能,但是到后来慢慢的就越写越顺畅,真的很有意思啊!

附录**清单。

#include<>#include<>#include<>#include<>

struct student/*定义结构体数组*/;

int menu_select();

struct student input_one_record()/输入一个学生的成绩记录*/

int input(struct student stu,int n)/*输入学生成绩记录*/

return n+1;}

void display(struct student stu,int n)/*输出所有学生的成绩记录*/}

void sort_by_name(struct student stu,int n)/*排序*/

if(p!=i)/*判断最小数据是否在第一个*/}

printf("succeed!");

int insert_a_record(struct student stu,int n)/*插入一个学生成绩记录*/

int insert(struct student stu,int n,struct student *s)/*有序插入*/

int delete_a_record(struct student stu,int n)/*删除一个学生的成绩记录*/

int delete(struct student stu,int n,struct student *name)}

void query_a_record(struct student stu,int n)/*查找一个学生的成绩记录*/

if(i<=n-1)/*判断要查找的记录时候存在*/return i;/*存在,返回下标i*/

else return -1;/*不存在,返回提示信息*/}

int addfromtext(struct student stu,int n)/*从文件中整批输入*/

fscanf(fp,"%d",&num);

for(i=0;in+=num;fclose(fp);

sort_by_name(stu,n);/调用函数sort_by_name排序*/return n;}

void writetotext(struct student stu,int n)/*将记录写到文件*/

fprintf(fp,"%d",n+1);

for(i=0;i<=n-1;i++)循环将记录写到文件中*/fprintf(fp,"%s\t%f",stu[i].name,stu[i].score);fclose(fp);

printf("succeed!");

void quit(){

void main()/主函数*/}

int menu_select()/显示主菜单*/ while(c<'0'||c>'8');return(c-'0');

C语言课程课程设计

课程设计报告。课程名称 c语言程序设计 系别 xxx 专业班级 xxx班 学号 xxxxxxxxxx 姓名 xxx 课程题目 10或100以内儿童加减乘除算术游戏。完成日期 2013.6.14 19 指导老师 xxx 2013年 6月 21日。附件 一 程序模块图。二 源程序。include inc...

C语言课程设计

目录。1 c语言程序课程设计教学大纲。2 c语言程序课程设计说明书。3 c语言程序课程设计报告 模板 4 c语言程序课程设计成绩评定表。xx xx学院。课程教学大纲。课程名称 c语言程序课程设计。适用专业 课程类别 专业基础课。制订时间 2010年11月 计算机科学与技术系制。c语言程序课程设计教学...

C语言课程设计

目录。1 c语言程序课程设计教学大纲。2 c语言程序课程设计说明书。3 c语言程序课程设计报告 模板 4 c语言程序课程设计成绩评定表。珠海学院。课程教学大纲。课程名称 c语言程序课程设计。适用专业 2010级计算机科学与技术系各专业。课程类别 专业基础课。制订时间 2010年11月 计算机科学与技...