学生信息管理系统(C语言)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了学生信息管理系统(C语言)相关的知识,希望对你有一定的参考价值。

学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等。试设计一学生信息管理系统,使之能提供以下功能:
1、系统以菜单方式工作
2、学生信息录入功能(学生信息用文件保存)--输入
3、学生信息浏览功能--输出
4、学生信息查询功能--算法
按学号查询
按姓名查询
5、学生信息的删除与修改(可选项)
?

参考技术A #include <stdio.h>
#include <malloc.h>
#include <string.h>
#include <io.h>
#define NULL 0
#define LEN sizeof(struct student)
#define FILE_DATA_PATH "c:\student.txt"

struct student

long int num;
char name[20];
int age;
char sex[4];
char birthday[10];
char address[30];
long int tele_num;
char E_mail[20];
struct student *next;
;

int TOTAL_NUM = 0;
struct student *head = NULL;

void welcome();
void mainmenu();
void record();
void insert(struct student *stu);
void display(struct student *stu);
void displayAll();
void query();
void query_by_num();
void query_by_name();
void readData();
void writeData();
void freeAll();
void del();
void change();
void devise(struct student *p);

int main()

char userName[9];
char userPWD[7];
int i;
welcome();
for(i = 0; i < 3; i++)

printf("\n管理员初始用户名和密码均为admin\n");
printf("请输入您的用户名:");
scanf("%s", userName);

printf("\n请输入您的密码:");
scanf("%s", userPWD);

if ((strcmp(userName,"admin")==0) && (strcmp(userPWD,"admin")==0))

//用户名和密码正确,显示主菜单
mainmenu();
break;

else

if (i < 2)

//用户名或密码错误,提示用户重新输入
printf("用户名或密码错误,请重新输入!");

else

//连续3次输错用户名或密码,退出系统。
printf("您已连续3次将用户名或密码输错,系统将退出!");



return 0;

//显示欢迎信息
void welcome()

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


//系统主菜单
void mainmenu()

int choice;
choice = -1;
readData();
printf("\n温馨提示:为保证您的操作得到保存,请按正常顺序退出系统^_^\n");
do

printf("\n\n\n");
printf("\t\t\t--------------------------------\n");
printf("\t\t\t+ 学生信息管理系统 |\n");
printf("\t\t\t--------------------------------\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+ [0]----退出系统 |\n");
printf("\t\t\t+*·*·*·*·*·*·*·*·*·*·|\n");
printf("\t\t\t--------------------------------\n");
printf("请输入您的选择:");
scanf("%d", &choice);
switch(choice)

case 0:
writeData();
freeAll();
exit(0);
case 1:
record();
break;
case 2:
displayAll();
break;
case 3:
query();
break;
case 4:
del();
break;
case 5:
change();
break;
default:
printf("\n无效选项!");
break;


while(choice != 0);

//录入学生信息
void record()

struct student *p0;

p0 = (struct student *)malloc(LEN);
printf("请输入学生的学号:");
scanf("%ld",&p0->num);
printf("请输入学生的姓名:");
scanf("%s",p0->name);
printf("请输入学生的年龄:");
scanf("%d",&p0->age);
printf("请输入学生的性别:");
scanf("%s",p0->sex);
printf("请输入学生的出生年月:");
scanf("%s",p0->birthday);
printf("请输入学生的地址:");
scanf("%s",p0->address);
printf("请输入学生的电话:");
scanf("%ld",&p0->tele_num);
printf("请输入学生的E-mail:");
scanf("%s",p0->E_mail);

insert(p0);
printf("该学生的信息为:\n");
printf("-------------------------------------------------------------------------------");
printf("学号\t姓名\t年龄\t性别\t出生年月\t\t地址\t电话\tE-mail\n");
display(p0);


void insert(struct student *stu)

struct student *p0, *p1, *p2;

p1 = head;
p0 = stu;

if(head == NULL)

head = p0;
p0->next = NULL;

else

while((p0->num > p1->num)&&(p1->next != NULL))

p2 = p1;
p1 = p1->next;

if(p0->num <= p1->num)

if(head == p1)
head = p0;
else
p2->next = p0;
p0->next = p1;

else

p1->next = p0;
p0->next = NULL;


