学生成绩管理系统C语言课程设计

时间:2024.5.4

#include<stdio.h>

#include<string.h>

#include<conio.h>

#include <stdlib.h>

struct sts

{

int num;

char name[20];

int score;

}st1[10];

void IDkey();

void Input();

void Sselect();

void Modfile();

void Output();

void Delete();

void MainMenu();

void WriteStu();

void ReadStu();

void main()

{

IDkey();

MainMenu();

}

/*****************************************功能模块函数*************************************************/

//登陆界面

void IDkey()

{

int a,name,pwd,n,i=0,j;

char name1[10],Name1[10]="1",pwd1[16],Pwd1[16]="1";

char name2[10],Name2[10]="student",pwd2[16],Pwd2[16]="student";

char Select1[5]="1",Select2[5]="2",Select3[5]="3";

char ch,select[5];

printf("________________________________________________________________________________\n\n\n");

printf("\t\t\t欢迎进入学生信息成绩管理系统中心\n\n");

printf(" \t 制作人:南阳理工学院-计算机科学与技术系-计科一班-欧阳建华\n\n"); printf(" \t\t\t|----------请按键选择----------|\n");

printf(" \t\t\t| |\n");

printf(" \t\t\t| 1、管理员进入 |\n");

printf(" \t\t\t| 2、普通用户进入 |\n");

printf(" \t\t\t| 3、退出该系统 |\n");

printf(" \t\t\t| |\n");

printf(" \t\t\t|------------------------------|\n");

printf("请选择(1-3)...\n");

for(i=0;;i++)

{

gets(select);

if((strcmp(Select1,select)==0) || (strcmp(Select2,select)==0) (strcmp(Select3,select)==0))

break;

else

{

printf("输入有误,请输入1\\2\\3进行选择...\n");

continue;

}

}

if((strcmp(Select1,select)==0))

for(i=1;;i++)

{

printf("请输入您的帐号:");

//getchar();

gets(name1);

printf("请输入您的密码:");

gets(pwd1);

if ( (strcmp(Name1,name1)==0) && (strcmp(Pwd1,pwd1)==0))

{

printf("登陆验证成功,按Enter键确认后进入...");

getchar();

MainMenu();

}

else

{

if(i==3)

{

printf("您输入错误信息已达3次,系统强制您退出!\n"); printf("--------------------------------------\n");

return 0; ||

} } else { printf("你输入的账号或密码错误(%d),请重试!\n",i); printf("----------------------------------\n"); } } } if((strcmp(Select2,select)==0)) for(i=1;;i++) { printf("请输入您的帐号:"); //getchar(); gets(name2); printf("请输入您的密码:"); gets(pwd2); if ( (strcmp(Name2,name2)==0) && (strcmp(Pwd2,pwd2)==0)) { printf("登陆验证成功,按Enter键确认后进入..."); getchar(); ReadStu(); } else { if(i==3) { printf("您输入错误信息已达3次,系统强制您退出!\n"); printf("--------------------------------------\n"); return 0; } else { printf("你输入的账号或密码错误(%d),请重试!\n",i); printf("----------------------------------\n"); } } } if((strcmp(Select3,select)==0)) { printf("按任意键退出!等待请求中...\n"); exit(0); }

// 输入函数

void Input()

{

int i,s,n=0;

char ch,go_back;

system("cls");

printf("\n__________________________________成绩录入界面

__________________________________");

for(i=0;i<10;i++)

{

if(st1[i].num!=0)

n++;

}

do

{

printf("\n\n\n 系统已有%d个学生的信息 \n",n);

printf(" 请输入第%d个学生的信息 \n\n",n+1);

printf("请输入第%d个学生的学号:",n+1);

scanf("%ld",&st1[n].num);

printf("请输入第%d个学生的姓名:",n+1);

getchar();

gets(st1[n].name);

printf("请输入第%d个学生的成绩:",n+1);

scanf("%d",&st1[n].score);

if(st1[n].score>100)

{

printf("所输入的分值不能大于100,请重新输入! \n");

continue;

}

printf("----------------------------------------------\n");

printf("学号:%-10ld\n姓名:%-10s\n成绩:%d",st1[n].num ,st1[n].name,st1[n].score );

printf("\n\n您是否还要录入下一个学生的信息?(Y/N) ");

n++;

sc: scanf("%s",&ch);

if(ch=='N' || ch == 'n')

{

break;

}

else if(ch!='Y' && ch != 'y')

{

printf("您输入的不是有效的选择值!请重新输入...\n");

goto sc;

}

}while(ch=='Y' || ch == 'y');

look: system("cls");

getchar();

printf("\n\n--------------------------------------------------------------------------------\n"); printf("\t\t\t您本次操作录入的全部信息如下:\n");

for( i=0;i<10;i++)

{

if(st1[i].num==0)

continue;

printf("--------------------------------------------------------------------------------\n");

printf("学号:%-10ld\n姓名:%-10s\n成绩:%d",st1[i].num ,st1[i].name,st1[i].score); printf("\n--------------------------------------------------------------------------------\n"); }

printf("您是否要返回主菜单选项卡界面?(Y\\N) ");

goback: scanf("%s",&go_back);

if(go_back=='Y' || go_back == 'y')

{

MainMenu();

}

else if(go_back=='N' && go_back == 'n')

{

goto look;

}

else

{

printf("您输入的不是有效的选择值!请重新输入...\n");

goto goback;

}

//_______________________________________________________________________________

// MainMenu();

}

// 主菜单选项卡界面 void MainMenu() { int select; system("cls"); printf("________________________________________________________________________________\n\n\n"); printf("\t\t\t欢迎进入学生信息成绩管理系统中心\n\n"); printf(" \t 制作人:南阳理工学院-计算机科学与技术系-计科一班-欧阳建华\n\n"); printf(" \t\t\t|----------请按键选择----------|\n"); printf(" \t\t\t| printf(" \t\t\t| 1、信息输入 printf(" \t\t\t| 2、信息修改 printf(" \t\t\t| 3、信息删除 printf(" \t\t\t| 4、信息输出 printf(" \t\t\t| 5、信息存取 printf(" \t\t\t| 6、信息查询 printf(" \t\t\t| 7、退出该系统 printf(" \t\t\t| printf(" \t\t\t|------------------------------|\n"); printf("请选择(1-7)...\n"); scanf("%d",&select); if(select==1) Input(); else if(select==2) Modfile(); else if(select==3) Delete(); else if(select==4) Output(); else if(select==5) WriteStu(); else if(select==6) Sselect(); else if(select==7) IDkey(); }

//修改函数 void Modfile()

|\n"); |\n"); |\n"); |\n"); |\n"); |\n"); |\n"); |\n"); |\n");

