#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include<string.h>
#include<windows.h>
#define M 1000
#define m1 "\t--------------------------------"
#define m2 "\t| 1.管理员注册 | 2.登陆 | 3.退出系统"
#define m3 "\t--------------------------------?"
struct student
{int num;char name[20];char sex[20];int xueling;int math;int English;int zhuanye;
} stu[M];void munu1();
void munu();
void save(int);
void input();
void display();
int load();
void add();
void del();
void search();
void search_num();
void search_name();
void change();
void ZC();
void DL();
void save1(int);struct ak
{char s[20];char ps[20];
}aker[2];
struct ac
{char ss[20];char pss[20];
};void save1(int n)
{FILE *fp;int i;if((fp=fopen("stud.dat","wb"))==NULL){printf("cannot open file\n");exit(1);}for(i=0;i<n;i++)if(fprintf(fp,"%20s%20s",aker[i].s,aker[i].ps)<0)printf("file write error\n");fclose(fp);
}void ZC()
{int n=1;printf("请注册两名管理员:\n");fflush(stdin);for(int i=0;i<n;i++){printf("请输入账号: ");fflush(stdin);scanf("%s",aker[i].s);printf("请输入密码: ");fflush(stdin);scanf("%s",aker[i].ps);}save1(n);
}void DL()
{FILE *fp;ac tmps;int i,success=0;printf("************************************\n");printf("\t  欢迎进入 nyist \n");printf("************************************\n");again:printf("输入账号: \n");scanf("%s",tmps.ss);printf("输入密码:  \n");scanf("%s",tmps.pss);fp=fopen("stud.dat","rb");if(fp==NULL){printf("0.0\n");exit(0);}while(fscanf(fp,"%20s\n%20s\n",aker[0].s,aker[0].ps)!=0)//while(fread(&aker[0],sizeof(ak),1,fp)!=0){for(i=0;i<2;i++)if((strcmp(tmps.ss,aker[i].s)==0)&&(strcmp(tmps.pss,aker[i].ps)==0)){printf("success\n");success=1;break;}if(success==1)break;}if(success){system("cls");munu1();printf("Ivcxy\n");}char R;if(success==0){printf("错误(y/n)\n");scanf("%c",&R);if((R=='y')||(R=='Y')){printf("heihei\n");goto again;}else{printf("end\n");exit(0);}}
}
int main()
{
//    printf("%d\n",sizeof(ak));printf("ps:第一次登陆请注册管理员账号:\n");int c;
again:printf(""m1"\n"m2"\n"m3"\n");scanf("%d",&c);if(c>2||c<1){printf("nono!");goto again;}switch(c){case 1: ZC();break;case 2: DL();break;default :break;}
}
void munu()
{printf("\t*****欢迎进入nyist学生成绩管理系统*****\n");printf("\t@@@@@金牌大表弟为你服务@@@@@、n");printf("\n");printf("\t1.导入学生信息\n");printf("\t2.浏览学生个人信息\n");printf("\t3.添加学生个人信息\n");printf("\t4.删除学生个人信息\n");printf("\t5.修改学生个人信息\n");printf("\t6.具体查询个人信息\n");printf("\t7.退出系统\n");
}void munu1()
{int flag;int n;char a;munu();do{scanf("%d",&n);if(n>=1&&n<=7){flag=1;break;}else{flag=0;printf("大表弟:您输入的东西我看不懂也,请在此选择\n");}}while(flag==0);while(flag==1){system("cls");switch(n){case 1:printf("请初始化学生信息\n");input();break;case 2:printf("浏览学生信息\n");display();break;case 3:printf("临时添加学生信息\n");add();break;case 4:printf(" 删除学生信息\n");del();break;case 5:printf("修改学生信息\n");change();break;case 6:printf("具体查询个人信息\n");search();break;case 7:exit(0);break;default:break;}getchar();printf("\n是否要继续(y or n)\n");scanf("%c",&a);if(a=='y'){flag=1;system("cls");munu();printf("小表弟问:大哥说你还需要他帮助吗?1~6\n");scanf("%d",&n);printf("\n");}else{system("cls");break;}}
}
void input()
{printf("请输入需要创建信息的学生人数(1--1000):\n");int m;scanf("%d",&m);int i;for(i=0; i<m; i++){printf("请输入学号:\n");srand((int)time(0));stu[i].num=rand()%100+20000000;if(stu[i].num!=stu[i-1].num) printf("%8d ",stu[i].num);printf("\n");scanf("%d",&stu[i].num);
//        printf("%d ",stu[i].num);printf("请输入学生姓名:\n");scanf("%s",stu[i].name);getchar();printf("学生性别(男or女...中)\n");scanf("%s",stu[i].sex);getchar();printf("请输入学龄:\n");scanf("%d",&stu[i].xueling);getchar();printf("请输入学生高数成绩:\n");scanf("%d",&stu[i].math);getchar();printf("请输入学生英语成绩:\n");scanf("%d",&stu[i].English);getchar();printf("请输入学生专业成绩:\n");scanf("%d",&stu[i].zhuanye);}printf("\n创建完毕!\n");save(m);
}
void save(int m)
{int i;FILE *fp;if((fp=fopen("lvcxy","wb"))==NULL)printf("cannot open file\n");for(i=0; i<m; i++)if(fwrite(&stu[i],sizeof(struct student),1,fp)!=1)printf("file write error\n");fclose(fp);
}
int load()
{FILE *fp;int i=0;if((fp=fopen("lvcxy","rb"))==NULL){printf("cannot open file\n");exit(0);}else{do{fread(&stu[i],sizeof(struct student),1,fp);i++;}while(!feof(fp));}fclose(fp);return (i-1);
}
void display()//浏览函数
{int i;int m=load();for(i=0; i<m; i++){printf("  \n学号\t姓名\t性别\t学龄\t高数\t英语\t专业\n");printf("\n%d\t%s\t%s\t%d\t%d\t%d\t%d\n",stu[i].num,stu[i].name,stu[i].sex,stu[i].xueling,stu[i].math,stu[i].English,stu[i].zhuanye);}
}
void add()
{FILE *fp;int n;int cnt=0;int i;int m=load();printf("\n原来的学生信息:\n");display();printf("\n");fp=fopen("lvcxy","a");printf("请输入想加入的学生数:\n");scanf("%d",&n);for(i=m; i<(m+n); i++){printf("\n请输入新增加的学生信息:\n");printf("请输入学号:");srand((int)time(0));stu[i].num=rand()%100+20000000;if(stu[i].num!=stu[i-1].num)printf("%8d",stu[i].num);printf("\n");printf("请输入名字:");scanf("%s",stu[i].name);getchar();printf("学生性别(男or女...中)\n");scanf("%s",stu[i].sex);getchar();printf("请输入学龄:\n");scanf("%d",&stu[i].xueling);getchar();printf("请输入学生高数成绩:\n");scanf("%d",&stu[i].math);getchar();printf("学生性别(男or女...中)\n");scanf("%s",stu[i].sex);getchar();printf("请输入学龄:\n");scanf("%d",&stu[i].xueling);getchar();printf("请输入学生高数成绩:\n");scanf("%d",&stu[i].math);getchar();printf("请输入学生英语成绩:\n");scanf("%d",&stu[i].English);getchar();printf("请输入学生专业成绩:\n");scanf("%d",&stu[i].zhuanye);printf("请输入学生英语成绩:\n");scanf("%d",&stu[i].English);getchar();printf("请输入学生专业成绩:\n");scanf("%d",&stu[i].zhuanye);printf("\n");cnt++;printf("已经增加的人数");printf("%d\n",cnt);}printf("\n添加完毕!\n");m+=cnt;printf("\n浏览增加后的所以学生信息:\n");printf("\n");save(m);display();fclose(fp);
}
void del()
{int m=load();int i,j,n,t,flag;char name[20];printf("\n原来职工信息\n");printf("\n请输入要删除同学的名字~喵喵\n");display();//导出数据;scanf("%s",name);for(flag=1,i=0; i<m&&flag; i++){if(!strcmp(stu[i].name,name)){printf("小表弟:“已经找到了>.<\n”");printf("\n学号\t   学号 姓名 性别 学龄 高数 英语 专业\n");printf("\n%d\t%s\t%s\t%d\t%d%d%d\n",stu[i].num,stu[i].name,stu[i].sex,stu[i].xueling,stu[i].math,stu[i].English,stu[i].zhuanye);printf("\n确实要删除此人信息请输入 1 ,不删除请输入 0\t不许淘气!\n");scanf("%d",&n);if(n==1){for(j=i; j<m-1; j++){strcpy(stu[j].name,stu[j+1].name);stu[j].num=stu[j+1].num;strcpy(stu[j].sex,stu[j+1].sex);stu[j].xueling=stu[j+1].xueling;stu[j].math=stu[j+1].math;stu[j].English=stu[j+1].English;stu[j].zhuanye=stu[j+1].zhuanye;}flag=0;}}}if(!flag)m=m-1;elseprintf("\n对不起,查无此人!\n");printf("\n浏览删除后所有职工信息\n");save(m);//调用保存display();printf("\n继续删除请安1,不再删除请按0");scanf("%d",&t);switch(t){case 1:del();break;case 0:break;default :break;}
}void search()
{int t,flag;do{printf("\n按学号查询1 姓名查询2\n");scanf("%d",&t);if(t>=1&&t<=2){flag=1;break;}else{flag=0;printf("您输入有误,请重新选择!");}}while(flag==0);while(flag==1){switch(t){case 1: printf("按学号查询\n");flag=0;search_num();break;case 2:printf("按姓名查询\n");flag=0;search_name();break;default : break;}}
}
void search_num()
{int num;int i,t;int m=load();printf("请输入要查找的学号(20000001~20001000)");scanf("%d",&num);for(i=0; i<m; i++)if(num==stu[i].num){printf("\n已找到此人,调取记录: \n");printf("\n学号\t   姓名\t性别\t学龄\t高数\t英语\t专业\n");printf("\n%d\t%s\t%s\t%d\t%d\t%d\t%d\n",stu[i].name,stu[i].sex,stu[i].xueling,stu[i].math,stu[i].English,stu[i].zhuanye);break;}if(i==m)printf("\n查无此人\n");printf("\n");printf("返回查询函数请按,继续查询学号请输入1~2\n");scanf("%d",&t);switch(t){case 1:search();break;case 2:break;default:break;}
}
void search_name()
{char name[30];int i,t;int m=load();printf("请输入要找的名字\n");scanf("%s",name);for(i=0; i<m; i++)if(strcmp(stu[i].name,name)==0){printf("\n已经找到,调取记录\n");printf("\n学号\t  姓名\t性别\t学龄\t高数\t英语\t专业\n");printf("\n%d\t  %s\t%s\t%d\t%d\t%d\t%d\n",stu[i].num,stu[i].name,stu[i].sex,stu[i].xueling,stu[i].math,stu[i].English,stu[i].zhuanye);}if(i==m)printf("查无此人\n");printf("\n");printf("返回查询请按1,结束请安2\n");scanf("%d",&t);switch(t){case  1:search();break;case  2:break;default :break;}
}
void change()
{int num;char name[20];char sex[20];int xueling;int math;int English;int zhuanye;int b,c,i,n,t,flag;int m=load();printf("\n 原来的学生信息:\n");display();printf("\n");printf("请输入要修改的姓名: ");scanf("%s",name);for(flag=1,i=0; i<m&&flag; i++){if(strcmp(stu[i].name,name)==0){printf("\n已找到,调取记录:\n");printf("\n学号\t   姓名\t性别\t学龄\t高数\t英语\t专业\n");printf("\n%d\t%s\t%s\t%d\t%d\t%d\t%d\n",stu[i].name,stu[i].sex,stu[i].xueling,stu[i].math,stu[i].English,stu[i].zhuanye);printf("\n确定要修改信息请输入1;不修改输入2\n");if(n==1){printf("\n请输入要修改的选项\n1.学号2.姓名3.性别4.学龄5.math6.English7.专业\n");scanf("%d",&c);if(c>7||c<1)printf("\n选择错误,请重新选择\n");}flag=0;}if(flag==1)printf("\n对不起,查无其人\n");do{switch(c){case 1:printf("学号修改:\n");scanf("%d",&num);stu[i-1].num=num;break;case 2:printf("姓名修改:\n");scanf("%s",&name);strcpy(stu[i].name,name);break;case 3:printf("性别修改:\n");scanf("%s",&sex);strcpy(stu[i].sex,sex);break;case 4:printf("学龄修改:\n");scanf("%d",&xueling);stu[i-1].xueling=xueling;break;case 5:printf("数学修改:\n");scanf("%d",&math);stu[i-1].math=math;break;case 6:printf("英语修改:\n");scanf("%d",&English);stu[i-1].English=English;break;case 7:printf("专业修改:\n");scanf("%d",&zhuanye);stu[i-1].zhuanye=zhuanye;break;}printf("\n");printf("\n是否确定所修改的信息?\n 输入2or1");scanf("%d",&b);}while(b==2);printf("\n浏览修改信息:\n");printf("\n");save(m);display();printf("继续输入1 or 0\n");scanf("%d",&t);switch(t){case 1:change();break;case 0:break;default :break;}getchar();}
}

一个很烂的学生成绩管理系统相关推荐

  1. 基于SpringBoot的学生成绩管理系统

    本系统使用SpringBoot进行开发,供大家参考. 开发工具可以选用Eclipse或者IDEA 数据库使用Mysql. 需要相关安装的可以看我之前的文章或者私信我. 简介 现今,越来越多的人乐于选择 ...

  2. c语言学生成绩管理论文,用c语言实现一个学生成绩管理系统.doc

    用c语言实现一个学生成绩管理系统.doc 还剩 15页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,很抱歉,此页已超出免费预览范围啦! 如果喜欢就下载吧,价低环保! 内容要点: 第 16 ...

  3. 用C语言实现一个学生成绩管理系统 实现学生信息管理。包括:录入、查询、排序等功能。 要求: 用数据文件保存学生基本信息(学号 姓名 课程1 课程2 课程3…) ,利用菜单可以循环实现各个功能。

    用C语言实现一个学生成绩管理系统 题目: 学生成绩管理系统 功能: 实现学生信息管理.包括:录入.查询.排序等功能. 要求: 用数据文件保存学生基本信息(学号 姓名 课程1 课程2 课程3-) ,利用 ...

  4. C实现的一个简单的学生成绩管理系统

    /*学生成绩管理系统 */ //#include "StdAfx.h" #include "stdio.h"   /*标准输入输出函数库*/ #include ...

  5. c语言设计一个学生成绩管理系统,用C语言设计的学生成绩管理系统1.doc

    实 训 报 告 实训名称: "学生成绩管理系统"设计 时间: 2009年 06月15日至 2009年06月 19日 学生实训任务书 一.题目 "学生成绩管理系统" ...

  6. 场景:一个年级,相当链表A ,该年级5个班,每个班5个人,相当于链表B1--B5:做一个学生成绩管理系统学生成绩有语文 数学 英语功能: 录入成绩 找三科总分的最高分 最低分 算出平均分

    #include <stdio.h> #include <stdlib.h>struct Student//学生结构体 {char* name;int chinese;int ...

  7. C语言期末课设:从头开始设计一个简单的学生成绩管理系统

    整个可以运行的源代码在文章最后!!! 首先我们先创建一个结构体,用来抽象一个学生的信息,包含该学生的学号,姓名,成绩(这里我们为了程序简单,只包含了一个成绩.也可以自行添加,其他成绩信息,以及性别,年 ...

  8. 用Java创建一个学生成绩管理系统登陆界面(初级)

    目录 任务与要求 代码部分 部分代码: 完整代码: 任务与要求 使用eclipse.exe创建一个登录界面,如图1所示,当用户名输入"lili",密码输入"123456& ...

  9. Python:结合列表和字典,编写一个简单的学生成绩管理系统

            本次主要使用新学的列表和字典,结合定义函数等知识点,成功编写了一个简单的学生成绩管理系统.实现了在系统内使用学生的姓名或者学号,即可实现显示.添加.删除.修改.查找(增删改查).成绩排 ...

  10. c语言学生成绩管理系统 性别,c语言学生管理系统学生成绩管理系统 功能: 每个学生信息为一个记录,包括学号,姓名,性别,3 门课程成绩...

    匿名用户 1级 2011-07-07 回答 #include"stdio.h" #include"conio.h" #include"string.h ...

最新文章

  1. 传统方法 + 深度学习发威! | 2021瓷砖缺陷检测总决赛冠军思路分享
  2. bzoj 2406: 矩阵 ——solution
  3. 并查集杭电1272小希的迷宫
  4. jQuery应用之(二)使用jQuery管理选择结果(荐)
  5. c语言线程锁的原理开锁原理图,C++多线程之可重入锁
  6. Java学习总结 16个亮点
  7. 4x4矩阵键盘工作原理及扫描程序_基于复杂可编程逻辑器件实现键盘接口电路的设计...
  8. Java进阶:GIT
  9. 信息安全与管理的分析理解
  10. 汽车故障诊断技术【4】
  11. Window10下安装双系统(Win10+Ubuntu20.04)
  12. apk部分手机安装失败_如何解决APK安装失败 INSTALL..
  13. 统计学基础知识(三)
  14. 【夜读】一个人保持年轻的5个好习惯
  15. ARCGIS清晰的地图,底图,道路街景图
  16. 城市交通公众号2021年头部内容发布
  17. 求幂级数展开的部分和 / 求分数序列前N项和 / 特殊a串数列求和
  18. Linux下的硬盘信息查看
  19. Android 高仿百度地图的LBS服务——基础地图篇(v 3.1.1)
  20. IP地址、子网掩码、默认网关和DNS服务器之间的联系与区别

热门文章

  1. 计算机应用基础三次没有通过怎么办,计算机应用基础第三次作业
  2. tolua中使用protobuf3—集成lua-protobuf
  3. linux显卡测试radeon,15款热门显卡对比:Radeon RX 6800系列在Linux 1440p环境下表现出色...
  4. axure文本框添加水印_Axure教程:限制输入框输入字数
  5. 初学者怎么自学python编程_编程零基础初学者应当如何开始学习 Python?
  6. 微信支付 ---- (微信退款,提示return_msg=证书已过期, return_code=FAIL)
  7. python解base64_python模块之base64
  8. python selenium框架搭建_python + selenium 自动化框架搭建
  9. phpstom可以配置php环境吗_环境配置 · PhpStorm · 看云
  10. Ajax用法返回Json