学生信息管理系统C语言编程
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了学生信息管理系统C语言编程相关的知识,希望对你有一定的参考价值。
一、学生信息管理系统
1 设计内容
1、用户界面
2、同学信息的插入
3、同学信息的删除
4、同学信息的查询
5、同学信息的显示
6、最终的同学信息写入到文件
7、退出
数据要求:
同学信息包括:学号、姓名、电话、年龄、住址所在区
2 设计要求
尽可能的将这学期所学的知识运用上来,如链表、结构体、文本文件的应用和文本框的建立与显示。
提示:学会自己发现问题,解决编程问题,并学会团队的合作。
二、自选小游戏
三、课程设计要求
1、课程设计报告:
1)整体功能流程介绍
2)人员分工
3)遇到的问题及其解决方法
4)课程设计心得体会
2、课程设计答辩
1)使用ppt介绍作品
2)代码解答
那位高手帮帮忙啊,急需!!!!!!
全部问题都要帮帮忙啊! 不要在网上随便找一篇给我,这样的话我就不会在这里求助各位大大!
#include<stdlib.h> /*其它说明*/
#include<string.h> /*字符串函数*/
#define BUFLEN 100 /* 缓冲区最大字符数 */
#define LEN 15 /* 学号和姓名最大字符数,实际请更改 */
#define N 100 /* 最大学生人数,实际请更改*/
struct record /*结构体*/
char code[LEN+1]; /* 学号 */
char name[LEN+1]; /* 姓名 */
int age; /* 年龄 */
char sex[3]; /* 性别 */
char time[LEN+1]; /* 出生年月 */
char add[30]; /* 家庭地址 */
char tel[LEN+1]; /* 电话号码 */
char mail[30]; /* 电子邮件地址 */
stu[N];
int k=1,n,m; /* 定义全局变量 */
void readfile();/* 函数声明 */
void seek();
void modify();
void insert();
void del();
void display();
void save();
void menu();
int main()
while(k)
menu();
system("pause");
return 0;
void help()
printf("\n0.欢迎使用系统帮助!\n");
printf("\n1.进入系统后,先刷新学生信息,再查询;\n");
printf("\n2.按照菜单提示键入数字代号;\n");
printf("\n3.增加学生信息后,切记保存按7;\n");
printf("\n4.谢谢您的使用!\n");
void readfile()/* 建立信息 */
char *p="student.txt";
FILE *fp;
int i=0;
if ((fp=fopen("student.txt","r"))==NULL)
printf("Open file %s error! Strike any key to exit!",p);
system("pause");
exit(0);
while(fscanf(fp,"%s %s%d%s %s %s %s %s",stu[i].code,stu[i].name,&stu[i].age,
stu[i].sex,stu[i].time,stu[i].add,stu[i].tel,stu[i].mail)==8)
i++;
i=i;
fclose(fp);
n=i;
printf("录入完毕!\n");
void seek() /*查找*/
int i,item,flag;
char s1[21]; /* 以姓名和学号最长长度+1为准 */
printf("------------------\n");
printf("-----1.按学号查询-----\n");
printf("-----2.按姓名查询-----\n");
printf("-----3.退出本菜单-----\n");
printf("------------------\n");
while(1)
printf("请选择子菜单编号:");
scanf("%d",&item);
flag=0;
switch(item)
case 1:
printf("请输入要查询的学生的学号:\n");
scanf("%s",s1);
for(i=0;i<n;i++)
if(strcmp(stu[i].code,s1)==0)
flag=1;
printf("学生学号 学生姓名 年龄 性别 出生年月 地址 电话 E-mail\n");
printf("--------------------------------------------------------------------\n");
printf("%6s %7s %6d %5s %9s %8s %10s %14s\n",stu[i].code,stu[i].name,stu[i].age,
stu[i].sex,stu[i].time,stu[i].add,stu[i].tel,stu[i].mail);
if(flag==0)
printf("该学号不存在!\n"); break;
case 2:
printf("请输入要查询的学生的姓名:\n");
scanf("%s",s1);
for(i=0;i<n;i++)
if(strcmp(stu[i].name,s1)==0)
flag=1;
printf("学生学号 学生姓名 年龄 性别 出生年月 地址 电话 E-mail\n");
printf("--------------------------------------------------------------------\n");
printf("%6s %7s %6d %5s %9s %8s %10s %14s\n",stu[i].code,stu[i].name,stu[i].age,
stu[i].sex,stu[i].time,stu[i].add,stu[i].tel,stu[i].mail);
if(flag==0)
printf("该姓名不存在!\n"); break;
case 3:return;
default:printf("请在1-3之间选择\n");
void modify() /*修改信息*/
int i,item,num;
char sex1[3],s1[LEN+1],s2[LEN+1]; /* 以姓名和学号最长长度+1为准 */
printf("请输入要要修改的学生的学号:\n");
scanf("%s",s1);
for(i=0;i<n;i++)
if(strcmp(stu[i].code,s1)==0) /*比较字符串是否相等*/
num=i;
printf("------------------\n");
printf("1.修改姓名\n");
printf("2.修改年龄\n");
printf("3.修改性别\n");
printf("4.修改出生年月\n");
printf("5.修改地址\n");
printf("6.修改电话号码\n");
printf("7.修改E-mail地址\n");
printf("8.退出本菜单\n");
printf("------------------\n");
while(1)
printf("请选择子菜单编号:");
scanf("%d",&item);
switch(item)
case 1:
printf("请输入新的姓名:\n");
scanf("%s",s2);
strcpy(stu[num].name,s2); break;
case 2:
printf("请输入新的年龄:\n");
scanf("%d",&stu[num].age);break;
case 3:
printf("请输入新的性别:\n");
scanf("%s",sex1);
strcpy(stu[num].sex,sex1); break;
case 4:
printf("请输入新的出生年月:\n");
scanf("%s",s2);
strcpy(stu[num].time,s2); break;
case 5:
printf("请输入新的地址:\n");
scanf("%s",s2);
strcpy(stu[num].add,s2); break;
case 6:
printf("请输入新的电话号码:\n");
scanf("%s",s2);
strcpy(stu[num].tel,s2); break;
case 7:
printf("请输入新的E-mail地址:\n");
scanf("%s",s2);
strcpy(stu[num].mail,s2); break;
case 8:return;
default:printf("请在1-8之间选择\n");
void sort()/*按学号排序*/
int i,j,*p,*q,s;
char temp[10];
for(i=0;i<n-1;i++)
for(j=n-1;j>i;j--)
if(strcmp(stu[j-1].code,stu[j].code)>0)
strcpy(temp,stu[j-1].code);
strcpy(stu[j-1].code,stu[j].code);
strcpy(stu[j].code,temp);
strcpy(temp,stu[j-1].name);
strcpy(stu[j-1].name,stu[j].name);
strcpy(stu[j].name,temp);
strcpy(temp,stu[j-1].sex);
strcpy(stu[j-1].sex,stu[j].sex);
strcpy(stu[j].sex,temp);
strcpy(temp,stu[j-1].time);
strcpy(stu[j-1].time,stu[j].time);
strcpy(stu[j].time,temp);
strcpy(temp,stu[j-1].add);
strcpy(stu[j-1].add,stu[j].add);
strcpy(stu[j].add,temp);
strcpy(temp,stu[j-1].tel);
strcpy(stu[j-1].tel,stu[j].tel);
strcpy(stu[j].tel,temp);
strcpy(temp,stu[j-1].mail);
strcpy(stu[j-1].mail,stu[j].mail);
strcpy(stu[j].mail,temp);
p=&stu[j-1].age;
q=&stu[j].age;
s=*q;
*q=*p;
*p=s;
void insert() /*插入函数*/
int i=n,j,flag;
printf("请输入待增加的学生数:\n");
scanf("%d",&m);
do
flag=1;
while(flag)
flag=0;
printf("请输入第 %d 个学生的学号:\n",i+1);
scanf("%s",stu[i].code);
for(j=0;j<i;j++)
if(strcmp(stu[i].code,stu[j].code)==0)
printf("已有该学号,请检查后重新录入!\n");
flag=1;
break; /*如有重复立即退出该层循环,提高判断速度*/
printf("请输入第 %d 个学生的姓名:\n",i+1);
scanf("%s",stu[i].name);
printf("请输入第 %d 个学生的年龄:\n",i+1);
scanf("%d",&stu[i].age);
printf("请输入第 %d 个学生的性别:\n",i+1);
scanf("%s",stu[i].sex);
printf("请输入第 %d 个学生的出生年月:(格式:年.月)\n",i+1);
scanf("%s",stu[i].time);
printf("请输入第 %d 个学生的地址:\n",i+1);
scanf("%s",stu[i].add);
printf("请输入第 %d 个学生的电话:\n",i+1);
scanf("%s",stu[i].tel);
printf("请输入第 %d 个学生的E-mail:\n",i+1);
scanf("%s",stu[i].mail);
if(flag==0)
i=i;
i++;
while(i<n+m);
n+=m;
printf("录入完毕!\n\n");
sort();
void del()
int i,j,flag=0;
char s1[LEN+1];
printf("请输入要删除学生的学号:\n");
scanf("%s",s1);
for(i=0;i<n;i++)
if(strcmp(stu[i].code,s1)==0)
flag=1;
for(j=i;j<n-1;j++)
stu[j]=stu[j+1];
if(flag==0)
printf("该学号不存在!\n");
if(flag==1)
printf("删除成功,显示结果请选择菜单6\n");
n--;
void display()
int i;
printf("所有学生的信息为:\n");
printf("学生学号 学生姓名 年龄 性别 出生年月 地址 电话 E-mail\n");
printf("--------------------------------------------------------------------\n");
for(i=0;i<n;i++)
printf("%6s %7s %5d %5s %9s %8s %10s %14s\n",stu[i].code,stu[i].name,stu[i].age,
stu[i].sex,stu[i].time,stu[i].add,stu[i].tel,stu[i].mail);
void save()
int i;
FILE *fp;
fp=fopen("student.txt","w"); /*写入*/
for(i=0;i<n;i++)
fprintf(fp,"%s %s %d %s %s %s %s %s\n",stu[i].code,stu[i].name,stu[i].age,
stu[i].sex,stu[i].time,stu[i].add,stu[i].tel,stu[i].mail);
fclose(fp);
void menu()/* 界面 */
int num;
printf("*********************系统功能菜单************************ \n");
printf("友情提醒:查询前请先刷新系统! \n");
printf(" ---------------------- ---------------------- \n");
printf(" ********************************************* \n");
printf(" * 0.系统帮助及说明 * * 1.刷新学生信息 * \n");
printf(" ********************************************* \n");
printf(" * 2.查询学生信息 * * 3.修改学生信息 * \n");
printf(" ********************************************* \n");
printf(" * 4.增加学生信息 * * 5.按学号删除信息 * \n");
printf(" ********************************************* \n");
printf(" * 6.显示当前信息 * * 7.保存当前学生信息* \n");
printf(" ********************** ********************** \n");
printf(" * 8.退出系统 * \n");
printf(" ********************** \n");
printf(" ---------------------- ---------------------- \n");
printf("请选择菜单编号:");
scanf("%d",&num);
switch(num)
case 0:help();break;
case 1:readfile();break;
case 2:seek();break;
case 3:modify();break;
case 4:insert();break;
case 5:del();break;
case 6:display();break;
case 7:save();break;
case 8:k=0;break;
default:printf("请在0-8之间选择\n");
参考技术A http://zhidao.baidu.com/question/161470388.html
可以参考下这里我的回答
题目要求基本一样 只少了第六条 自己加上就可以 参考技术B wangshangyou1 参考技术C 童鞋你这个要别人怎么回答你呢?就把一些要求写在上面,多自己想想吧.这些不难,你现在不想以后也要想,呵呵
用C语言程序书写学生信息管理系统
学生信息管理系统
(1)录入学生基本信息:学号、姓名、性别、出生地、所在班级、语文成绩、数学成绩、英语成绩、总学分;
(2) 可使用“学号”或“姓名”对已存有的学生资料进行查询,查找成功后,将其信息显示在屏幕上,也可对学生信息进行修改。
我这个是原版,但差别不大,修改结构体的成员就可以了,我就不修改了!
我的劳动成果啊。请采纳啊!!!!!!!!!
#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语言编程的主要内容,如果未能解决你的问题,请参考以下文章