type pdf c语言课程设计,c语言课程设计-.pdf

西昌学院

C语言课程设计报告

题 目_学生成绩管理系统______

学生编号_ ___________

学生姓名_ _____________

班 级

指导教师__ _ __ _____

2011 年 12 月

一. 课程设计任务内容

设计一个学生成绩管理系统。

系统功能:

1)具备对学生基础数据的维护功能(添加、删除、修改)

2 )具备对课程基础数据的维护功能(添加、删除、修改)

3 )具备对学生成绩数据的维护功能(添加、删除、修改)

4) 具备对成绩的查询功能(按学号、姓名、或课程名查询成绩,排序等 )

5) 具备对成绩的统计功能(最高分,最低分,平均分,及格率等)

6 ) 采用菜单界面

二. 总体设计说明

1 工程设计说明

(工程中有哪些文件组成,各有什么作用)

该工程文件中有 student.h, studentmain.c, student.c, course.c, scgrade.c query.c

tongji.c 。student.h 是头文件,主要存放一些其他函数共用的东西,比如结构体之类的。

Studentmain.c 存放 main 函数主菜单程序。其他几个是存放的实现各个功能的函数。另外,

还有 STUDENT.DAT,COURSE.DAT ,GRADE.DAT 三个文件,主要存放学生,课程,成

绩的信息的。还有一个 TEMP.DAT 文件,用于暂时存放数据。

2 菜单结构设计

(列出各级菜单)

3 数据结构设计

(三个数据文件用到的的结构定义)

学生结构体:

struct student{

long sno;

char sname[20];

char sclass[20];

};

课程结构体:

struct course{

int cno;

char cname[30];

};

成绩结构体:

struct scgrade{

long sno;

int cno;

float grade;

};

三. 详细设计说明

1 学生数据维护子系统设计说明

(每个功能模块的设计思路,哪些功能是自己增强的,加注释的源代码)

#include

#include"STUDENT.H"

//该部分为学生主菜单程序,分别调用添加,修改,删除三个函数。

