C语言课程设计问题~在线等答案~23点之前~急用~最好是原创~0~

来源:百度知道 编辑:UC知道 时间:2024/04/29 11:23:49
1、学生成绩管理(结构体数组、函数、指针、算法、流程结构及文件等的综合应用)程序说明:有N个学生,每个学生的数据包含学号(不重复)、姓名、三门课的成绩及平均成绩,试设计一学生成绩管理系统,使之能提供以下功能:
(1)主菜单
学生成绩管理系统
1、 成绩录入
2、 成绩查询
3、 成绩统计
4、 退 出
(2)各菜单项功能
① 成绩录入:输入学生的学号、姓名及三门课的成绩;
② 成绩查询:(至少一种查询方式)。
 按学号查询学生记录。
 查询不及格学生的记录。
③成绩统计:
 计算学生的平均分;
 根据学生的平均分高低,对学生的数据进行排序后输出;
 对学生单科成绩排序,输出学生姓名与该科成绩;
④退出系统:退出整个系统(即主菜单)。
(3)结构体数组:
#define N 30struct student
{int num; /* 定义学号*/
char name[20]; /* 定义姓名*/
float score[3]; /* 定义存贮三门课成绩的数组*/
float average; /* 定义平均成绩*/
};struct student stu[N]; /* 定义结构体数组,存贮多个学生的记录*/
2、简单的图书管理
3、宿舍管理
4、自选
要两个程序~不重复的~

/*c语言中链表的操作*/
#include<stdio.h>
#include<malloc.h>
#define NULL 0
#define LEN sizeof(struct student)
struct student
{
long num;
float score1;
float score2;
float aver;
struct student *next;
};
int n;
struct student *creat(void)
{
struct student *head;
struct student *p1,*p2;
n=0;
p1=p2=(struct student *)malloc(LEN);
printf("input the first list:");
scanf("%ld%f%f",&p1->num,&p1->score1,&p1->score2);
head=NULL;
while(p1->num!=0)
{
n++;
if(n==1) head=p1;
else p2->next=p1;
p2=p1;
p1=(struct student *)malloc(LEN);
printf("next one:");
scanf("%ld%f%f",&p1->num,&p1->score1,&p1->score2);
}
p2->next=NULL;
return(head);
}
struct student *del(struct student *head,long num)
{
struct student *p1,*p2;