成绩簿的实现

更新时间:2023-11-07 04:47:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

课设任务书

专业名称:计算机科学与技术 设计题目:成绩簿的实现 起止时间: 问题描述

编制一个c语言成绩记录簿,每个学生信息包括:学号,姓名,c语言成绩。 基本要求

(1) 从屏幕输入学生信息;

(2) 用结构体链表按学号顺序存储学生信息;

(3) 用一个子函数显示输出某一分数段(60分以下,60到79,80

到89,90以上)的学生信息,并统计学生数目; (4) 用一个子函数实现删除某一给定的结点信息;

(5) 主函数调用上述子函数,输出各分数段的学生信息和学生数

目。 较高要求

(6)将学生信息存入文件;

(7)将分段显示的学生信息和学生数目存入文件。 实现提示

运用结构体解决实际问题,使用到链表的插入、删除等操作,尝

试文件的基本操作。

学生姓名: 学号:

指导教师(签字): 年 月 日

成绩簿的实现

1 概要设计

本次课程设计要求开发一个库存管理系统,实现对库存信息的处理,其中包括:添加商品、删除信息。

本系统设计了一个结构体,即struct goods。整个系统分为2个功能模块,分别为添加模块、删除模块模块组成。功能模块图见图1-1。其中添加模块是通过输入商品的一系列信息,比如,商品号、商品名称、库存量、产地、商品型号、商品数量,知道输入信息全为0时结束。删除商品信息可分为全部删除和删除个体的选择作出相应操作。

库存管理系统添加商品信息 图1-1 系统功能模块图

删除商品信息 2 详细设计

这部分详细介绍了结构体链表的设计,及各功能的具体设计方法。 1.结构体链表的设计 struct goods {

1

long number; char name[20]; char xinghao[18]; char chandi[100];; int price; int kucun; int yigou; int count; };

typedef struct goodsnode {

struct goods data; struct goodsnode *next;

}goodsnode;

商品类中定义了8个变量,其中变量为:number记录的书商品号。char name[20],商品名称,记录商品名称;char xinghao[18]型号,记录商品的型号;char chandi[100];产地,记录商品来源地;int price;,记录商品的价格;nt kucun;//库存,记录商品库存的数量;int yigou;,记录已经订购的商品的数量 goodsnode* insertgood(goodsnode* head) {

goodsnode *p1,*p2; int number=-1,count=-1; for(p1=head;p1;p1=p1->next)

if(p1->data.number==number)//如果找到了对应的号就进货 {

p1->data.count+=count; break; }

if(p1==NULL) {

p2=(goodsnode*)malloc(LEN);//找不到就建立一个接点接在最前面 printf(\输入商品编号:\\n\

2

scanf(\,&p2->data.number); printf(\输入商品名称:\\n\

scanf(\,p2-> data.name);getchar(); printf(\输入商品产地:\\n\

scanf(\,p2-> data.chandi);getchar(); printf(\输入商品型号:\\n\

scanf(\,p2-> data.xinghao);getchar(); printf(\输入库存数量:\\n\scanf(\,&p2-> data.count); printf(\输入已购数量:\\n\scanf(\,&p2-> data.yigou); p2->next=head; head=p2; }

return head;//把表头返回去 }

insertgood方法实现的添加一个商品进入仓库。输入信息添加新商品。goodsnode * del(goodsnode *head) { int i;

goodsnode *p1,*p2,*p3;

printf(\请输入要删除的学生的学号:\

scanf(\,&i);///从键盘接收要删除学生的学号 p1=head; p2=p1;

while(p2->data.number==i&&p2->next!=NULL)//遍历链表 { p3=p2; p2=p2->next; }

if(p2->next==NULL)//判断要删除的数据是否在链表中

3

本文来源:https://www.bwwdw.com/article/2l72.html

Top