{

int i,a,scor,l,f,num,c;

char ch1,ch2;

lop: printf("您是否要修改信息? (Y\\N)\n");

selectt: scanf("%s",&ch1);

if(ch1=='N' || ch1=='n')

MainMenu();

else if(ch1=='Y' || ch1=='y')

{

printf("请输入要修改的学号:");

scanf("%d",&num);

for(f=1,i=0;i<5;i++)

if(num==st1[i].num )

{

f=0;

l=i;

break;

}

if(f==1 )

{

printf("对不起您输入的信息有错误!请重新输入!\n\n"); goto lop;

}

do{

printf("请输入你要修改的内容:\n");

printf("\n< 一 > 修改姓名请按 1 操作\n"); printf("< 二 > 修改成绩请按 2 操作\n");

printf("< 三 > 修改姓名和成绩请按 3 操作\n"); scanf("%d",&c);

if(c==1)

{

printf("请输入您要更正的姓名:");

scanf("%s",st1[l].name );

}

if(c==2)

{

printf("请输入您要更正的成绩:");

scanf("%d",&scor);

st1[l].score =scor;

}

if(c==3)

{

printf("请输入您要更正的姓名:");

scanf("%s",st1[l].name );

printf("请输入您要更正的成绩:");

scanf("%d",&scor);

st1[l].score =scor;

}

printf("你修改过的信息如下:\n");

printf("学号:%d\n姓名:%s\n成绩:%d\n",st1[l].num ,st1[l].name ,st1[l].score );

printf("还要继续进行修改吗? (Y\\N)");

scanf("%s",&ch2);

if(ch2=='N' || ch2=='n')

MainMenu();

else

continue;

}while(ch2=='Y' || ch2=='y');

}

else

{

printf("输入的不是有效的选择值!请重新选择...\n");

goto selectt;

}

}

