一个很烂的学生成绩管理系统
来源:互联网 发布:淘宝买黄金可靠吗 编辑:程序博客网 时间:2024/05/20 22:01
#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; else printf("\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(); }}
0 0
- 一个很烂的学生成绩管理系统
- 一个学生成绩管理系统的代码
- 一个简单的学生成绩管理系统
- 用 c编写的一个学生成绩管理系统
- 用汇编写的一个学生成绩管理系统
- 简单的学生成绩管理系统
- 简单的学生成绩管理系统
- 学生成绩管理系统的代码
- 我的学生成绩管理系统
- 简单的学生成绩管理系统
- C实现的一个简单的学生成绩管理系统
- 一个学生成绩管理系统的设计与实现:2
- 利用C语言版本的数据库制作一个学生成绩管理系统
- JAVA写的学生成绩管理系统
- 基于SBT的学生成绩管理系统
- c语言的学生成绩管理系统
- C#版本的学生成绩管理系统
- 对学生成绩管理系统的介绍
- C/S模型下的请求-回复模式的应用要点
- 基于base - cell的NSTableView,学习苹果的demo AnimateTableView所写
- opencv-图像金字塔
- STL系列之全排列
- Java程序设计基础(入门)
- 一个很烂的学生成绩管理系统
- 带手机wap端)
- App store 评论功能实现
- hdu-4336-Card Collector-概率DP
- Android中的Interpolator
- position iframe frame
- 关于变量的事情
- 载入资源
- Oracle11g ora 12154 无法解析指定的连接标识符