TOTAL_NUM++;


void display(struct student *p)

printf("%ld\t%s\t%d\t%s\t%s\t%s\t%ld\t%s\n", p->num, p->name, p->age, p->sex, p->birthday, p->address, p->tele_num, p->E_mail);

//浏览学生信息
void displayAll()

struct student *p;

printf("学生总数:%d\n", TOTAL_NUM);
p = head;
if(head != NULL)

printf("\n学号\t姓名\t年龄\t性别\t出生年月\t地址\t电话\tE-mail\n");
printf("-------------------------------------------------------------------------------");
do

display(p);
p = p->next;

while(p != NULL);

printf("\n");

//查询学生信息
void query()

int choice;
choice = -1;
do

printf("\n");
printf("+--------------------+\n");
printf("| 按学号查询 请按 1 |\n");
printf("| 按姓名查询 请按 2 |\n");
printf("| 取消 请按 0 |\n");
printf("+--------------------+\n");

printf("请输入您的选择:");
scanf("%d", &choice);

switch(choice)

case 0:
return;
case 1:
query_by_num();
break;
case 2:
query_by_name();
break;
default:
printf("\n无效选项!");
break;


while(choice != 0);

//按学号查询学生信息
void query_by_num()

int num;
struct student *p1;

printf("请输入学生的学号:");
scanf("%ld", &num);
if(head==NULL)

printf("无学生记录!\n");
return;

p1=head;
while(num!=p1->num && p1->next!=NULL)
p1=p1->next;
if(num == p1->num)

printf("\n学号\t姓名\t年龄\t性别\t出生年月\t地址\t电话\tE-mail\n");
printf("-------------------------------------------------------------------------------");
display(p1);

else
printf("没有该学生记录,请核对!");

//按姓名查询学生信息
void query_by_name()

char name[20];
struct student *p1;

printf("请输入学生的姓名:");
scanf("%s", name);
if(head==NULL)

printf("无学生记录!\n");
return;

p1=head;
while(strcmp(name, p1->name) && p1->next!=NULL)
p1=p1->next;
if(!strcmp(name, p1->name))


printf("\n学号\t姓名\t年龄\t性别\t出生年月\t地址\t电话\tE-mail\n");
printf("-------------------------------------------------------------------------------");
display(p1);

else
printf("没有该学生记录,请核对!");

//写入文件
void writeData()

FILE* fp;//文件指针
struct student *p;

fp = fopen(FILE_DATA_PATH, "w");
if (!fp)

printf("文件打开错误!");
return;


fprintf(fp,"%d\n", TOTAL_NUM);
for(p = head; p!= NULL; p= p->next)

fprintf(fp,"%ld\t%s\t%d\t%s\t%s\t%s\t%ld\t%s\n",
p->num, p->name, p->age, p->sex, p->birthday, p->address, p->tele_num, p->E_mail);

fclose(fp);


void freeAll()

struct student *p1, *p2;

p1=p2=head;
while(p1)

p2=p1->next;
free(p1);
p1=p2;


//读取文件
void readData()

FILE* fp;//文件指针
struct student *p1, *p2;

fp = fopen(FILE_DATA_PATH, "r");
if (!fp)

printf("文件打开错误!");
return 0;


fscanf(fp,"%d\n", &TOTAL_NUM);
head = p1 = p2 = (struct student *)malloc(LEN);
fscanf(fp,"%ld\t%s\t%d\t%s\t%s\t%s\t%ld\t%s\n",
&p1->num, p1->name, &p1->age, p1->sex, p1->birthday, p1->address, &p1->tele_num, p1->E_mail);
while(!feof(fp))

p1 = (struct student *)malloc(LEN);
fscanf(fp,"%ld\t%s\t%d\t%s\t%s\t%s\t%ld\t%s\n",
&p1->num, p1->name, &p1->age, p1->sex, p1->birthday, p1->address, &p1->tele_num, p1->E_mail);
p2->next = p1;
p2 = p1;

p2->next = NULL;
fclose(fp);

//删除学生信息
void del()

struct student *p1, *p2;
long int num;

if(head == NULL)

printf("无学生记录!\n");
return;


printf("请输入您要删除的学生的学号:");
scanf("%ld", &num);