// 查询函数

void Sselect()

{

int xuehao,flag=1,j=1,mi,k=1,select,ch,i;

char Name[20];

struct sts *p1;

do

{

printf("请输入查找方式:\n键入(0)按姓名查询\n键入(1)按学号查询\n按Enter键结束\n请选择...\n");

scanf("%d",&select);

getchar();

if(select==1)

{

printf("请输入您要查找的学号,按Enter键结束:\n");

scanf("%d",&xuehao);

p1=st1;

do

{

if(xuehao==p1->num)

{

flag=1;

printf("No\tName\t\tScore\t\n");

printf("%d\t%s\t\t%d\n",p1->num,p1->name,p1->score); break;

}

else

{

flag=0;

p1++;

}

}while(p1->num!='\n');

if(flag==0)

{

printf("doesn't exit!\n");

}

}

if(select==0)

{

printf("请输入您要查找的姓名,按Enter键结束:\n"); gets(Name);

p1=st1;

do

{

if(strcmp(Name,p1->name)==0)

{

flag=1;

printf("No\tName\t\tScore\t\n");

printf("%d\t%s\t\t%d\n",p1->num,p1->name,p1->score); break;

}

else

{

flag=0;

p1++;

}

}while(p1->num!='\n');

if(flag==0)

printf("doesn't exit!\n");

}

printf("还要继续进行查询吗?(Y\\N)\n");

scanf("%s",&ch);

if(ch=='N' || ch=='n')

{

exit(0);

}

}while(ch=='Y' || ch=='y');

}

//删除函数--

void Delete()

{

int xuehao,i,flag;

char shan,ch;

do

{

printf("请输入你要删除的学号:");

scanf("%d",&xuehao);

i=-1;flag=1;

do

{

i++;

if(xuehao==st1[i].num)

{

flag=0;

break;

}

}while(st1[i].num!=0);

if(flag)

{

printf("对不起,您查询的信息不存在,请重新查询!\n"); continue;

}

else

{

looop: printf("\t\t学生信息管理列表\n");

printf("\t\t学号\t姓名\t成绩\n");

printf("\t\t%ld\t%s\t%d\n",st1[i].num,st1[i].name,st1[i].score); printf("你确定要要删除此学号?(Y\\N)");

scanf("%s",&shan);

if(shan=='Y'||shan=='y')

{

printf("\t\t系统提示您:学号为%d的信息已删除!\n",st1[i].num); do

{

// printf("%d",i);

st1[i].num=st1[i+1].num;

strcpy(st1[i].name,st1[i+1].name);

st1[i].score=st1[i+1].score;

i++;

}while(st1[i].num!=0);

}

if(shan!='n'&&shan!='N'&&shan!='y'&&shan!='Y')

{

printf("您的输入有误,请重新输入!\n");

goto looop;

}

}

printf("您是否还要继续进行删除操作吗?(Y\\N)\n");

scanf("%s",&ch);

if(ch=='N' || ch=='n')

MainMenu();

}while(ch=='Y' || ch=='y');

}

// 输出函数---

void Output()

{

char select;

struct sts *p1;

p1=st1;

printf("No\tName\t\tScore\t\n");

while(p1->num!=0)

{

printf("%d\t%s\t\t%d\n",p1->num,p1->name,p1->score);

p1++;

}

printf("是否进入主菜单界面?(Y\\N)\n");

scanf("%s",&select);

if(select=='Y' || select=='y')

MainMenu();

else if(select=='N' || select== 'n')

return 0;

else

printf("输入的不是有效的选择值!请重新选择...\n"); }

//文件写入---

void WriteStu()

