c语言课程设计算学分吗,c语言课程设计-学生学分管理程序.doc

2023-11-22 06:40

本文主要是介绍c语言课程设计算学分吗,c语言课程设计-学生学分管理程序.doc,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

44cb7578e1df5412b94317daaa3307ba.gifc语言课程设计-学生学分管理程序.doc

下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。

2.下载的文档,不会出现我们的网址水印。

3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。

文档包含非法信息?点此举报后获取现金奖励!

下载文档到电脑,查找使用更方便

9

积分

还剩页未读,继续阅读

关 键 词:c语言课程设计-学生学分管理程序.doc

c语言课程设计学生学分管理程序

c语言课程设计

学生学分管理程序

c语言课程设计-学生学分管理程序

c语言课程设计学分管理程序

学生学分管理

学分管理程序

资源描述:

北京信息职业技术学院

程序设计基础实训

项目名称:

学生学分管理

系 别: 计算机工程系

专 业: 计算机网络技术

班 级: 0922211

学生姓名:

指导教师:

北 京 信 息 职 业 技 术 学 院

2010年 1 月 日

一、项目背景介绍

(概要介绍此项目设计的意义和要求)

本程序为学生学分管理系统。本程序根据现实中的问题通过c语言形式编程。本程序要求能够登记学分,显示学分查询学分,修改学分,删除学分,统计学分。

二、程序功能描述:

(描述基本程序中每个函数的功能,给处各函数流程图)

1、

登记单流程图

开始

输入数据

是否继续输入

退出

2、

显示学分流程图

I=1

输出

I=2

输出

I=3

输出

I=n

输出

。。。

。。。

3、

查询学分流程图

开始

按学号查询

按姓名查询

按姓名查询

是否继续查询

退出

输出数据

显示对不起没有该信息

是否找到

显示该信息

按学号查询

按姓名查询

按姓名查询

4、

修改信息流程图

开始

按学号修改

按姓名修改

按班级修改

是否继续修改

退出

重新输入数据

5、

删除信息流程图

开始

按学号删除

按姓名删除

按班级删除

是否继续删除

退出

6、

统计信息流程图

开始

计算出结果

是否继续统计

退出

需补考

专业课

需补考

选修课的

需补考

基础课的

需补考

人文课的

需补考

实验课的

统计能够

毕业的学生

三、设计方案介绍

(基本思想函数调用的思路介绍)

1、主流程图

学生学分管理

查询模块

显示模块

登记模块

修改模块

删除模块

统计模块

按学号查询

按学分查询

按班级查询

按姓名查询

按学号修改

按学分修改

按班级修改

按学号修改

按学分修改

按班级修改

姓名

班级

基础课学分

专业课学分

选修课学分

人文类课程学分

实验性课程学分

按学分统计

按班级统计

按学号统计

显示全部

2、界面设计

