C语言程序设计#成绩查询系统
学生成绩管理系统
【注释】:请点赞,好人一生平[yi]安[wo]。
#codeblocks程序下编写
#include<stdio.h>#include<stdlib.h>//颜色#include<conio.h>//清屏#include<string.h>#define LEN sizeof(struct student)#define SDJ stu[s].ID,stu[s].name,stu[s].sex,stu[s].Class,stu[s].major,stu[s].SX,stu[s].YY,stu[s].CYY,stu[s].sum/**/#define DJ stu[k].ID,stu[k].name,stu[k].sex,stu[k].Class,stu[k].major,stu[k].SX,stu[k].YY,stu[k].CYY,stu[k].sum#define dj stu[p].ID,stu[p].name,stu[p].sex,stu[p].Class,stu[p].major,stu[p].SX,stu[p].YY,stu[p].CYY,stu[p].sumusing namespace std; int DengLu(); /*登录*/ int PaiXu(); /*排序*/ int XiuGai(); /*修改*/ int XianShi(); /*显示*/ int LuRu(); /*录入*/ int ShanChu(); /*删除*/ int GongNeng(); /*功能选择*/ int ZhuCe(); /*注册*/ int ChaXun(); /*查询*/ int m=0; /*数据条数*/ char sr[1]; /*存放输入的判断字母的密码*/ char PASSWORD[10]; /*存放输入的密码*//******************学生结构体*****************/ typedef struct student { char name[20] ; /*姓名*/ char sex[20]; /*性别*/ char Class[20]; /*班级*/ char ID[20]; /*学号*/ char major[20]; /*专业*/ double SX,YY,CYY,sum;/*数学,英语,c语言,总分*/ } typel;typel stu[100];/********************主函数*****************/int main(){ printf("************************************************************************************************************************\n"); printf("* *\n"); printf("* *\n"); printf("* 欢迎使用成绩查询系统! *\n"); printf("* *\n"); printf("* *\n"); printf("* 1. 【登录】 *\n"); printf("* 2. 【注册】 *\n"); printf("* 3. 【退出系统】 *\n"); printf("* *\n"); printf("* *\n"); printf("* *\n"); printf("************************************************************************************************************************\n"); system("color 2F"); /*绿色背景*/ int a; printf("请选择服务,并输入对应数字\n"); scanf("%d",&a); if(a!=1&&a!=2&&a!=3) { printf("输入数字不合法,再给你一次机会,请重新输入\n"); scanf("%d",&a); } switch(a) { case 1: system("cls"); printf("欢迎进入【登录】页面\n"); DengLu(); break; case 2: system("cls"); printf("欢迎进入【注册】页面\n"); ZhuCe(); break; case 3: system("cls"); printf("谢谢惠顾,O(∩_∩)O拜拜~\n"); break; } return 0;}/********************注册*********************/int ZhuCe(){ FILE *PN; /*定义文件指针*/ if((PN=fopen("PassWord.txt","ab+"))==NULL) /*打开存放密码的文件*/ { printf("创建密码文件失败!\n"); } if((fread(&PASSWORD,sizeof(PASSWORD),1,PN))==1) /*判断文件中是否已存有密码*/ { fclose(PN); printf("注册已完成,不可重复注册。\n【重新注册】请删去密码文件中内容。\n"); printf("按<Enter>键返回主页面………………"); getch(); /*停顿一下*/ system("cls"); main(); } else { char Name[10]; /*用户名*/ char Password1[10]; char Password2[10]; printf("请设置初始用户名:"); scanf("%s",Name); printf("\n请设置密码【6位数字】:"); /*输入一次密码*/ scanf("%s",Password1); printf("\n请确认密码【6位数字】:"); /*再次确认*/ scanf("%s",Password2); if((strcmp(Password1,Password2))==0) /*比较两次输入是否相同密码*/ { printf("确认密码成功!\n"); if((fwrite(&Password1,sizeof(Password1),1,PN))==1) /*把输入的密码存到文件中去*/ { printf("恭喜,注册成功!\n"); printf("按<Enter>键返回主页面………………"); fclose(PN); /*关闭文件防止信息丢失*/ getch(); system("cls"); /*清屏*/ main(); } else { printf("密码无法保存,注册失败!\n"); system("color 40"); printf("按<Enter>键返回主页面………………"); fclose(PN); getch(); system("cls"); main(); } } else { printf("两次密码输入不同,注册失败!\n"); system("color 40"); printf("按<Enter>键返回主页面………………\n"); fclose(PN); getch(); system("cls"); main(); } } fclose(PN); return 0;}/*********************登录********************/int DengLu(){ FILE *PN; char password[10],name[10]; PN=fopen("PassWord.txt","a+"); if(PN==NULL) { printf("打开密码文件失败!\n"); system("color 40"); /*红色背景以示警告*/ printf("按<Enter>键返回主页面………………\n"); fclose(PN); getch(); system("cls"); main(); } printf(">>欢迎您的登陆<<\n"); printf("请输入用户名:"); scanf("%s",name); printf("\n请输入密码:"); scanf("%s",password); fscanf(PN,"%s",PASSWORD); /*从文件中读一个密码赋给PASSWORD*/ if((strcmp(password,PASSWORD))==0) /*验证密码*/ { printf("密码正确,登录成功!\n"); printf("¥五毛钱 的特效送给你\n"); fclose(PN); GongNeng(); return 0; } else { printf("无此用户!!!\n"); printf("再见!\n"); system("color 40"); /*红色背景以示警告*/ printf("按<Enter>键返回主页面………………\n"); fclose(PN); getch(); system("cls"); main(); } fclose(PN); return 0;}/********************功能选择******************/int GongNeng(){ printf("************************************************************************************************************************\n"); printf("* *\n"); printf("* *\n"); printf("* 尊敬的VIP用户,请选择服务! *\n"); printf("* *\n"); printf("* *\n"); printf("* 1. 【成绩录入】 4. 【修改成绩】 *\n"); printf("* 2. 【删除成绩】 5. 【查看排名】 *\n"); printf("* 3. 【成绩查询】 6. 【退出系统】 *\n"); printf("* *\n"); printf("* *\n"); printf("* *\n"); printf("************************************************************************************************************************\n"); system("color 2F"); int b; printf("请选择服务,并输入对应数字\n"); long time; /*******************************************************************************¥五毛钱 的特效******************************************************************************/ for (;;) { system("color a"); /*第一个16进制数字代表字体颜色(下同)*/ for (time = 0; time<99999999; time++); /*循环以控制该颜色存在时间*/ system("color b"); for (time = 0; time<99999999; time++); system("color c"); for (time = 0; time<99999999; time++); system("color d"); for (time = 0; time<99999999; time++); system("color e"); for (time = 0; time<99999999; time++); system("color f"); for (time = 0; time<99999999; time++); system("color 0"); for (time = 0; time<99999999; time++); system("color 1"); for (time = 0; time<99999999; time++); system("color 2"); for (time = 0; time<99999999; time++); system("color 3"); for (time = 0; time<99999999; time++); system("color 4"); for (time = 0; time<99999999; time++); system("color 5"); for (time = 0; time<99999999; time++); system("color 6"); for (time = 0; time<99999999; time++); system("color 7"); for (time = 0; time<99999999; time++); system("color 8"); for (time = 0; time<99999999; time++); system("color 9"); break; }/******************************************************************************************************************************************************************************/ system("color 2F"); /*恢复主题绿色*/ scanf("%d",&b); getchar(); switch(b) /*选择功能*/ { case 1: system("cls"); LuRu(); break; case 2: system("cls"); ShanChu(); break; case 3: system("cls"); ChaXun(); break; case 4: system("cls"); XiuGai(); break; case 5: system("cls"); PaiXu(); break; case 6: system("cls"); return 0; break; } return 0;}/***************************成绩录入****************************/int LuRu(){ m=0; FILE *fp; if((fp=fopen("student.txt","ab+"))==NULL) /*以读写方式打开文件*/ { printf("文件打开出错!!!\n"); } while(!feof(fp)) /*文件未指到末尾返回0,以此为判断条件【计数】*/ { if(fread(&stu[m],LEN,1,fp)==1) { m++; } } if(m==0) { printf("暂无数据\n"); } else { system("cls"); printf(">>当前共有%d条数据\n",m); /*输出当前数据条数*/ fclose(fp); } if((fp=fopen("student.txt","ab+"))==NULL) { printf("文件打开出错!!!"); getch(); } printf("请确认是【Y】否【N】录入学生信息:"); scanf("%s",sr); while(strcmp(sr,"Y")==0||strcmp(sr,"y")==0)/*录入学生信息*/ { printf("请输入姓名:"); scanf("%s",stu[m].name); printf("请输入性别:"); scanf("%s",stu[m].sex); printf("请输入班级:"); scanf("%s",stu[m].Class); printf("请输入学号:"); scanf("%s",stu[m].ID); printf("请输入专业:"); scanf("%s",stu[m].major); printf("请输入数学成绩:"); scanf("%lf",&stu[m].SX); printf("请输入英语成绩:"); scanf("%lf",&stu[m].YY); printf("请输入C语言成绩:"); scanf("%lf",&stu[m].CYY); stu[m].sum=stu[m].SX+stu[m].YY+stu[m].CYY; if(fwrite(&stu[m],LEN,1,fp)!=1) /*将新录入的信息写入指定的磁盘文件*/ { printf("对不起,不能保存!"); getch(); } else { printf("%s 保存成功!\n",stu[m].name); printf("还继续输吗?(Y/N):"); /*询问是否继续*/ scanf("%s",sr); if(strcmp(sr,"Y")==0||strcmp(sr,"y")==0)/*为存下一个数据开空间*/ { m++; } } } /*if(strcmp(sr,"Y")!=0&&strcmp(sr,"y")!=0) { GongNeng(); // return 0; }*/ fclose(fp); /*关闭文件防止信息丢失*/ printf("恭喜,录入学生成绩成功!\n"); XianShi();getch(); if(strcmp(sr,"Y")!=0&&strcmp(sr,"y")!=0) { system("cls"); GongNeng(); // return 0; }}/******************成绩的删除*****************/int ShanChu(){ FILE *fp; int i,j; char id[20]; printf(">>删除成绩<<\n"); if((fp=fopen("student.txt","ab+"))==NULL) { printf("打开学生成绩文件失败!\n"); getch(); } m=0; /*重新计数,确保能够独立运行。*/ while(!feof(fp)) /*文件指针未达到末尾返回0*/ { if(fread(&stu[m],LEN,1,fp)==1) /*判断读取一个单位字节是否成功*/ { m=m+1; } /*统计当前记录条数*/ } fclose(fp); XianShi(); if(m==0) { printf("没有成绩可删,请先录入成绩!"); getch(); } printf("请输入要删除学生的学号:"); scanf("%s",&id); for(i=0; i<m; i++) /*检索学号*/ { if(strcmp(id,stu[i].ID)==0) { break; } } if(i==m) /*检索结束未找到信息*/ { printf("未找到该学生【%s】成绩\n",id); getch(); return 0; } printf("已找到%s的成绩,是否删除:\n",stu[i].name); scanf("%s",sr); if(strcmp(sr,"Y")==0||strcmp(sr,"y")==0) { for(j=i; j<(m-1); j++) { stu[j]=stu[j+1];//把该学生后的数据向前移动1位 } m=m-1;//数据组总数减一 printf("删除成功!\n"); } else { return 0; } if((fp=fopen("student.txt","wb"))==NULL) { printf("无法打开文件,保存信息失败!"); getch(); } int u; for(u=0; u<m; u++) /*把改动的文件重新录入文件*/ { fwrite(&stu[u],LEN,1,fp); } if(u==m) { printf("恭喜,保存成功!\n"); XianShi(); getch(); } return 0;}/******************显示成绩*****************/int XianShi(){ printf("【学号】 【姓名】 【性别】 【班级】 【专业】 【数学】 【英语】 【思政】 【总分】\n"); for(int k=0; k<m; k++) { printf(" %s %s %s %s %s %.1lf %.1lf %.1lf %.1lf\n",DJ); }}/******************成绩查询*****************/int ChaXun(){ FILE *fp; int p; char iid[20]; printf(">>成绩查询<<\n"); if((fp=fopen("student.txt","ab+"))==NULL) { printf("打开学生成绩文件失败!\n"); getch(); } m=0;//重新计数, while(!feof(fp))//文件指针未达到末尾返回0 { if(fread(&stu[m],LEN,1,fp)==1)//判断读取一个单位字节是否成功 { m=m+1; } /*统计当前记录条数*/ } fclose(fp); if(m==0) { printf("没有成绩可查,请先录入成绩!"); getch(); } printf("请输入要查询学生的学号:"); scanf("%s",&iid); for(p=0; p<m; p++) { if(strcmp(iid,stu[p].ID)==0) { break; } } if(p==m) { printf("【%s】成绩不存在\n",iid); getch(); return 0; } printf(">>查询成功!\n"); printf("【学号】 【姓名】 【性别】 【班级】 【专业】 【数学】 【英语】 【思政】 【总分】\n"); printf(" %s %s %s %s %s %.1lf %.1lf %.1lf %.1lf\n",dj); return 0;}/*******************成绩修改******************/int XiuGai(){ FILE *fp; int q; char iiid[20]; printf(">>修改成绩<<\n"); if((fp=fopen("student.txt","ab+"))==NULL) { printf("打开学生成绩文件失败!\n"); getch(); } m=0;//重新计数,确保能够独立运行。 while(!feof(fp))//文件指针未达到末尾返回0 { if(fread(&stu[m],LEN,1,fp)==1)//判断读取一个单位字节是否成功 { m=m+1; } /*统计当前记录条数*/ } fclose(fp); XianShi(); if(m==0) { printf("没有成绩可修改,请先录入成绩!"); getch(); return 0; } printf("请输入要修改学生的学号:"); scanf("%s",&iiid); for(q=0; q<m; q++) { if(strcmp(iiid,stu[q].ID)==0) { break; } } if(q==m) { printf("未找到该学生【%s】成绩\n",iiid); getch(); return 0; } printf("已找到%s的成绩,是否修改:\n",stu[q].name); scanf("%s",sr); if(strcmp(sr,"Y")==0||strcmp(sr,"y")==0) { printf("请输入姓名:"); scanf("%s",stu[q].name); printf("请输入性别:"); scanf("%s",stu[q].sex); printf("请输入班级:"); scanf("%s",stu[q].Class); printf("请输入学号:"); scanf("%s",stu[q].ID); printf("请输入专业:"); scanf("%s",stu[q].major); printf("请输入数学成绩:"); scanf("%lf",&stu[q].SX); printf("请输入英语成绩:"); scanf("%lf",&stu[q].YY); printf("请输入C语言成绩:"); scanf("%lf",&stu[q].CYY); stu[q].sum=stu[q].SX+stu[q].YY+stu[q].CYY; printf("修改成功!\n"); } else { return 0; } if((fp=fopen("student.txt","wb"))==NULL) { printf("无法打开文件,保存信息失败!"); getch(); return 0; } int o; for(o=0;o<m;o++) { fwrite(&stu[o],LEN,1,fp); /*把改动的文件重新录入文件*/ } if(o==m) { printf("恭喜,保存成功!"); } return 0;}/********************成绩排序******************/int PaiXu(){ FILE *fp; printf(">>成绩排序<<\n"); if((fp=fopen("student.txt","ab+"))==NULL) { printf("打开学生成绩文件失败!\n"); getch(); } m=0;//重新计数,不依赖输入函数。 while(!feof(fp))//文件指针未达到末尾返回0 { if(fread(&stu[m],LEN,1,fp)==1)//判断读取一个单位字节是否成功 { m=m+1; } /*统计当前记录条数*/ } fclose(fp); if(m==0) { printf("没有成绩可排序,请先录入成绩!"); getch(); } typel t; for(int w=0;w<m;w++) /*FOR循环排序*/ { for(int c=w;c<m;c++) { if(stu[w].sum<stu[c].sum) { t=stu[w]; stu[w]=stu[c]; stu[c]=t; } } } printf("【学号】 【姓名】 【性别】 【班级】 【专业】 【数学】 【英语】 【思政】 【总分】\n"); for (int s=0; s<m; s++) { printf(" %s %s %s %s %s %.1lf %.1lf %.1lf %.1lf\n",SDJ); } getch(); return 0;}
C语言程序设计#成绩查询系统相关推荐
- C语言的成绩查询系统,c语言 成绩查询系统
设计目标 1.掌握用c语言进行程序设计的基本方法. 2.熟悉运用windows对文本进行的加工. 3.初步完成一个应用程序的设计和编码,以及编码的调试,了解程序设计的过程,锻炼个人的逻辑思维和程序设计 ...
- c语言程序设计航空查询系统,c语言航班信息查询系统实验报告.doc
c语言航班信息查询系统实验报告 PAGE 13 - 软件学院大作业任务书 题 目:航班信息查询系统 专 业: 班 级: 姓 名: 学 号: 完成人数: 起讫日期: 任课教师: 职称: 讲师 部分管主任 ...
- C语言的成绩查询系统,C语言成绩查询系统.doc
C语言成绩查询系统 C语言大作业 姓名:班级:学号:指 导 教 师: 一.目的7 二.题目描述和要求7 三.报告内容8 3.1需求分析8 3.2 概要设计8 3.3 详细设计8 3.4 主要源程序代码 ...
- 成绩查询系统c语言,学生成绩查询系统C语言代码(分服务器端和客户端).doc
学生成绩查询系统C语言代码(分服务器端和客户端) 客户端:#include#include#include #pragma comment(lib , "Wsock32.lib " ...
- c语言学生成绩查询系统2018,南昊网上阅卷学生成绩查询系统
2018南昊网上阅卷学生成绩查询系统开放了,这是面向南昊当地的中小学生们的一款优质的查询学习成绩的平台,只要登录自己的账号就能查询自己的成绩排名情况.对于老师来说这也是一款网上阅卷系统,是一个非常幼稚 ...
- 吉林省高校计算机c语言考试成绩查询系统,吉林省高校计算机水平考试
技校网专门为您推荐的类似问题答案 问题1: 吉林省白山市如何报考计算机等级考试 计算机等级考试二级分为二级C.C++.VB.VF.JAVA.ACCESS:三级分为三级网络.三级数据库.三级PC.三级信 ...
- c语言作业查询,C语言大作业学生成绩查询系统源代码.doc
C语言大作业学生成绩查询系统源代码 #include #include struct student { char name[20]; char speciality[10]; int C; int ...
- c语言程序设计答案万年历备忘录,C语言程序设计节日查询和任务提醒系统-万年历.doc...
C语言程序设计节日查询和任务提醒系统-万年历 程序设计报告 ( 2010 / 2011 学年 第 二 学期) 题 目:节日查询和任务提醒系统 专 业 光信息科学与技术 学 生 姓 名 史明霞,陈苏华, ...
- c语言成绩查询系统源代码,C语言版简单成绩查询系统源代码概要.doc
C语言版简单成绩查询系统源代码概要 // // main.c // xueshengchengji // // Created by lxb on 13-9-16. // Copyright (c) ...
最新文章
- iptables 防火墙设置
- You Don't Know JS: Scope Closures(翻译)
- mysql binlog研究
- 【ASP.NET Core 沉思录】CreateWebHostBuilder 是一个 Convension
- Python自定义类中定义属性的两种方式
- spring_150904_hibernatetemplate
- 选择排序之python实现
- 精通python自然语言处理_精通Python自然语言处理(异步图书) 欢迎来到异步社区!...
- 2021年中国外卖行业发展现状、市场竞争格局及未来发展趋势分析:美团外卖市场份额持续提升[图]
- 1123 铲雪车(欧拉回路)
- MTCNN + Deep_Sort实现多目标人脸跟踪之MTCNN人脸检测部分(一)
- amd显卡怎么设置风扇?
- Espresso:自定义Idling Resource
- SSH整合,非常详细的SSH整合
- 计算机系统使用寿命,笔记本电脑的使用寿命是多久,你了解吗?
- jQuery - 设置div的内容和属性
- 你偷看的小簧片,其实全都被监视了…
- 【k8s】kubectl label命令(对node添加、删除label)
- VB移动及改变无标题窗体的大小(二)
- html模拟自动点击
热门文章
- linux man 中文 mac,技术|MAC 系统中显示中文MAN手册
- 计算机艺术和动画之父肯·诺尔顿去世,享年91岁
- 【Kotiln】 错误锦集- Caused by: kotlin.NotImplementedError: An operation is not implemented: not implemen
- 分享WIN7输入法图标不显示的几种解决方法
- 黑群晖安装常见问题以及资源分享
- 2021年的最后一天
- 摩纳哥通过与华为合作 成为欧洲首个实现5G全覆盖国家
- 《游戏学习》Java实现仿雷电游戏设计
- Establishing Android Build Environment
- 数仓经典案例-各个视频平均完播率、平均播放进度