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#使用Spire.Doc for .NET实现HTML转Word的高效方案

《C#使用Spire.Docfor.NET实现HTML转Word的高效方案》在Web开发中,HTML内容的生成与处理是高频需求,然而,当用户需要将HTML页面或动态生成的HTML字符串转换为Wor... 目录引言一、html转Word的典型场景与挑战二、用 Spire.Doc 实现 HTML 转 Word1

GO语言短变量声明的实现示例

《GO语言短变量声明的实现示例》在Go语言中,短变量声明是一种简洁的变量声明方式,使用:=运算符,可以自动推断变量类型,下面就来具体介绍一下如何使用,感兴趣的可以了解一下... 目录基本语法功能特点与var的区别适用场景注意事项基本语法variableName := value功能特点1、自动类型推

GO语言中函数命名返回值的使用

《GO语言中函数命名返回值的使用》在Go语言中,函数可以为其返回值指定名称,这被称为命名返回值或命名返回参数,这种特性可以使代码更清晰,特别是在返回多个值时,感兴趣的可以了解一下... 目录基本语法函数命名返回特点代码示例命名特点基本语法func functionName(parameters) (nam

Go语言连接MySQL数据库执行基本的增删改查

《Go语言连接MySQL数据库执行基本的增删改查》在后端开发中,MySQL是最常用的关系型数据库之一,本文主要为大家详细介绍了如何使用Go连接MySQL数据库并执行基本的增删改查吧... 目录Go语言连接mysql数据库准备工作安装 MySQL 驱动代码实现运行结果注意事项Go语言执行基本的增删改查准备工作

Go语言使用Gin处理路由参数和查询参数

《Go语言使用Gin处理路由参数和查询参数》在WebAPI开发中,处理路由参数(PathParameter)和查询参数(QueryParameter)是非常常见的需求,下面我们就来看看Go语言... 目录一、路由参数 vs 查询参数二、Gin 获取路由参数和查询参数三、示例代码四、运行与测试1. 测试编程路

Go语言使用net/http构建一个RESTful API的示例代码

《Go语言使用net/http构建一个RESTfulAPI的示例代码》Go的标准库net/http提供了构建Web服务所需的强大功能,虽然众多第三方框架(如Gin、Echo)已经封装了很多功能,但... 目录引言一、什么是 RESTful API?二、实战目标:用户信息管理 API三、代码实现1. 用户数据

Go语言网络故障诊断与调试技巧

《Go语言网络故障诊断与调试技巧》在分布式系统和微服务架构的浪潮中,网络编程成为系统性能和可靠性的核心支柱,从高并发的API服务到实时通信应用,网络的稳定性直接影响用户体验,本文面向熟悉Go基本语法和... 目录1. 引言2. Go 语言网络编程的优势与特色2.1 简洁高效的标准库2.2 强大的并发模型2.

Go语言使用sync.Mutex实现资源加锁

《Go语言使用sync.Mutex实现资源加锁》数据共享是一把双刃剑,Go语言为我们提供了sync.Mutex,一种最基础也是最常用的加锁方式,用于保证在任意时刻只有一个goroutine能访问共享... 目录一、什么是 Mutex二、为什么需要加锁三、实战案例:并发安全的计数器1. 未加锁示例(存在竞态)

C语言自定义类型之联合和枚举解读

《C语言自定义类型之联合和枚举解读》联合体共享内存,大小由最大成员决定,遵循对齐规则;枚举类型列举可能值,提升可读性和类型安全性,两者在C语言中用于优化内存和程序效率... 目录一、联合体1.1 联合体类型的声明1.2 联合体的特点1.2.1 特点11.2.2 特点21.2.3 特点31.3 联合体的大小1

Go语言使用select监听多个channel的示例详解

《Go语言使用select监听多个channel的示例详解》本文将聚焦Go并发中的一个强力工具,select,这篇文章将通过实际案例学习如何优雅地监听多个Channel,实现多任务处理、超时控制和非阻... 目录一、前言:为什么要使用select二、实战目标三、案例代码:监听两个任务结果和超时四、运行示例五