(界面设计,函数的定义,功能设计、,罗列出所有需要解决的问题

函数调用问题,循环问题,查找问题,修改问题,查询问题,删除问题,比较问题。

3、变量定义

序号

变量名

变量性质(局部/全局)

功能

作用范围

1

typedef

全局

定义结构体类型

整体

2

Int

全局

定义五门课类型

整体

...

Char

全局

定义学号班级姓名类型

整体

5、函数调用的类型

四、测试与分析

(简要介绍测试的作用及意义)

测试可以知道所编写的程序是否可行,通过实际的测试可以找出程序是否符合现实。通过测试和反复修改可以使程序更加人性化。

(一)测试列表

(以表格的形式给出,不少于10个)

测试数据或执行操作

执行结果

是否正确

测试人签名

调用主菜单

显示了主菜单

正确

选择主菜单里的1

请输入学生学生信息….

正确

输出

有重复有乱码

查询

修改

按学号修改…….

按学号查询

显示了该信息

按班级查询

只显示里一名同学的信息

按学好删除

删除成功

须补考基础课的

所有学生信息都显示

可升学学生

显示了该显示的信息

(二)测试结果分析

(根据以下表格,如实填写并签名)

bug个数

错误类型

错误原因分析

是否修改

设计者签名

1

与count声名中的类型不匹配

少了void count()

2

错误 jia.c 19: 表达式语法错在 main 函数中

Scanf中少了&s

4

错误 jia.c 31: do语句中必须有while关键字在 main 函数中

没写while

5

错误 jia.c 30: 未定义的符号's'在 main 函数中

上面没int I;

6

错误 1.c 335: 表达式语法错在 count 函数中

Switch() 括号里没有变量

7

五、实训总结

(总结实训过程中的所使用的知识和已实现的功能,总结自己掌握理论知识和动手能力的程度,提出自己的不足之处及改进措施)

通过这一周的实训。我们充分运用了所学的东西编出了解决实际问题的程序。我们运用了函数的调用,循环,定义,比较,查找,删除等知识。通过实际动手,我更加深入的了解了课本上的知识。同时提高了我的动手能力。

实训中我找到了我许多的不足,以前我遇到不董的就会直接去问别人,不独自思考。试训中我学会了独自思考和团队合作。虽然我在编程当中遇到许多问题,但经过独自思考和学习解决了问题。最后编出了管理程序。

C语言学生学分管理程序代码

typedef struct student

{ char num[11],name[7],class[10];

int jichu,renwen,xuanxiu,zhuanye,shiyan;

}STU;

STU st[37];

static int n;

void menu();

void input();

void print();

void query();

void modi();

void del();

void count();

main()

{ int s;

do{

menu();

printf("\n\t\t\t\t 请选择:");

scanf("%d",&s);

switch(s)

{ case 0:break;

case 1:input();break;

case 2:print();break;

case 3:query();break;

case 4:modi();break;

case 5:del();break;

case 6:count();break;

default:printf("选择无效!");

}

}while(s!=0);

getch();

}

void menu()

{ clrscr();

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

printf("\t\t\t********欢迎您的使用********\n");

printf("\t\t\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*** 0-退出 ***\n");

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

}

void input()

{ do

{ printf("请输入学生信息:学号 姓名 班级 基础课 专业课 选修课 人文课 实验课\n");

scanf("%s%s%s%d%d%d%d%d",st[n].num,st[n].name,st[n].class,&st[n].jichu,&st[n].zhuanye,&st[n].xuanxiu,&st[n].renwen,&st[n].shiyan);

n++;

printf("是否继续输入?(n-退出,任意键继续):");

}while(getche()!='n');

}

void print()

{ int i;

printf("\n序号\t学号\t 姓名\t班级\t基础课\t专业课\t选修课\t人文课\t实验课\n");

for(i=0;i=60&st[i].zhuanye>=60&st[i].xuanxiu>=60&st[i].renwen>=60&st[i].shiyan>=60)

printf("%2d %7s %7s %5s %4d\t%4d\t%4d\t%4d\t%4d\n",i+1,st[i].num,st[i].name,st[i].class,st[i].jichu,st[i].zhuanye,st[i].xuanxiu,st[i].renwen,st[i].shiyan);

getch();

}

void count2()

{ int i;

printf("\n序号\t学号\t 姓名\t班级\t基础课\t专业课\t选修课\t人文课\t实验课\n");

for(i=0;i=60&st[i].xuanxiu>=60&st[i].renwen>=60&st[i].shiyan>=60)

printf("%2d %7s %7s %5s %4d\t%4d\t%4d\t%4d\t%4d\n",i+1,st[i].num,st[i].name,st[i].class,st[i].jichu,st[i].zhuanye,st[i].xuanxiu,st[i].renwen,st[i].shiyan);

getch();

}void count3()

{ int i;

printf("\n序号\t学号\t 姓名\t班级\t基础课\t专业课\t选修课\t人文课\t实验课\n");

for(i=0;i=60&st[i].zhuanye<60&st[i].xuanxiu>=60&st[i].renwen>=60&st[i].shiyan>=60)

printf("%2d %7s %7s %5s %4d\t%4d\t%4d\t%4d\t%4d\n",i+1,st[i].num,st[i].name,st[i].class,st[i].jichu,st[i].zhuanye,st[i].xuanxiu,st[i].renwen,st[i].shiyan);

getch();

}

void count4()

{ int i;

printf("\n序号\t学号\t 姓名\t班级\t基础课\t专业课\t选修课\t人文课\t实验课\n");

for(i=0;i=60&st[i].zhuanye>=60&st[i].xuanxiu<60&st[i].renwen>=60&st[i].shiyan>=60)

printf("%2d %7s %7s %5s %4d\t%4d\t%4d\t%4d\t%4d\n",i+1,st[i].num,st[i].name,st[i].class,st[i].jichu,st[i].zhuanye,st[i].xuanxiu,st[i].renwen,st[i].shiyan);

getch();

}

void count5()

{ int i;

printf("\n序号\t学号\t 姓名\t班级\t基础课\t专业课\t选修课\t人文课\t实验课\n");

for(i=0;i=60&st[i].zhuanye>=60&st[i].xuanxiu>=60&st[i].renwen<60&st[i].shiyan>=60)

printf("%2d %7s %7s %5s %4d\t%4d\t%4d\t%4d\t%4d\n",i+1,st[i].num,st[i].name,st[i].class,st[i].jichu,st[i].zhuanye,st[i].xuanxiu,st[i].renwen,st[i].shiyan);

getch();

}

void count6()

{ int i;

printf("\n序号\t学号\t 姓名\t班级\t基础课\t专业课\t选修课\t人文课\t实验课\n");

for(i=0;i=60&st[i].zhuanye>=60&st[i].xuanxiu>=60&st[i].renwen>=60&st[i].shiyan<60)

printf("%2d %7s %7s %5s %4d\t%4d\t%4d\t%4d\t%4d\n",i+1,st[i].num,st[i].name,st[i].class,st[i].jichu,st[i].zhuanye,st[i].xuanxiu,st[i].renwen,st[i].shiyan);

getch();

}

void count()

{ int s;

do{

menu4();

printf("\n\t\t\t\t 请选择:");

scanf("%d",&s);

switch(s)

{ case 0:break;

case 1:count1();break;

case 2:count2();break;

case 3:count3();break;

case 4:count4();break;

case 5:count5();break;

case 6:count6();break;

default:printf("选择无效!");

}

}while(s!=0);

getch();

}

-19-

展开阅读全文

温馨提示:

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。

2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。

3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。

4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。

5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。

6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。

7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

bb6249c6567dd4384e6ab3556cfc22ed.gif 

人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。

关于本文

本文标题:c语言课程设计-学生学分管理程序.doc

链接地址:https://www.renrendoc.com/p-20958309.html

这篇关于c语言课程设计算学分吗,c语言课程设计-学生学分管理程序.doc的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/408245

相关文章

C语言中%zu的用法解读

《C语言中%zu的用法解读》size_t是无符号整数类型,用于表示对象大小或内存操作结果,%zu是C99标准中专为size_t设计的printf占位符,避免因类型不匹配导致错误,使用%u或%d可能引发... 目录size_t 类型与 %zu 占位符%zu 的用途替代占位符的风险兼容性说明其他相关占位符验证示

C语言进阶(预处理命令详解)

《C语言进阶(预处理命令详解)》文章讲解了宏定义规范、头文件包含方式及条件编译应用,强调带参宏需加括号避免计算错误,头文件应声明函数原型以便主函数调用,条件编译通过宏定义控制代码编译,适用于测试与模块... 目录1.宏定义1.1不带参宏1.2带参宏2.头文件的包含2.1头文件中的内容2.2工程结构3.条件编

Go语言并发之通知退出机制的实现

《Go语言并发之通知退出机制的实现》本文主要介绍了Go语言并发之通知退出机制的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录1、通知退出机制1.1 进程/main函数退出1.2 通过channel退出1.3 通过cont

Go语言编译环境设置教程

《Go语言编译环境设置教程》Go语言支持高并发(goroutine)、自动垃圾回收,编译为跨平台二进制文件,云原生兼容且社区活跃,开发便捷,内置测试与vet工具辅助检测错误,依赖模块化管理,提升开发效... 目录Go语言优势下载 Go  配置编译环境配置 GOPROXYIDE 设置(VS Code)一些基本

深入理解Go语言中二维切片的使用

《深入理解Go语言中二维切片的使用》本文深入讲解了Go语言中二维切片的概念与应用,用于表示矩阵、表格等二维数据结构,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧... 目录引言二维切片的基本概念定义创建二维切片二维切片的操作访问元素修改元素遍历二维切片二维切片的动态调整追加行动态

Go语言中make和new的区别及说明

《Go语言中make和new的区别及说明》:本文主要介绍Go语言中make和new的区别及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1 概述2 new 函数2.1 功能2.2 语法2.3 初始化案例3 make 函数3.1 功能3.2 语法3.3 初始化

Go语言中nil判断的注意事项(最新推荐)

《Go语言中nil判断的注意事项(最新推荐)》本文给大家介绍Go语言中nil判断的注意事项,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1.接口变量的特殊行为2.nil的合法类型3.nil值的实用行为4.自定义类型与nil5.反射判断nil6.函数返回的

Go语言数据库编程GORM 的基本使用详解

《Go语言数据库编程GORM的基本使用详解》GORM是Go语言流行的ORM框架,封装database/sql,支持自动迁移、关联、事务等,提供CRUD、条件查询、钩子函数、日志等功能,简化数据库操作... 目录一、安装与初始化1. 安装 GORM 及数据库驱动2. 建立数据库连接二、定义模型结构体三、自动迁

Go语言代码格式化的技巧分享

《Go语言代码格式化的技巧分享》在Go语言的开发过程中,代码格式化是一个看似细微却至关重要的环节,良好的代码格式化不仅能提升代码的可读性,还能促进团队协作,减少因代码风格差异引发的问题,Go在代码格式... 目录一、Go 语言代码格式化的重要性二、Go 语言代码格式化工具:gofmt 与 go fmt(一)

Go语言中泄漏缓冲区的问题解决

《Go语言中泄漏缓冲区的问题解决》缓冲区是一种常见的数据结构,常被用于在不同的并发单元之间传递数据,然而,若缓冲区使用不当,就可能引发泄漏缓冲区问题,本文就来介绍一下问题的解决,感兴趣的可以了解一下... 目录引言泄漏缓冲区的基本概念代码示例:泄漏缓冲区的产生项目场景:Web 服务器中的请求缓冲场景描述代码