void studentmenu() {

void addstudent();

void modistudent();

void deletestudent();

char a;

while(1)

{

puts("\n");

puts(" 系 统 主 菜 单");

puts(" 1: 学 生 数 据 添 加");

puts(" 2: 学 生 数 据 修 改");

puts(" 3: 学 生 数 据 删 除");

puts(" 0: 退 出 系 统");

printf("请输入数字选择: ");

a=getche();

switch(a)

{

case '1':

addstudent();

break;

case '2':

modistudent();

break;

case '3':

deletestud

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/469906.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux —— shell 编程(文本处理)

导读 本文为博文 linux —— shell 编程(整体框架与基础笔记)的第4小点的拓展。(本文所有语句的测试均在 Ubuntu 16.04 LTS 上进行) 目录基本文本处理流编辑器sedawk模式扫描与处理语言1、基本文本处理sort :用于排序,…

IIC驱动5150遇到麻烦

搞了一天还是没有搞出来、几个问题1、不加镜头、可以检测到应答信号(这个真的是无法解决的大BUG啊)2、反之,加上镜头、检测不到应答信号(自己猜想是不是加上镜头的时候造成电流或者电压变大或者变小了)能不能检测到应答…

ub c语言,操作系统之LRU算法 C语言链表实现

LRU是Least Recently Used的缩写,即最近最少使用,是一种常用的页面置换算法,选择最近最久未使用的页面予以淘汰。该算法赋予每个页面一个访问字段,用来记录一个页面自上次被访问以来所经历的时间 t,当须淘汰一个页面时…

四种常见的 POST 提交数据方式

四种常见的 POST 提交数据方式 文章目录 application/x-www-form-urlencodedmultipart/form-dataapplication/jsontext/xmlHTTP/1.1 协议规定的 HTTP 请求方法有 OPTIONS、GET、HEAD、POST、PUT、DELETE、TRACE、CONNECT 这几种。其中 POST 一般用来向服务端提交数据&#xff0…

成功驱动5150用HT68F30

用了自己写的起动总线和停止总线,终于可以成功 // PROGRAM : 4-17.c 2011.0521 // FUNCTION : I2C Master/Slave Mode Demo Program By Steven // Note : Configuration Option Setting-- // SIM Function Enable //void I2C_START(void); /…

VMware 虚拟机 Ubuntu 系统执行 ifconfig 命令 eth0没有IP地址(intet addr、Bcast、Mask)

可能的原因是,你安装了也安装了其他的虚拟机软件,比如:VirtualBox。我们打开 控制面板 > 网络和共享中心 > 更改适配器设置 , 你就可以打开控制面板/网络和Internet/网络连接界面: 直接禁用相应的网络即可&#…

sublime text3c语言编译运行,c – Sublime text 3 – 编译程序并在终端中运行

我正在使用Ubuntu 12.04,我想知道,是否有可能从终端自动运行c程序?当你不得不在构建控制台中使用它时,它真的很糟糕,因为有时候我会意外地创建无限循环,并且必须重新启动sublime文本再次工作.我正在使用Sublime文本3.解决方法:Sublime Text 3包含两个您可能感兴趣的…

5150晶振不起振

1、这是一个比较让我费解的问题、今天从相机输入了PAL信号、发现根本没有解码出来,然后检查检查,发现晶振不起振 解决中。。。 1、换一个板子,看是不是这个板子出了问题、 2、换一个起振电容 问题解决了、原因是TVP5150的PDN脚应该输入高电…

c语言us16 t,使用C ++将越南语字符编码为USASCII,ISO88591,UTF8,UTF16BE,UTF16LE,UTF16(示例代码)...

我已经编辑了我的帖子。当前,我正在尝试对用户的输入字符串进行编码,然后将其转换为每种编码格式。我可以使用Unicode完美地做到这一点,而且我认为输入String的格式为UTF-8。如果我的inputString是“ Hello”。但是,当我尝试输入“…

linux一些基础知识

linux面试题及答案 一.填空题: 1. 在Linux系统中,以 文件 方式访问设备 。 2. Linux内核引导时,从文件 /etc/fstab 中读取要加载的文件系统。 3. Linux文件系统中每个文件用 i节点来标识。 4. 全部磁盘块由四个部分组成&#xff…

这本轻小说真厉害 2016

傲娇御坂美琴成轻小说女王一姐 轻小说排名公布 到了年底,作为轻小说的粉丝就没有理由不关注“这本轻小说真厉害!”的相关评选吧?腾讯动漫此前曾经报道过《OVERLORD》以及《龙王的工作》获得榜首殊荣的消息。而近日,年度的最佳作品、最佳角色以及最佳插画师等奖项也已经公布,快…

IDEA初次使用Tomcat运行项目(如何添加加载项目到Tomcat)

IDEA中Tomcat设置说明 Tomcat最好使用干净的版本 不同的版本适配不同的JDK 设置Tomcat基本信息 加载项目(war和war exploed模式简单说明) 配置完项目后警告消失 应用后启动 选择相应的模式即可

回溯算法背包问题迭代c语言,回溯法解决0_1背包问题(迭代和递归)

问题:0/1背包问题例子:weight数组代表物品重量,value数组代表物品价值,M代表背包容量。背包是按单位价值递减的顺序排列的,即value[i]/weight[i]>value[i-1]/weight[i-1].const int weight[Max]{1,11,21,23,33,43,45,55};const…

ISE应用入门的一些问题

1、怎样添加IP 2、怎样用modelsim调用IP生成的仿真文件。 今天用modelsim仿真ISE生成的DDR IP IP核的地址:E:\FPGA\MIS607\Mis607B\update\CH09_DDR_TEST\MiS607B_DDR3_Test\DDR3_Test\ipcore_dir\mig_ddr3_control\example_design\sim\functional 所以要把modelsim…

linux模块加载和模块卸载时出现的问题

在编写驱动程序的时候有时候会出现这种情况,模块加载之后不能卸载或卸载之后不能在加载,cat /proc/devices 后发现设备还占用着设备号,这种情况下,再次加载驱动模块肯定不会成功,必须重新启动才可以解决。最近仔细看书…

IDEA中中文乱码问题解决方案

1.修改idea安装目录下的两个文件 C:\Program Files\JetBrains\IntelliJ IDEA 2017.1.4\bin\idea.exe.vmoptions C:\Program Files\JetBrains\IntelliJ IDEA 2017.1.4\bin\idea64.exe.vmoptions 在这两个文件下增加一行: -Dfile.encodingUTF-8 2.做此修改后,tomcat运行日志会…

linux 6.2 期末考试题,redhat6.2-linux考试试卷(带部分答案)

这个是初学redhat6.2的考试内容,带答案(实做的,水平有限,不完整答案)--------------------------------------------------------------------------------------------装 订 线-----------------------------------------------------------------------------------------广东…

ios几个重要方法

加载类到内存,程序刚启动的时候调用,调用在main函数之前 1.(void)load{} 初始化类,类第一次使用的时候调用一次 2.(void)initialize{ } 控制器的视图架构,设置控制器的根view,重写该方法后,以该方法为主&am…

C++中extern “C”含义深层探索

1.引言 C语言的创建初衷是“a better C”,但是这并不意味着C中类似C语言的全局变量和函数所采用的编译和连接方式与C语言完全相同。作为一种欲与C兼容的语言,C保留了一部分过程式语言的特点(被世人称为“不彻底地面向对象”)&…