学生信息管理系统设计 学生信息管理系统设计?

作者&投稿:利民 (若有异议请与网页底部的电邮联系)
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<conio.h>
#define N 100
void input();//录入学生的信息
int del();
void display(); //浏览函数
int menu();
void save();
int read();
void add();
void search();
void search_name();
void search_number();
int modify();
int n;
struct date
{
int year;
int month;
int day;
} ;
struct student
{
char num[5];
char name[20];
int age;
char sex[10];
struct date birthday;
int tele;
char addr[30];
char e[30];
}stu[100];
int menu()/*菜单函数*/
{
int b;
system("cls");
printf("\n\n");
printf("\t 学生信息管理系统\n");
printf("\t ---------------- \n");
printf("\t \n");
printf("\t 1. 学生信息录入 \n");
printf("\t 2. 学生信息浏览 \n");
printf("\t 3. 学生信息查询 \n");
printf("\t 4. 学生信息删除 \n");
printf("\t 5. 学生信息修改 \n");
printf("\t 6. 学生信息添加 \n");
printf("\t 0. 退出 \n");
printf("\t----------------------------------\n");
do{
printf("\n 输入你的选择项(0~6):\n");
scanf("%d",&b);

}while(b<0||b>6);
fflush(stdin);
return b;
}
void input()
{
int i;
printf("请输入学生个数:\n");
scanf("%d",&n);
for(i=0;i<n;i++)
{
printf("输入第%d个的学生信息:\n",i+1);
printf("请输入学生的学号、姓名、性别、年龄、出生日期、电话、地址、e-mail\n");
scanf("%s%s%s%d%d%d%d%d%s%s",stu[i].num,stu[i].name,stu[i].sex,&stu[i].age,&stu[i].birthday.year,&stu[i].birthday.month, &stu[i].birthday.day,&stu[i].tele,stu[i].addr,stu[i].e);
printf("\n");
fflush(stdin);
}
printf("\n创建完毕!\n");
}
void save ()
{
FILE *fp;
int i;
if((fp=fopen("student.txt","wb"))==NULL)
{
printf("can not open file\n");
exit (0);
}
for(i=0;i<n;i++)
fwrite(stu+i,sizeof(struct student),1,fp);
fclose(fp);
}

int read() //读入函数
{
FILE *fp;
int i=0;
if((fp=fopen("student.txt","rb"))==NULL)
{
printf("\ncan not open file\n");
exit(0);
}
do{
fread(&stu[i],sizeof(struct student),1,fp);
i++;
}while(!feof(fp));
fclose(fp);
return i-1;
}
void display()
{
int i;
for(i=0;i<n;i++)
{
printf("%s %s %s %d %d %d %d %d %s %s",stu[i].num,stu[i].name,stu[i].sex,stu[i].age,stu[i].birthday.year,stu[i].birthday.month, stu[i].birthday.day,
stu[i].tele,stu[i].addr,stu[i].e);
printf("\n");
fflush(stdin);
}
}

void search() //查询函数
{
int t;
printf("\n按学号查询按1\n按姓名查询请按2");
printf("\n返回主菜单请按3\n");
scanf("%d",&t);
switch(t)
{
case 1:
printf("\n按学号查询\n");
search_number();
break;
case 2:
printf("\n按姓名查询\n");
search_name();
break;
case 3:menu();break;
default :
printf("输入错误,请重新输入!\n");
search();
break;
}
}

void search_name() //按姓名查询函数
{
int i;
int flag=0;
char s[10];
printf("\n请输入你要查询的姓名:\n");
scanf("%s",s);
for(i=0;i<n;i++)
{
if(strcmp(s,stu[i].name)==0)
{
printf("学号:%s\n",stu[i].num);
printf("姓名:%s\n",stu[i].name);
printf("性别:%s\n",stu[i].sex);
printf("年龄:%d\n",stu[i].age);
printf("出生日期:%d %d %d\n",stu[i].birthday.year,stu[i].birthday.month, stu[i].birthday.day);
printf("电话号码:%d\n",stu[i].tele);
printf("住址:%s\n",stu[i].addr);
printf("电子邮件:%s\n",stu[i].e);
printf("查寻成功");
flag=1;
}
}
Ifflag==0)
printf("\nNo exit!\n");
getchar();
}