p1 = head;

while(num != p1->num && p1->next != NULL)

p2 = p1;
p1 = p1->next;

if(num == p1->num)

if(p1 == head)
head = p1->next;
else p2->next = p1->next;
free(p1);
TOTAL_NUM--;

else
printf("没有该学生记录,请核对!\n");

//修改学生信息
void change()

struct student *p1, *p2;
long int num;

if(head == NULL)

printf("无学生记录!\n");
return;


printf("请输入您要修改的学生的学号:");
scanf("%ld", &num);

p1 = head;

while(num != p1->num && p1->next != NULL)

p2 = p1;
p1 = p1->next;

if(num == p1->num)
devise(p1);
else
printf("没有该学生记录,请核对!\n");



void devise(struct student *p)

int choice;
choice = -1;
do

printf("请选择您要修改的学生的信息内容:\n");
printf("+----------------------+\n");
printf("| 姓名 请按 1 |\n");
printf("| 年龄 请按 2 |\n");
printf("| 性别 请按 3 |\n");
printf("| 出生年月 请按 4 |\n");
printf("| 地址 请按 5 |\n");
printf("| 电话 请按 6 |\n");
printf("| E-mail 请按 7 |\n");
printf("| 取消 请按 0 |\n");
printf("+----------------------+\n");

printf("请输入您的选择:");
scanf("%d", &choice);

switch(choice)

case 0:
return;
case 1:
printf("请输入新姓名:");
scanf("%s", p->name);
break;
case 2:
printf("请输入新年龄:");
scanf("%d", &p->age);
break;
case 3:
printf("请输入新性别:");
scanf("%s", p->sex);
break;
case 4:
printf("请输入新出生年月:");
scanf("%s", p->birthday);
break;
case 5:
printf("请输入新地址:");
scanf("%s", p->address);
break;
case 6:
printf("请输入新电话:");
scanf("%ld", &p->tele_num);
break;
case 7:
printf("请输入新E-mail:");
scanf("%s", p->E_mail);
break;
default:
printf("\n无效选项!");
break;


while(choice != 0);
参考技术B 有个菜单方式的函数,调用一下就可以了

用C语言程序书写学生信息管理系统

学生信息管理系统
(1)录入学生基本信息:学号、姓名、性别、出生地、所在班级、语文成绩、数学成绩、英语成绩、总学分;
(2) 可使用“学号”或“姓名”对已存有的学生资料进行查询,查找成功后,将其信息显示在屏幕上,也可对学生信息进行修改。

上面的是C++的,我这个应该合适
我这个是原版,但差别不大,修改结构体的成员就可以了,我就不修改了!
我的劳动成果啊。请采纳啊!!!!!!!!!

#include<stdio.h>
#include<string.h>
#define M 100
static int N=0,I=0;
struct student

char name[20];
char num[20];
char qq[20];
char type[10];
stu[M];
void menu();
void add();
void find();
void alter();
void Delete();
void list();
void input();
void output();
int quit();
int Find(char []);
int Find_num(char []);
int Find_qq(char []);
int Find_type(char []);
void main()

int op;
menu();
while(1)

printf("\t\n\t\t 请选择功能(1-8):");
scanf("%d",&op);
getchar();
switch(op)

case 1:
printf("\n\t1.***********新增记录****************\n");
add();
break;
case 2:
printf("\n\t2.**********查找通讯录***************\n");
find();
break;
case 3:
printf("\n\t3.**********修改通讯录***************\n");
alter();
break;
case 4:
printf("\n\t4.**********删除通讯录***************\n");
Delete();
break;
case 5:
printf("\n\t5.**********显示通讯录***************\n");
list();
break;
case 6:
printf("\n\t6.*******从内存导出文件中************\n");
output();
break;
case 7:
printf("\n\t7.*******从文件导入内存中************\n");
input();
break;
break;
case 8:
printf("\n\t8.*************退出******************\n");
op=quit();
break;
default:
printf("\tNot have the function!\n");
break;

if(op==8)

printf("\n\t感谢您的使用,已退出程序!\n\t");
break;

else
continue;


void menu()