{

FILE *Fp=NULL;

Fp=fopen("student.txt","w");

if(Fp==NULL)

{

printf("Can not open student.txt");

exit(0);

}

fwrite(&st1,sizeof(st1),1,Fp);

fclose(Fp);

}

//文件读出---

void ReadStu()

{

int i;

FILE *Fp=NULL;

Fp=fopen("student.txt","r");

if(Fp==NULL)

{

printf("Can not open student.txt");

exit(0);

}

fread(&st1,sizeof(st1),1,Fp);

Sselect();

fclose(Fp);

}

更多相关推荐:
C语言学生成绩管理系统课程设计报告

C语言课程设计报告一问题描述题目七学生成绩管理系统设计学生成绩信息包括学期学号班别姓名四门课程成绩语文数学英语和计算机等主要功能1能按学期按班级完成对学生成绩的录入修改2能按班级统计学生的成绩求学生的总分及平均...

c语言程序设计报告 学生成绩管理系统

学生成绩管理系统课程设计报告书学生成绩管理系统单位分院班级学号姓名指导老师完成日期20xx年7月14日1学生成绩管理系统内容摘要摘要本次课程设计的课题是学生成绩管理系统本文介绍课程设计课题的选题意义说明了本系统...

C语言课程设计报告学生成绩管理系统

数据结构课程设计报告学号0820xx106姓名付振华日期20xx年7月9日一课程设计题目学生成绩管理二需求分析给出n个学生的m门考试的成绩表每个学生的信息由学号姓名性别以及各科成绩组成对学生的考试成绩进行有关统...

C语言课程设计 学生成绩管理系统 源代码

学生成绩管理系统用户名xdxy密码700619includeltstdiohgtincludeltconiohgt清屏includeltstdlibhgt显示目录includeltstringhgtdefine...

C语言课程设计报告 --学生成绩管理系统

内蒙古科技大学课程设计论文内蒙古科技大学本科生课程设计论文题目学生成绩管理系统学生姓名胡书培学号1067111106专业计算机科学与技术班级10级计算机1班指导教师周李涌20xx年12月30日1内蒙古科技大学课...

C语言学生成绩管理系统课程设计报告

目录摘要11需求分析22详细设计说明221功能模块图222数据结构设计3221学生成绩信息结构体3222单链表node结构体323功能模块设计4231主函数main执行流程4232输入学生信息模块4233查询学...

c语言课程设计报告学生成绩管理系统

C语言课程设计报告题目:学生成绩管理系统设计者:专业班级:计算机应用技术101班学号:指导教师:20##年12月23日学生成绩管理系统课程设计报告目录一.系统软件环境(3)二.课程设计目的(3)三.内容与要求(…

《C语言程序设计》课程设计报告(图书信息管理系统)

东莞理工学院《C语言程序设计》课程设计题目:图书信息管理系统院系:会计学院专业:会计学年级:20##班别:4班指导教师:组长:同组成员:目录一、目的...............................…

c语言课程设计———学生成绩管理系统

河南理工大学计算机软件学院信管1002班C语言学生成绩管理系统程序学院计算机软件学院班级成员日期20xx96信管1002班陈昊311009030212陈梁311009030213陈俊311009030214河南...

C语言课程设计学生成绩管理系统

学生成绩管理系统前言C语言程序设计课程设计是对学生的一种全面综合训练它包括问题分析总体结构设计用户界面设计程序设计基本技能和技巧多人合作以至一整套软件工作规范的训练和科学作风的培养是与课堂听讲自学和练习相辅相成...

C语言课程设计报告(学生成绩管理系统)

C语言课程设计报告学生成绩管理系统系统需求一当前学生信息通过结构体structstudent来保存学生的姓名学号性别语文数学英语和计算机等等相关信息并且通过cin函数来进行给当前学生输入初始信息二学生成绩查询输...

C语言课程设计报告--学生成绩管理系统

学生成绩管理系统课程设计报告20xx79一程序整体规划1系统的基本功能数据的录入如录入学生的基本信息以及该学生选修课程的基本信息数据的修改如修改指定学号或者指定姓名的学生信息或者修改其选修课程信息数据的插入插入...

c语言课程设计报告学生成绩管理系统(40篇)