用C语言写学生成绩管理系统基本功能:1、 输入一个班级的学生基本信息(包括学号,姓名,性别,5门课程成绩

2、 按姓名或学号查找、修改、删除和保存各个学生的信息。 3、 计算每个学生的各门功课总分和平均分,按学号或总分排序输出每个学生的基本信息及总分、平均分和名次等信息。4、 计算全班各门功课的平均分,显示每门课程中低于平均分的每一个学生的学号,姓名,性别,科目,成绩等信息。5、 显示每门科目中,成绩在90分以上的学生信息,以及每门科目中不及格的学生信息。6、 设置系统登录密码,只有正确输入密码方可进入管理系统。可更改和保存登录密码。

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

struct stud_node
{
long int ID; //学号
int age; //年龄
long int dormnumber,phonenumber; //宿舍号码,电话号码
char name[15]; //姓名
char sex; //性别
struct student*next;
};

struct stud_node*Create_Stu_Doc();//新建链表
int main(void){
system("color 3E");
FILE *fp=NULL;//定义文件指针
fp=fopen("stud.txt","wb");
if(fp==NULL)
{
printf("File open error \n");
exit (0);
}
struct stud_node*head,*p;
int choice,age;
long int ID,dormnumber,phonenumber;
char name[15],sex;
int size=sizeof(struct stud_node);

printf("+---------------------------+\n");
printf("| 欢迎使用教务信息管理系统 |\n");
printf("+---------------------------+\n");

printf("\n\t\t-----------------------------------------------------\n");
printf("\t\t+ 主菜单 +\n");
printf("\t\t-----------------------------------------------------\n");
printf("\t\t+ [1]--录入学生资料 +\n");
printf("\t\t+ [0]--退出系统 +\n");
printf("\t\t-----------------------------------------------------\n");
printf("\n");
printf("\t\t请输入您的选择:");

scanf("%d",&choice);
switch(choice)
{
case 0 : break;
case 1 : head=Create_Stu_Doc;break;
default:printf("\n无效选项!");
}
}

struct stud_node*Create_Stu_Doc()//新建链表
{
int y,age;
long int ID,dormnumber,phonenumber;
char name[15],sex;
int size=sizeof(struct stud_node);
struct stud_node*head,*tail,*p;
FILE *fp=NULL;//定义文件指针
fp=fopen("stud.txt","r");
head=tail=NULL;
printf("--------------------\n");
printf("请输入学生的学号:");
printf("请输入学生的姓名:");
printf("请输入学生的性别:");
printf("请输入学生的年龄:");
printf("请输入学生的宿舍号码:");
printf("请输入学生的电话号码:");
while(!feof(fp))
{
p=(struct stud_node *)malloc(size);
fscanf(fp,"%ld%c%c%d%ld%ld",&ID,&name,&sex,&age,&dormnumber,&phonenumber);
p->ID=ID;
strcpy(p->name,name);
strcpy(p->age,age);
p->dormnumber=dormnumber;
p->phonenumber=phonenumber;
p->next=NULL;
if(head==NULL) head=p;
else tail->next=p;
tail=p;
}
printf("\n1.继续输入.\n0.结束输入.\n");
printf("请选择:");
scanf("%d",&y);
if(y)
return head;
fclose(fp);

}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-10-13
我正准备做这个程序,你想要什么版本的,是控制台版本的是还是win32版本的。
相似回答