printf("\n");
printf("\t************通讯录管理菜单***********\n");
printf("\t\t1.增加新的记录\n");
printf("\t\t2.查找通讯录\n");
printf("\t\t3.修改通讯录\n");
printf("\t\t4.删除通讯录\n");
printf("\t\t5.显示全部通讯录\n");
printf("\t\t6.把通讯录导出到文件\n");
printf("\t\t7.从文件导入通讯录\n");
printf("\t\t8.退出\n");
printf("\t*************************************\n");

//1实现新增
void add()

struct student stud;
while(1)

printf("\n\t当前共存在%d条记录,请输入下一条:",N);
if(N==0)

printf("\n\t请输入姓名:");
scanf("%s",stu[N].name);
printf("\t请输入电话号码:");
scanf("%s",stu[N].num);
printf("\t请输入QQ号:");
scanf("%s",stu[N].qq);
printf("\t请输入类别(小学、初中、高中、大学):");
scanf("%s",stu[N].type);
N++;
printf("\n\t是否输入下一条(Y)?按任意键返回主菜单:");
if(getchar()=='Y'||getchar()=='y')
continue;
break;

printf("\n\t请输入姓名:");
scanf("%s",&stud.name);
printf("\t请输入电话号码:");
scanf("%s",&stud.num);
printf("\t请输入QQ号:");
scanf("%s",&stud.qq);
printf("\t请输入类别(小学、初中、高中、大学):");
scanf("%s",&stud.type);
if(!Find(stud.name))

printf("\n\t发现通讯录中存在该记录,确认新增吗(Y)?其它任意键将覆盖:");
if(getchar()=='Y'||getchar()=='y')

stu[N]=stud;
N++;

else
stu[I]=stud;
printf("\n\t操作成功!\n");

else

stu[N]=stud;
N++;

printf("\n\t是否输入下一条(Y)?按任意键返回主菜单:");
if(getchar()=='Y'||getchar()=='y')
continue;
break;

menu();

//2 实现查找
void find()

char s[20],ch,ch1;
while(1)

printf("\n\t****选择查找方式****");
printf("\n\t1.按姓名查找:");
printf("\n\t2.按电话号码查找:");
printf("\n\t3.按QQ查找:");
printf("\n\t4.按类别查找:");
printf("\n\t*******************\n");
printf("\n\t请输入查找方式(1-4):");
ch=getchar();
getchar();
switch(ch)

case '1':
printf("\n\t请输入姓名:");
gets(s);
if(Find(s))
printf("\n\t查找失败,请确认是否输入有误或不存在该记录!\n");
break;
case '2':
printf("\n\t请输入电话号码:");
gets(s);
if(Find_num(s))
printf("\n\t查找失败,请确认是否输入有误或不存在该记录!\n");
break;
case '3':
printf("\n\t请输入QQ号码:");
gets(s);
if(Find_qq(s))
printf("\n\t查找失败,请确认是否输入有误或不存在该记录!\n");
break;
case '4':
printf("\n\t请输入类别:");
gets(s);
if(Find_type(s))
printf("\n\t查找失败,请确认是否输入有误或不存在该记录!\n");
break;
default:
printf("\tHave not the function!");
printf("\t\n");
break;

printf("\n\t继续查找吗(Y)?,按任意键返回主菜单:");
ch1=getchar();
getchar();
if(ch1=='Y'||ch1=='y')
continue;
break;

menu();

//3 实现修改
void alter()

char ch,ch1,ch2,s[20];
printf("\n\t请输入要修改的姓名:");
gets(s);
if(Find(s))
printf("\n\t查找失败,请确认是否输入有误或不存在该记录!");
else

printf("\n\t*****请选择修改方式*****:");
printf("\n\t1.覆盖修改(重新输入全部信息)");
printf("\n\t2.部分修改");
printf("\n\t************************\n");
printf("\n\t请选择修改的方式(1-2):");
ch=getchar();
getchar();
switch(ch)

