C语言编程..学生选课信息管理

来源:百度知道 编辑:UC知道 时间:2024/07/04 01:13:08
总体需求
在程序中定义选课和学生信息。

假设开设有数学、物理、计算机、英语4门课程,每生至多选修4门课。

功能需求
输入学生基本信息及所选课程、课程成绩
根据学生姓名和选课名称修改课程成绩
查询所有学生的所有选课信息
根据名字查询某个学生的选课信息及所有选课的总平均成绩。

用户界面
输入: 程序正常运行后,屏幕上显示一个文字菜单(根据序号选定相应的操作项目),当用户选定操作项目所对应的序号时,根据应用程序的提示信息,从键盘上输入相应的数据。

输出: 1) 应用程序正常运行后,要在屏幕上显示一个文字菜单

2) 要求用户输入数据时,要给出清晰、明确的提示信息,包括输入的数据内容、格式及结束方式等

提示与参考
1)为各项操作功能设计一个菜单,应用程序运行后,先显示这个菜单,然后用户通过菜单项选择希望进行的操作项目。

2) 将课程和学生的信息定义为结构体;每个人和每门课的编号应唯一,不可重复。

3)采用文件保存数据, 关于文件的读写方法请参见教材的“文件”章节。
老师BT就是要用C语言,大家帮帮忙。.急用。越快越好!!

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

int N;/////总人数

struct student
{
char name[20];////姓名
int math[2];////math[0]课程是否被选,math[1]记录成绩
int physical[2];
int computer[2];
int english[2];
};

void initelse(struct student *p)
{
printf("\n输入数学成绩,若该生未选输入0\t");
scanf("%d", &p->math[0]);
if(p->math[0])
{
printf("\n请输入数学成绩\t");
scanf("%d", &p->math[1]);
}
else
p->math[1]=0;

printf("\n输入物理成绩,若该生未选输入0\t");
scanf("%d", &p->physical[0]);
if(p->math[0])
{
printf("\n请输入物理成绩\t");
scanf("%d", &p->physical[1]);
}
else
p->physical[1]=0;

printf("\n输入计算机成绩,若该生未选输入0\t");
scanf("%d", &