收藏 分销(赏)

C语言学生信息管理系统(附源码).doc

上传人:w****g 文档编号:2493259 上传时间:2024-05-30 格式:DOC 页数:18 大小:79.54KB
下载 相关 举报
C语言学生信息管理系统(附源码).doc_第1页
第1页 / 共18页
C语言学生信息管理系统(附源码).doc_第2页
第2页 / 共18页
点击查看更多>>
资源描述
(完整版)C语言学生信息管理系统(附源码) 学生信息管理系统 #include〈stdio。h> #include<stdlib。h> #include<conio.h〉 #include<dos.h> #include<string。h> #define LEN sizeof(struct student) #define FORMAT "%-12d%—12s%-13。1f%—13。1f%-13.1f%—13。1f\n" #define DATA stu[i].num,stu[i].name,stu[i]。chinese,stu[i].math,stu[i].english,stu[i].sum /**************定义学生成绩结构体***********************/ struct student { int num; char name[15]; float chinese; float math; float english; float sum; }; struct student stu[50]; /************函数声明与简介***************/ void input(); void show(); void order(); void del(); void modify(); void menu(); void insert(); void total(); void search(); int chcode(); /***********主函数****************/ int main() { int n; int login = chcode(); if(!login) { printf("登录失败!\n”); return 0; } printf("登录成功!\n”); menu(); scanf(”%d",&n); while(n) { switch(n) { case 0: exit(0); case 1: input();break; case 2: search();break; case 3: del();break; case 4: modify();break; case 5: insert();break; case 6: order();break; case 7: total();break; case 8: show();break; default:printf("输入有误,请重新输入:");break; } getch(); menu(); scanf("%d",&n); } return 0; } /*******自定义函数实现菜单功能******/ void menu() { system(”cls"); printf(”\t\t|——-—-—------—学生信息系统--——-—————|\n"); printf("\t\t| |\n”); printf("\t\t| 0. 退出系统\t\t\t |\n"); printf("\t\t| 1. 输入记录\t\t\t |\n"); printf("\t\t| 2. 查找记录\t\t\t |\n"); printf("\t\t| 3. 删除记录\t\t\t |\n"); printf("\t\t| 4. 修改记录\t\t\t |\n”); printf("\t\t| 5。 插入记录\t\t\t |\n"); printf(”\t\t| 6. 记录排序\t\t\t |\n”); printf("\t\t| 7。 记录个数\t\t\t |\n”); printf("\t\t| 8. 显示记录\t\t\t |\n"); printf(”\t\t|—--———---—--———--—-----—-——-——---—-|\n\n”); printf(”\t\t请输入你的操作(0—8):"); } /*****录入学生信息**/ void input() { int i,m=0; char ch[2]; FILE *fp;/*定义指针文件*/ if((fp=fopen("stuData.tet","a+"))==NULL) { printf(”打开文件失败\n”); return; } while(!feof(fp)) { if(fread(&stu[m],LEN,1,fp)==1) m++; } fclose(fp); if(m==0) printf(”没有数据!\n"); else { system("cls”); show(); } if((fp=fopen(”stuData。txt”,"wb"))==NULL) { printf(”打开文件失败\n”); return; } for(i=0;i〈m;i++) { fwrite(&stu[i],LEN,1,fp); } printf("请确认(y/n):”); scanf("%s”,ch); while(strcmp(ch,”Y”)==0||strcmp(ch,”y”)==0) { printf(”学号:"); scanf("%d”,&stu[m]。num); for(i=0;i〈m;i++) if(stu[i]。num==stu[m].num) { printf(”此学号已存在!”); getch(); fclose(fp); return; } printf(”姓名:"); scanf(”%s”,stu[m].name); printf("语文成绩:”); scanf("%f”,&stu[m].chinese); printf(”数学成绩:"); scanf("%f",&stu[m]。math); printf("英语成绩:"); scanf("%f",&stu[m].english); stu[m]。sum=stu[m]。chinese+stu[m].math+stu[m].english; if(fwrite(&stu[m],LEN,1,fp)!=1) { printf(”保存失败!"); getch(); } else { printf("%s 已保存!\n”,stu[m]。name); m++; } printf("是否继续?(y/n):”); scanf("%s”,ch); } fclose(fp); printf("操作成功!\n”); } /******自定义查找*/ void search() { FILE *fp; int snum,i,m=0; char ch[2]; if((fp=fopen("stuData。txt",”rb"))==NULL) { printf(”打开文件失败\n"); return; } while(!feof(fp)) if(fread(&stu[m],LEN,1,fp)==1) m++; fclose(fp); if(m==0) { printf(”文件无记录!\n”); return; } printf(”请输入需要查找的学生学号:"); scanf(”%d",&snum); for(i=0;i〈m;i++) if(snum==stu[i].num) { printf(”学生数据已找到,确认显示?(y/n)”); scanf(”%s",ch); if(strcmp(ch,”Y”)==0||strcmp(ch,"y")==0) { printf("学号 姓名 语文 数学 英语 总分\t\n"); printf(FORMAT,DATA); break; } } if(i==m) printf("查找失败!\n"); } /*****自定义删除***/ void del() { FILE*fp; int snum,i,j,m=0; char ch[2]; if((fp=fopen("stuData.tet","r+"))==NULL) { printf("打开文件失败\n");return; } while(!feof(fp)) if(fread(&stu[m],LEN,1,fp)==1) m++; fclose(fp); if(m==0) { printf(”文件无记录!\n”); return; } show(); printf("请输入需要删除的学生学号:"); scanf("%d”,&snum); for(i=0;i〈m;i++) { if(snum==stu[i]。num) { printf(”数据已经找到,是否确认删除?(y/n)"); scanf(”%s",ch); if(strcmp(ch,”Y”)==0||strcmp(ch,"y”)==0) { for(j=i;j〈m;j++) stu[j]=stu[i]; m-—; if((fp=fopen("stuData。txt","wb"))==NULL) { printf("打开文件失败\n"); return; } for(j=0;j<m;j++) if(fwrite(&stu[j],LEN,1,fp)!=1) { printf("对不起,保存失败!\n"); getch(); } fclose(fp); printf("删除成功!\n"); return; } else { printf("取消删除!\n"); return; } } } printf(”没有找到要删除的信息!\n"); } /*******自定义修改函数***/ void modify() { FILE *fp; int i,j,m=0,snum; if((fp=fopen(”stuData。txt”,”r+”))==NULL) { printf(”打开文件失败\n"); return; } while(!feof(fp)) if(fread(&stu[m],LEN,1,fp)==1) m++; if(m==0) { printf(”文件无记录!\n"); fclose(fp); return; } show(); printf(”请输入你要修改的的学生学号\n”); printf("学号是:”); scanf(”%d",&snum); for(i=0;i<m;i++) { if(snum==stu[i].sum) { printf("学生数据已找到,请修改!\n”); printf(”name”); scanf(”%s”,stu[i]。name); printf(”chinese”); scanf(”%f",&stu[i].chinese); printf("math:"); scanf(”%f",&stu[i].chinese); printf("english:"); scanf("%f",&stu[i].english); printf("modify successful!"); stu[i]。sum=stu[i].chinese+stu[i]。math+stu[i].english; if((fp=fopen("stuData.txt”,”wb"))==NULL) { printf("保存失败!”); getch(); } fclose(fp); return; } } printf(”没有找到匹配信息”); } /********自定义插入函数****/ void insert() { FILE *fp; int i,j,k,m=0,snum; if((fp=fopen(”stuData。txt”,”r+”))==NULL) { printf("打开文件失败\n"); return; } while(!feof(fp)) if(fread(&stu[m],LEN,1,fp)==1)m++; if(m==0) { printf("没有数据!\n"); fclose(fp); return; } printf(”请输入数据插入的位置:\n”); scanf(”%d”,&snum); for(i=0;i〈m;i++) if(snum==stu[i].num) break; for(j=m—1;j〉i;j—-) stu[j+i]=stu[j]; printf(”请输入待插入数据信息。\n"); printf("学号”); scanf(”%d",&stu[i+1]。num); for(k=0;k<m;k++) if(stu[k].num==stu[m]。num) { printf(”此学号已存在!"); getch(); fclose(fp); return; } printf("姓名"); scanf(”%s”,stu[i+1]。name); printf("语文成绩:”); scanf(”%f”,&stu[i+1].chinese); printf(”数学成绩:”); scanf(”%f",&stu[i+1]。math); printf(”英语成绩:”); scanf(”%f”,&stu[i+1].english); stu[i+1]。sum=stu[i+1].chinese+stu[i+1].math+stu[i+1]。english; if((fp=fopen("stuData.txt”,”wb"))==NULL) { printf(”打开文件失败\n”); return; } for(k=0;k〈=m;k++) if(fwrite(&stu[k],LEN,1,fp)!=1) { printf(”保存失败!”); getch(); return; } printf("插入函数成功!"); getch(); fclose(fp); } //************自定义排序函数****/// void order() { FILE *fp; struct student t; int i=0,j=0,m=0; if((fp=fopen(”stuData.txt”,"r+”))==NULL) { printf("打开文件失败!\n”); return; } while(!feof(fp)) if(fread(&stu[m],LEN,1,fp)==1) m++; fclose(fp); if(m==0) { printf(”无记录!\n"); return; } if((fp=fopen("stuData.txt",”wb"))==NULL) { printf(”打开文件失败\n"); return; } for(i=0;i<m-1;i++) if(fwrite(&stu[i],LEN,1,fp)!=1) { printf(”%s 保存失败!\n”); getch(); } fclose(fp); printf(”操作成功\n”); } /*******显示学生总人数*******/ void total() { FILE *fp; int m=0; if((fp=fopen("stuData。txt","r+”))==NULL) { printf("打开文件失败\n”); return; } while(!feof(fp)) if(fread(&stu[m],LEN,1,fp)==1) m++; if(m==0) { printf("文件无记录!\n”); fclose(fp); return; } printf("学生总数为 %d 位!\n”,m); fclose(fp); } /*******显示学生信息*****/ void show() { FILE *fp; int i,m=0; fp=fopen(”stuData.txt",”rb"); while(!feof(fp)) { if(fread(&stu[m],LEN,1,fp)==1) m++; } fclose(fp); printf(”学号 姓名 语文 数学 英语 总分\t\n”); for(i=0;i<m;i++) { printf(FORMAT,DATA); } } int chcode() { char pw[50],ch; char *syspw = ”1234”; // 原始密码 int i,m = 0; printf("请输入密码:"); while(m < 3) { i = 0; while((ch = _getch()) != '\r’) { if(ch == '\b’ && i 〉 0) { printf("\b \b"); -—i; } else if(ch != '\b’) { pw[i++] = ch; printf("*”); } } pw[i] = '\0’; printf(”\n”); if(strcmp(pw,syspw) != 0) { printf(”密码错误,请重新输入!\n"); m++; } else { printf(”密码正确!\n”); system(”pause"); return 1; } } printf("连续3次输入错误,退出!\n"); system("pause”); return 0; }
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 通信科技 > 开发语言

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服