void search_number() //按学号查询函数
{
int i;
char s[10];
printf("\n输入要查询的学号!:\n");
scanf("%s",s);
for(i=0;i<n;i++)
{
if(strcmp(s,stu[i].num)==0)
{
printf("学号:%s\n",stu[i].num);
printf("姓名:%s\n",stu[i].name);
printf("性别:%s\n",stu[i].sex);
printf("年龄:%d\n",stu[i].age);
printf("出生日期:%d %d %d\n",stu[i].birthday.year,stu[i].birthday.month, stu[i].birthday.day);
printf("电子邮件:%s\n",stu[i].e);
printf("住址:%s\n",stu[i].addr);
printf("电话:%d\n",stu[i].tele);
printf("查询成功");
break;
}

}
if(i>n)
printf("\nNo exit!please");
getchar();
}

int del() //删除函数
{
int i,j;
FILE *fp;
char num[4];
char c;
if((fp=fopen("student.txt","wb"))==NULL)
{
printf("\ncan not open file\n");
exit(0);
}
printf("请输入要删除的学生的学号:");
scanf("%s",num);
for(i=0;i<n;i++)
{
if(strcmp(num,stu[i].num)==0)
{
printf("找到该学生,是否删除?(y/n) ") ;
fflush(stdin);
scanf("%c",&c);
if(c =='Y'||c=='y')
{
for(j=i;j<n;j++)
stu[j]=stu[j+1];
printf("删除成功! \n");
break;
}
}
}
if(i>=n)
{
printf("没有找到该学生!\n ");
return 0;
}

else
{
for(i=0;i<n;i++)
if(fwrite(&stu[i],sizeof(struct student),1,fp)!=1)
{
printf("\ncan not save file\n");
getchar();
}
fclose(fp);
}
}

void add() //添加函数
{
FILE *fp;
struct student p;
printf("\n请输入新增加学生的信息:\n");
printf("请输入学号:\n");scanf("%s",p.num);
printf("请输入姓名:\n");scanf("%s",p.name);
printf("请输入性别:\n");scanf("%s",p.sex);
printf("请输入年龄:\n");scanf("%d",&p.age);
printf("请输入出生日期:\n");scanf("%d %d %d",&p.birthday.year,&p.birthday.month, &p.birthday.day);
printf("请输入电话号码:\n");scanf("%d",p.tele);
printf("请输入地址:\n");scanf("%s",p.addr);
printf("请输入电子邮件:\n");scanf("%s",p.e);
printf("\n添加完毕\n");
if((fp=fopen("student.txt","ab"))==NULL)
{
printf("\ncan not open file\n");
exit(0);
}
fwrite(&p,sizeof(struct student),1,fp);
fclose(fp);
}

int modify() //修改函数
{
struct student p;
FILE *fp;
int i;
char c[4];
printf("\n输入要修改的学号:\n");
scanf("%s",c); fflush(stdin);
for(i=0;i<n;i++)
{
if(strcmp(c,stu[i].num)==0)
{
printf("找到该学生!") ;
system("PAUSE");
strcpy(p.num,c);
printf("请输入姓名:\n");scanf("%s",p.name);
printf("请输入性别:\n");scanf("%s",p.sex);
printf("请输入年龄:\n");scanf("%d",&p.age);
printf("请输入出生日期:\n");scanf("%d %d %d",&p.birthday.year,&p.birthday.month, &p.birthday.day);
printf("请输入电话号码:\n");scanf("%d",&p.tele);
printf("请输入地址:\n");scanf("%s",p.addr);
printf("请输入电子邮件:\n");scanf("%s",p.e);
if((fp=fopen("student.txt","r+"))==NULL)
{
printf("\ncan not open file\n");
exit(0);
}
fseek(fp,i*sizeof(struct student),0);
fwrite(&p,sizeof(struct student),1,fp);
fclose(fp);
printf("修改成功!\n");
break;
}
}
if(i>=n)
printf("\n未找到该学生!\n");
return 0;
}

void main()
{

while(1)
{
switch(menu()) //调用主菜单函数,返回值整数作开关语句的条件
{
case 1 :
input();//学生信息录入
save();
break;
case 2 :
n = read();
display();//浏览学生信息
system("PAUSE");
break;
case 3 : search();//查询学生信息
system("PAUSE");
break;
case 4 : del();//删除学生信息
system("PAUSE");
case 5 :
modify();//修改学生信息信息
system("PAUSE");
break;
case 6 : add();//添加学生信息信息
system("PAUSE");
break;
case 0 : exit(0);//退出
}
}
}

学生信息管理系统的数据库设计~

选修课一张表:课程,课程编号
学生一张表:个人信息,学号(班级学院可在做一张关联也可在这张表里,关联的话,会有一个班级的属性,会再多一张班级表)
映射关系一张表:课程编号、学号(成绩)
通过最后一张表关联前两张就可以了,可以再最后一张里加成绩,就成了成绩与科目人关联的表了
主键、外键都是学号和课程编号

