打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
学生管理系统
这是部分代码

#include

#include

#include

//结构体类型名可以产生-》变量、指针=》访问结构体成员

//结构体是用来存储一堆不同数据类型的数据

typedef struct student//定义学生的资料

{

char name[10];

//姓名==数组是用来存储一堆相同数据类型的数据char 0-9

int number;//学号

char sex[2];//性别

int math;//数学

int english;//英语

int clanguge;//C语言

int average;//平均分

}student;

typedef struct unit//定义节点

{

student date;

struct unit* next;

}unit;

//函数是用来实现一些通用性的功能

//函数:函数声明:int add(); 你有一双手

//函数的实现int add(){...} //手可以数钱

//函数的调用 add(); //小王子的爸爸叫小王子帮忙数钱

unit* build()//新建系统

{//malloc 动态分配堆空间==有10本书,申请个书架,再把10本书放进去

unit* p;

if((p=(unit*)malloc(sizeof(unit)))==NULL)

{

printf('初始化失败!');

return 0;

}

else

{

p->next=NULL;

p->date.number=0;

printf('初始化成功!');

return p;

}

}

//指针:int* p;

//p 永远都是指针一块内存或区域:===第三行第四列看一下是什么书

//*p 永远都是内存或区域上值或目标:====C语言的书

void add(unit* head)//增加学生资料

{

unit *p,*q;

int m,n=0;

q=head->next;

p=(unit*)malloc(sizeof(unit));

printf('请输入学生姓名!\n');

gets(p->date.name);

fflush(stdin);//用来清空输入缓存,以便不影响后面输入的东西

printf('请输入学号!\n');

while(n==0)//循环:连续实现同一种功能 数绵羊123456....1000

{//246810.。。。1000 i+=2===i=i+2

scanf('%d',&m);

fflush(stdin);

if(q==NULL)n=1;

while(q!=NULL)

{

if(q->date.number==m)

{

printf('学号已存在,请重新输入!\n');

q=head->next;

break;

}

else

{

q=q->next;

if(q==NULL)n=1;

}

}

}

p->date.number=m;

printf('请输入性别!\n');

gets(p->date.sex);fflush(stdin);

printf('请输入数学成绩!\n');

scanf('%d',&m);fflush(stdin);

p->date.math=m;

printf('请输入英语成绩!\n');

scanf('%d',&m);fflush(stdin);

p->date.english=m;

printf('请输入C语言成绩!\n');

scanf('%d',&m);fflush(stdin);

p->date.clanguge=m;

p->date.average=(p->date.math+p->date.english+p->date.clanguge);

q=head->next;

head->next=p;

p->next=q;

head->date.number++;

}

int show(unit* head)

{

unit* p=head->next;

int m,n=0;

char N[10];

if(p=NULL)

{

printf('系统无学生资料!\n');

return 0;

}

while(n==0)

{

printf('请选择你要的操作!\n');

printf('\t\t\t1.显示所有\t2.按姓名查找\n');

printf('\t\t\t3.按学号查找\t4.返回主菜单\n');

scanf('%d',&m);

fflush(stdin);

switch(m)

{

case 1:

printf('本系统共有%d名学生\n\n',head->date.number);

p=head->next;

printf('\t姓名\t学号\t性别\t数学\t英语\tC语言\t综合\n\n');

while(p)

{

printf('\t%s\t%d\t%s\t%d\t%d\t%d\t%d\n',

p->date.name,p->date.number,p->date.sex,

p->date.math,p->date.english,p->date.clanguge,

p->date.average);

p=p->next;

}

break;

case 2:

printf('请输入查找姓名!\n');

gets(N);

fflush(stdin);

p=head->next;

while(p)

{

if(strcmp(p->date.name,N)==0)

{

printf('\t姓名\t学号\t性别\t数学\t英语\tC语言\t综合\n\n');

printf('\t%s\t%d\t%s\t%d\t%d\t%d\t%d\n',

p->date.name,p->date.number,p->date.sex,

p->date.math,p->date.english,p->date.clanguge,

p->date.average);

break;

}

else

{

p=p->next;

if(p==NULL)

printf('你要查找的学生不存在!');

}

}

break;

case 3:

printf('请输入查找学号!\n');

break;

}

}

}

int save(unit *head)//保存

{

FILE *fp;

unit *p;

p=head;

if((fp=fopen('F:\\学生.txt','wb+'))==NULL)

{

printf('保存失败!\n');

return 0;

}

while(p)

{

fwrite(&(p->date),sizeof(student),1,fp);

p=p->next;

}

printf('保存成功!\n');

fclose(fp);

return 1;

}

void menu()

{

printf('\t\t********系统主菜单***********\n');

printf('\t\t1.新建系统\t2.添加学生\n');

printf('\t\t3.删除学生\t4.查看信息\n');

printf('\t\t5.排列顺序\t6.读取信息\n');

printf('\t\t7.保存信息\t8.退出系统\n');

printf('请选择你的操作!\n');

}

int main()

{

int m=0,n;

unit* head;

while(m==0)

{

//system('cls');

menu();

scanf('%d',&n);

fflush(stdin);

switch(n)

{

case 1:head=build();break;

case 2:add(head);break;

//case 3:printf('实现新建系统的功能');break;

case 4:show(head);break;

/*case 5:printf('实现新建系统的功能');break;

case 6:printf('实现新建系统的功能');break;*/

case 7:save(head);break;

case 8:m=1;break;

}

}

system('pause');

return 0;


本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
C语言 实现链表
C语言(学员管理系统)
链表
C语言猜拳游戏代码及分析
信息管理系统
「小白到大牛之路9」交换机后台管理系统之函数优化
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服