case '1':
printf("\n\t请输入姓名:");
scanf("%s",stu[I].name);
printf("\t请输入电话号码:");
scanf("%s",stu[I].num);
printf("\t请输入QQ:");
scanf("%s",stu[I].qq);
printf("\t请输入类别(小学、初中、高中、大学):");
scanf("%s",stu[I].type);
printf("\n\t修改成功! 修改后记录为:\n");
printf("\n\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
printf("\n\t姓名\t电话号码\tQQ\t\t类别");
printf("\n\t%-8s%-16s%-16s%-8s",stu[I].name,stu[I].num,stu[I].qq,stu[I].type);
break;
case '2':
while(1)

printf("\n\t**请选择要修改的项目:***");
printf("\n\t1.姓名");
printf("\n\t2.电话号码:");
printf("\n\t3.QQ:");
printf("\n\t4.类别:");
printf("\n\t************************\n");
printf("\n\t请输入要修改的项目(1-4):");
ch1=getchar();
getchar();
switch(ch1)

case '1':
printf("\n\t请输入修改后的姓名:");
scanf("%s",s);
break;
case '2':
printf("\n\t请输入修改后的电话号码:");
scanf("%s",stu[I].num);
break;
case '3':
printf("\n\t请输入修改后的QQ:");
scanf("%s",stu[I].qq);
break;
case '4':
printf("\n\t请输入修改后的类别(小学、初中、高中、大学):");
scanf("%s",stu[I].type);
break;

getchar();
printf("\n\t修改成功! 修改后记录为:\n");
printf("\n\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
printf("\n\t姓名\t电话号码\tQQ\t\t类别");
printf("\n\t%-8s%-16s%-16s%-8s",stu[I].name,stu[I].num,stu[I].qq,stu[I].type);
printf("\n\t继续修改(Y)?按任意键返回主菜单:");
ch2=getchar();
getchar();
if(ch2=='Y'||ch2=='y')
continue;
break;

break;


menu();

//4 实现删除
void Delete()

char s[20],ch;
while(1)

printf("\n\t请输入要删除的姓名:");
scanf("%s",s);
getchar();
if(Find(s))

printf("\n\t不存在该条记录,请确认是否输入有误或不存在该记录!\n");
break;

else

printf("\n\t确认删除该条记录吗(Y)?按任意键保留原纪录并返回主菜单:");
ch=getchar();
if(ch=='Y'||ch=='y')

for(I;I<N-1;I++)
stu[I]=stu[I+1];
printf("\n\t删除成功!\n");
N-=1;
break;

printf("\n\t已保留原纪录!\n");
break;


menu();

//5 实现全部显示
void list()

int c=0;
for(int i=0;i<N;i++)

if(c==0)

printf("\n\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
printf("\n\t姓名\t电话号码\tQQ\t\t类别");

printf("\n\t%-8s%-16s%-16s%-8s",stu[i].name,stu[i].num,stu[i].qq,stu[i].type);
c++;

printf("\n\t\t\t\t当前记录共有%d条!",i);
menu();

//6实现导出
void output()

FILE *fp;
if((fp=fopen("tongxunlu.txt","w"))==NULL)
printf("\n\tcan not open the file!");
for(int i=0;i<N;i++)

fwrite(&stu[i],sizeof(struct student),1,fp);

fclose(fp);
printf("\n\t导出成功!\n");
menu();

//7实现导入
void input()

FILE *fp;
struct student stud1;
if((fp=fopen("tongxunlu.txt","r"))==NULL)
printf("\n\tcan not open the file!");
printf("\t姓名\t电话号码\tQQ\t\t类别\n");
for(int i=0;i<N;i++)

fread(&stud1,sizeof(struct student),1,fp);
printf("\n\t%-8s%-16s%-16s%-8s",stud1.name,stud1.num,stud1.qq,stud1.type);

fclose(fp);
printf("\n\t导入成功!\n");
menu();

//8实现程序退出
int quit()

char ch;
printf("\n\t确定退出吗(Y)?按任意键返回主菜单:");
ch=getchar();
if(ch=='Y'||ch=='y')
return(8);
else
return(1);

//用于名字查找
int Find(char s[])

int i,c,c1=0;
for(i=0;i<N;i++)

while(1)

if((strcmp(stu[i].name,s))==0)

I=i,c=0;
if(c1==0)

printf("\n\t查找成功:");
printf("\n\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
printf("\n\t姓名\t电话号码\tQQ\t\t类别");

printf("\n\t%-8s%-16s%-16s%-8s",stu[i].name,stu[i].num,stu[i].qq,stu[i].type);
c1++;
break;

else
break;


if(c==0)
return(c);
else
return(1);

int Find_num(char s[])

int i,c,c1=0;
for(i=0;i<N;i++)

while(1)

if((strcmp(stu[i].num,s))==0)

I=i,c=0;
if(c1==0)

printf("\n\t查找成功:");
printf("\n\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
printf("\n\t姓名\t电话号码\tQQ\t\t类别");

printf("\n\t%-8s%-16s%-16s%-8s",stu[i].name,stu[i].num,stu[i].qq,stu[i].type);
c1++;
break;

break;


if(c==0)
return(c);
else
return(1);

int Find_qq(char s[])

int i,c,c1=0;
for(i=0;i<N;i++)

while(1)

if((strcmp(stu[i].qq,s))==0)

I=i,c=0;
if(c1==0)

printf("\n\t查找成功:");
printf("\n\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
printf("\n\t姓名\t电话号码\tQQ\t\t类别");

printf("\n\t%-8s%-16s%-16s%-8s",stu[i].name,stu[i].num,stu[i].qq,stu[i].type);
c1++;
break;

break;


if(c==0)
return(c);
else
return(1);

int Find_type(char s[])

int i,c,c1=0;
for(i=0;i<N;i++)

while(1)

if((strcmp(stu[i].type,s))==0)

I=i,c=0;
if(c1==0)

printf("\n\t查找成功:");
printf("\n\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
printf("\n\t姓名\t电话号码\tQQ\t\t类别");

printf("\n\t%-8s%-16s%-16s%-8s",stu[i].name,stu[i].num,stu[i].qq,stu[i].type);
c1++;
break;

break;


if(c==0)
return(c);
else
return(1);
参考技术A #include<iostream>
using namespace std;
void main()

void avsco(int stunum,float *,float *);
void good(int stunum,char course[5][10],int num[],float *pscore ,float aver[]);
int i,j,stunum,*pnum,num[100];
float score[100][5],aver[100],*pscore,*paver;
char course [5][10],(*pcourse)[10];
cout<<"input student number:"<<endl;
cin>>stunum;
cout<<"input course:"<<endl;
pcourse=course;
for(i=0;i<5;i++)
cin>>course[i];
cout<<"input NO.and score"<<endl;
cout<<"NO.";
for(i=0;i<5;i++)
cout<<","<<course[i]<<endl;
pscore=&score[0][0];
pnum=&num[0];
for(i=0;i<stunum;i++)

cin>>*(pnum+i);
for(j=0;j<5;j++)
cin>>*(pscore+5*i+j);

paver=&aver[0];
cout<<endl;
avsco(stunum,pscore,paver);
good(stunum,pcourse,pnum,pscore,paver);

void avsco(int stunum,float*pscore,float*paver)//求平均成绩的函数

int i,j;
float sum,average;
for(i=0;i<stunum;i++)

sum=0.0;
for(j=0;j<5;j++)
sum=sum+(*(pscore+5*i+j));
average=sum/5;
*(paver+i)=average;


void good(int stunum,char course[100][10],int num[100],float *pscore,float aver[100] )

int i,j,k,n;
cout<<"Students whose score is good"<<endl;
cout<<"NO. ";
for(i=0;i<5;i++)
cout<<course[i]<<" ";
cout<<" average"<<endl;
for(i=1;i<stunum;i++)

n=0;
for(j=0;j<stunum;j++)
if(*(pscore+5*i+j)>85.0) n++;
if((n==5)||(aver[i]>=90))

cout<<num[i]<<" ";
for(k=0;k<5;k++)
cout<<*(pscore+5*i+k)<<" ";
cout<<" "<<aver[i]<<endl;


参考技术B 我会用ACCESS,但C不太懂,VC只能帮你作个界面和表

以上是关于学生信息管理系统(C语言)的主要内容,如果未能解决你的问题,请参考以下文章

C语言 学生管理系统

关于学生信息管理的C语言编程问题求救(一定要是C语言编程,谢谢)

用C语言程序书写学生信息管理系统

求用C语言编写一个简单的学生信息管理程序和课程设计报告

求用C语言编写一个简单的学生信息管理程序【 C++】网上之前有C 的好像

学生信息管理系统(C语言版)