现在上学学生都有学籍,登录上去一目了然,信息化了,只要把信息输入进去,所有的内容都看的见,现在真是太好了

c程序设计学生信息管理系统
答:(1)学生成绩管理系统。要求将学生信息(学号、姓名、性别、成绩等)以动态链表的形式存放在studin.txt文件中,通过下拉式菜单完成以下功能:i.插入学生的成绩。ii.按一定条件修改某... (1) 学生成绩管理系统。要求将学生信息(学号、姓名、性别、成绩等)以动态链表的形式存放在studin.txt 文件中,通过下拉式菜单完成以...

学生信息管理系统
答:在信息时代,学生信息管理系统扮演着关键角色,它简化了高校工作流程,让教师可以集中管理学生信息,进行课程规划与数据统计,从而显著提升教学效果(适应信息时代,简化工作流程)。3. 系统设计与实现 3.1 系统设计概览 系统设计首先明确了项目目标,通过需求分析,构建了数据流图,细致规划了登录验证、课程管...

C语言课程设计"学生信息管理系统设计 "怎么做?
答:功能5为按姓名删除记录,先输入姓名,再一一比较,如果没有则返回失败信息,如果找到就将此记录都向前移一位,返回n-1。功能6的算法在5中就已经体现了,输入姓名,一一比较。功能7为新增的功能,因为考虑到原来给出的函数中竟然没有对学生成绩的统计功能,因此新增此功能,可以得出所有的记录个数,最高、最低、平均分,并...

C语言学生信息管理系统设计
答:生信息管理增加学生信息(输入学生详细信息。输入后应能查询到该学生的信息) (增加学生信息完毕后,有选项退出系统或者返回上级菜单)删除学生信息(输入要删除的学生姓名。删除该学生的全部信息。如果有重名的学生,提示学生不唯一。要进一步选择然后确定删除该学生的信息。) (删除学生信息完毕后,有选项退出系统或者返回上级...

...在做大一的课程设计,就是做一个学生信息管理系统,信息头是什么意思怎...
答:1.你说的信息头,就是InfoHead结构体,其实这就是一个统计结果存放的结构,每次插入删除修改等等操作之后,都要重新统计次,将结果放入此结构体中 2.学生信息怎么保存?可用文件读写操作,或链表实现。如果链表实现STU结构体中应有指针指向下一个学生信息 typedef struct stdinfo { unsigned long no; /...

帮忙设计一个C语言的学生信息管理系统
答:具体要求如下:1、在主程序中,先显示如下菜单:简易学生信息管理系统***系统功能菜单***---1.录入学生信息2.按成绩排序3.增加学生信息4.按学号删... 具体要求如下:1、 在主程序中,先显示如下菜单: 简易学生信息管理系统 ***系统功能菜单*** --- 1. 录入学生信息 2. 按成绩排序 3. 增加学生信息 ...

C语言程序设计 题目:学生信息管理系统
答:1题目:学生信息管理系统2程序要求:(1)学生信息录入功能1)用户从键盘输入每个学生的信息:学号、姓名、性别、数学、英语、政治、语文四门课成绩。2)可插入一个或多个学生信息到当... 1题目:学生信息管理系统 2 程序要求:(1)学生信息录入功能 1)用户从键盘输入每个学生的信息:学号、姓名、性别、数学、英语、政治...

用C语言做学生信息管理系统设计
答:学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等。试设计一学生信息管理系统,使之能提供以下功能:系统以菜单方式工作(用键盘输入1~4之间的数来选择功能)(1)... 学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等。试设计一学生信息管理系统,使之能提供以下功能:系统以菜单方式...

C语言--学生信息管理系统设计(悬100分)
答:C语言--学生信息管理系统设计(悬100分) 学生信息包括:学号、姓名、年龄、性别、出生年月、籍贯、电话等。系统要求实现如下功能:1)系统功能以菜单方式工作;2)数据的添加,以两种方式添加:从键盘直接输入和从现有文件中... 学生信息包括:学号、姓名、年龄、性别、出生年月、籍贯、电话等。系统要求实现如下功能:1)...

C程序设计学生信息管理系统
答:printf("学生信息添加成功!!!\n");} void InsertInformation(LinkStudent &l){ int location;int count=1;l.current=(stu*)malloc(sizeof(stu));l.p=(stu*)malloc(sizeof(stu));printf("输入要插入的位置号:");scanf("%d",&location);if(location>l.tot||location<1)printf("错误\n...