C语言实践学生成绩管理系统

C语言实践学生成绩管理系统

2019年6月19日  曹永万

1.实践要求
设计“学生成绩管理系统" .实现学生信息的录入、增加、修改、剽除、浏览,以及成绩排序等功能。

2.需求分析
在程序中需要浏览学生的信息.应提供显示、查找、修改,添加、删除.排序等操作;另外还应提供键盘式选择菜单实现功能选择。提供的数据文件格式,学生的信息应该包括学号,姓名,三科成绩和平均成绩其中学号为字符型、姓名为字符型、三科成绩为整型、平均成绩为浮点型。**
3.概要设计**
根据上面的分析,可以将这个系统的功能划分为信息输人、信息显示、信息查询、信息修改.信息插人、信息添加、信息删除和信息排序模块。系统功能模块如图
4. 详细设计
模块设计据概要设计,该系统应该包含主模块和其他8个子模块组成,考虑到代码的重用,在实现时把各子模块常用的功能部分单独组织为一个公共模块。
(1)主模块(main.c):模块里包含主函数main ,由main产生系统功能菜单,供用户选择来调用各模块完成相应工作。
2)输入模块(input. c)模块里只有一个函数input函数作用是输入学生人数,调用公共函数完成学信息的输入和保存。input的原型如下:int input();//输入信息

3)菜单模块(meau):呈现菜单,供用户选择,原型如下:int meau();//菜单

4)添加模块(add.c) 模块里只有一个函数add函数,作用是输入要添加的学生人数,调用though函数完成学生信息的输入和保存。 原型:int add();//添加信息

5)修改模块(int xiugai();//修改信息c) 模块里只有一个函数xiugai函数作用是修改指定学号的学生信息后保存。原型如下:int xiugai();//修改信息

6)删除模块(del)模块里只有一个函数del函数作用是删除指定学号的学生信息后保存。 原型如下:int del(void);

7)浏览模块(though) 模块里只有一个函数though函数作用是以升序的方式显示所有学生信息。原型如下:int though();//浏览信息

8)判断模块(judge) 模块里只有一个函数judge函数作用是按照平均成绩排序并保存。原型如下:int judge();//判断学号是否存在

9)模块里只有一个函数pai函数作用是按照平均成绩排序并保存。原型如下:int pai();//平均分排序10)memset是计算机中C/C++语言初始化函数。作用是将某一块内存中的内容全部设置为指定的值, 这个函数通常为新申请的内存做初始化工作。(void *memset(void *s, int ch, size_t n);

函数解释:将s中当前位置后面的n个字节 (typedef unsigned int size_t )用 ch 替换并返回 s 。memset:作用是在一段内存块中填充某个给定的值,它是对较大的结构体或数组进行清零操作的一种最快方法 。 memset()函数原型是extern void *memset(void *buffer, int c, int count) buffer:为指针或是数组,c:是赋给buffer的值,count:是buffer的长度.)

memcpy(name[i],name[t],sizeof(char)*20);// memcpy指的是c和c++使用的内存拷贝函数,memcpy函数的功能是从源内存地址的起始位置开始拷贝若干个字节到目标内存地址中。(void *memcpy(void *dest, const void *src, size_t n); 从源src所指的内存地址的起始位置开始拷贝n个字节到目标dest所指的内存地址的起始位置中)

11)全局变量int id[49]={0};//存储学号char name[49][20];//二维数组存储姓名int score[49][3];//利用二维数组存储分数其中score[49][0]:存储成绩1,score[49][1]:存储成绩2,score[49][2].int t=1;利用中间变量。 5.该模块8个函数: 函数定义”是指对函数功能的确立,包括指定函数名,函数值类型、形参类型、函数体等,它是一个完整的、独立的函数单位。而“函数声明”的作用则是把函数的名字、函数类型以及形参类型、个数和顺序通知编译系统,以便在调用该函数时系统按此进行对照检查(例如函数名是否正确,实参与形参的类型和个数是否一致)。
在书写形式上,函数声明可以把函数头部复制过来,在后面加一个分号;而且在参数表中可以只写各个参数的类型名,而不必写参数名。 int meau();//菜单 int input();//输入信息 int add();//添加信息 int xiugai();//修改信息 int del();//删除信息 int though();//浏览信息 int judge();//判断学号是否存在 int pai();//快速排序;
6.头文件#include<stdio.h>#include<conio.h>#include<string.h>//头文件;在C语言家族程序中,头文件被大量使用。一般而言,每个C++/C程序通常由头文(header files)和定义文件(definition files)组成。头文件作为一种包含功能函数、数据接口声明的载体文件,主要用于保存程序的声明(declaration),而定义文件用于保存程序的实现 (implementation)。 .c就是你写的程序文件。头文件是用户应用程序和函数库之间的桥梁和纽带。在整个软件中,头文件不是最重要的部分,但它是C语言家族中不可缺少的组成部分。编译时,编译器通过头文件找到对应的函数库,进而把已引用函数的实际内容导出来代替原有函数。进而在硬件层面实现功能。

代码:

int meau(){
int a;
printf("\t\t\t***********************************\n\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           7.按平均分排序\n");
 printf("\t\t\t           8.退出系统\n\n");
 printf("\t\t\t***********************************\n\n");
 for(;1;)
 { 
  printf("请输入选项<1-8>:[   ]\b\b\b");
  scanf("%d",&a);//功能选择
  if(a==1)
  input();
 if(a==2)
  add();
 if(a==3)
  xiugai();
 if(a==4)
  del();
 if(a==5)
  though();
 if(a==6)
  find();
  if(a==7)
  pai();
 else
  exit(0);
  
 }
 return 0;
}

菜单运行实例:
在这里插入图片描述完整代码:
链接:https://pan.baidu.com/s/1b_HP5lyOR2QQtjHXTkp00g
提取码:dqvt

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值