学生成绩管理系统源代码

合集下载

学生管理系统c语言源代码

学生管理系统c语言源代码

int main()
{
initLinkTable(&head);//初始化表头
readStu();//读入源文件
while (1)
{
menu();
system("cls");
}
}
void initLinkTable(studentLinkPoint *p)
int sum(studentLinkPoint);//求和
void avg(studentLinkPoint);//求平均分
void disAvgSum(studentLinkPoint);//显示总分和平均分
char *inputNumber();//专门用来输入一个学生的学号,返回该字符串的指针
char name[20];
char number[18];
int i;
if(temp==0)
{
error("input");
return 0;
}
else
{
temp->student=(studentPint)malloc(sizeof(studentNod));
break;
case 0:
del(head,end);
break;
}
if(c==0)
exit(1);
}
void del(studentLinkPoint p,studentLinkPoint End)
{
studentLinkPoint q;
if(end==head)
printf(" %3.1f %3.1f\n",p->student->sum,p->student->avg);

C语言大作业——学生成绩管理系统v2.0

C语言大作业——学生成绩管理系统v2.0

//成绩管理系统v2.0#include <stdio.h>#include <stdlib.h>#define N 30void Input (long num[],int score[],int n);void Totalave (int score[],int n);void Scoredes (long num[],int score[],int n,int (*compare)(int a,int b)); int Ascending (int a,int b);void Numas (long num[],int score[],int n);void Search (long num[],int score[],int n,int x);void statistis (long num[],int score[],int n);void List (long num[],int score[],int n);int main(){int n,score[N],c,x,i;long num[N];printf("输入学生人数");scanf("%d",&n);printf("1.Input record\n");printf("2.Caculate totel and average score of course\n");printf("3.Sort in descending order by score\n");printf("4.Sort in ascending order by number\n");printf("5.Search by number\n");printf("6.Statistic analysis\n");printf("7.List record\n");printf("0.Exit\n");printf("Please enter your choice:\n");printf("\n");for(;;){scanf("%d",&c);switch(c){case 1:Input (num,score,n);printf("Please enter your choice:\n");break;case 2:Totalave (score,n);printf("Please enter your choice:\n");break;case 3:Scoredes (num,score,n,Ascending);for(i=0;i<n;i++)printf("ID:%10ld,score:%d\n",num[i],score[i]);//以长整形打印用%ld printf("Please enter your choice:\n");break;case 4:Numas (num,score,n);printf("Please enter your choice:\n");break;case 5:printf("请输入查找学号\n");scanf("%d",&x);Search (num,score,n,x);printf("Please enter your choice:\n");break;case 6:statistis (num,score,n);printf("Please enter your choice:\n");break;case 7:List (num,score,n);Totalave (score,n);printf("Please enter your choice:\n");break;case 0:exit(0);}}return 0;}void Input (long num[],int score[],int n){int i;for(i=0;i<n;i++){printf("Input student's ID and score");scanf("%ld%d",&num[i],&score[i]);}}void Totalave (int score[],int n){int i,sum=0;double ave;for(i=0;i<n;i++)sum=sum+score[i];ave=(double)sum/n;printf("Caculate total=%d,average score of course=%f\n",sum,ave); }void Scoredes (long num[],int score[],int n,int(*compare)(int a,int b)){int i,j,k,t,h;for(i=0;i<n;i++){k=i;for(j=i+1;j<n;j++){if ((*compare)(score[j],score[k]))k=j;}if(i!=k){t=score[k],h=num[k];score[k]=score[i],num[k]=num[i];score[i]=t,num[i]=h;}}}int Ascending (int a,int b){return a<b;}void Numas (long num[],int score[],int n){int i,j,k,t,h;for(i=0;i<n;i++){k=i;for(j=i+1;j<n;j++){if (num[j]<num[k])k=j;}if(i!=k){t=score[k],h=num[k];score[k]=score[i],num[k]=num[i];score[i]=t,num[i]=h;}}for(i=0;i<n;i++)printf("ID:%10ld,score:%d\n",num[i],score[i]);//以长整形打印用%ld }void Search (long num[],int score[],int n,int x){int high=n-1,low=0,mid,c=0,pos,find=0,i,j,k,t,h;for(i=0;i<n;i++){k=i;for(j=i+1;j<n;j++){if (num[j]<num[k])k=j;}if(i!=k){t=score[k],h=num[k];score[k]=score[i],num[k]=num[i];score[i]=t,num[i]=h;}}while(find==0&&low<=high){mid=(high+low)/2;if(x>num[mid])low=mid+1;else if(x<num[mid])high=mid-1;else{pos=mid;find=1;}}if(find==0)printf("not find\n");else{for(i=0;i<n;i++){if(score[i]>score[pos])c++;}printf("ID:%10ld,order:%d,score:%d\n",num[pos],c+1,score[pos]);}}void statistis (long num[],int score[],int n){int a=0,b=0,c=0,d=0,e=0,i;double A,B,C,D,E;for(i=0;i<n;i++){if(score[i]>=90)a++;else if(score[i]>=80)b++;else if(score[i]>=70)c++;else if(score[i]>=60)d++;elsee++;}A=(double)a/n*100;B=(double)b/n*100;C=(double)c/n*100;D=(double)d/n*100;E=(double)e/n*100;printf("优秀人数%d,百分比:%f%%\n",a,A);printf("良好人数%d,百分比:%f%%\n",b,B);printf("中等人数%d,百分比:%f%%\n",c,C);printf("及格人数%d,百分比:%f%%\n",d,D);printf("不及格人数%d,百分比:%f%%\n",e,E); }void List (long num[],int score[],int n){int i;for(i=0;i<n;i++){printf("ID:%10ld,score:%d\n",num[i],score[i]);}}。

学生成绩管理系统C语言源程序

学生成绩管理系统C语言源程序
{
for(p=head->next;p!=NULL&&strcmp(p->name,tem);p=p->next);
if (!p)
{
printf("\n\n找不到你要查询的姓名,请重新输入,输入0表\
示结束:");
scanf("%s",tem);
}
else if (!strcmp(p->name,tem))
n=0;
head=(Student *)malloc(LEN);
p2=head;
printf("\n请输入第%d名学生的学号,学号为0表示结束输入:",n+1);
scanf("%d",&flag);
while(getchar()!='\n');
for(;flag;)
{
n++;
p1=(Student *)malloc(LEN);
char xueqi[20];
int score[4];
int sum;
struct student *next;
}Student;
int n;
Student *cin(void);
Student *sort_1(Student *head,int);
void sort_2(Student *head);
max_3=min_3=p->score[2];max_2=min_2=p->score[3];
max_sum=min_sum=p->sum;
for(;p;p=p->next)
{
if (max_1<p->score[0]) max_1=p->score[0];

python超详细实现完整学生成绩管理系统

python超详细实现完整学生成绩管理系统

python超详细实现完整学⽣成绩管理系统⽬录学⽣成绩管理系统简介源代码students.txtmain.pyLogin.pydb.pyMenuPage.pyview.py学⽣成绩管理系统简介⼀个带有登录界⾯具有增减改查功能的学⽣成绩管理系统(⾯向对象思想,利⽤tkinter库进⾏制作,利⽤.txt⽂件进⾏存储数据)源代码仅供学习参考,最好还是⾃⼰多敲多练习(实践是检验真理的唯⼀标准) students.txt⽤于存储数据main.pyfrom tkinter import *from Login import *import tkinter as tkroot = ()root.title('欢迎进⼊学⽣成绩管理系统')LoginPage(root)root.mainloop()Login.pyfrom tkinter import *from tkinter.messagebox import *from MenuPage import *class LoginPage(object):def __init__(self, master=None):self.root = master # 定义内部变量rootself.root.geometry('%dx%d' % (300, 180)) # 设置窗⼝⼤⼩ername = StringVar()self.password = StringVar()self.createPage()def createPage(self):self.page = Frame(self.root) # 创建Frameself.page.pack()Label(self.page).grid(row=0, stick=W)Label(self.page, text='账户: ').grid(row=1, stick=W, pady=10)Entry(self.page, textvariable=ername).grid(row=1, column=1, stick=E)Label(self.page, text='密码: ').grid(row=2, stick=W, pady=10)Entry(self.page, textvariable=self.password, show='*').grid(row=2, column=1, stick=E) Button(self.page, text='登陆', command=self.loginCheck).grid(row=3, stick=W, pady=10) Button(self.page, text='退出', command=self.page.quit).grid(row=3, column=1, stick=E) def loginCheck(self):name = ername.get()password = self.password.get()if name == 'hacker707' and password == 'admin':self.page.destroy()MenuPage(self.root)else:showinfo(title='错误', message='账号或密码错误!')db.pyimport jsonclass StudentDB(object):def __init__(self):self.students = []self._load_students_data()def insert(self, student):self.students.append(student)print(self.students)def all(self):return self.studentsdef delete_by_name(self, name): # 删除数据for student in self.students:if name == student["name"]:self.students.remove(student)breakelse:return Falsereturn True# 查询def search_by_name(self, name):for student in self.students:if name == student["name"]:return student # 姓名+成绩else:return False# 修改def update(self, stu): # 修改数据name = stu["name"]for student in self.students:if name == student["name"]:student.update(stu)return Trueelse:return False# 加载⽂件def _load_students_data(self):with open("students.txt", "r", encoding="utf-8") as f:text = f.read()if text:self.students = json.loads(text)# 保存数据def save_data(self):with open("students.txt", 'w', encoding="utf-8") as f:text = json.dumps(self.students, ensure_ascii=False)f.write(text)db = StudentDB()MenuPage.pyimport tkinter as tkfrom view import *class MenuPage(object):def __init__(self, master=None):self.root = masterself.root.geometry('%dx%d' % (600, 400))self.create_page()self.input_page = InputFrame(self.root)self.query_page = QuerryFrame(self.root)self.delete_page = DeleteFrame(self.root)self.update_page = UpdateFrame(self.root)self.about_page = AboutFrame(self.root)self.input_page.pack()def create_page(self):# 创建菜单对象menubar = tk.Menu(self.root)# add_command 添加menubar.add_command(label="录⼊", command=self.input_data) # label menubar.add_command(label="查询", command=self.query_data) # label menubar.add_command(label="删除", command=self.delete_data) # label menubar.add_command(label="修改", command=self.update_data) # label menubar.add_command(label="关于", command=self.about_data) # label # 设置菜单栏self.root.config(menu=menubar)# 切换界⾯def input_data(self):self.input_page.pack()self.update_page.pack_forget()self.delete_page.pack_forget()self.about_page.pack_forget()self.query_page.pack_forget()def query_data(self):self.input_page.pack_forget()self.query_page.pack()self.update_page.pack_forget()self.delete_page.pack_forget()self.about_page.pack_forget()def update_data(self):self.input_page.pack_forget()self.update_page.pack()self.delete_page.pack_forget()self.about_page.pack_forget()self.query_page.pack_forget()def delete_data(self):self.input_page.pack_forget()self.update_page.pack_forget()self.delete_page.pack()self.about_page.pack_forget()self.query_page.pack_forget()def about_data(self):self.input_page.pack_forget()self.update_page.pack_forget()self.delete_page.pack_forget()self.about_page.pack()self.query_page.pack_forget()view.pyimport tkinter as tkfrom db import dbfrom tkinter import ttk# 录⼊类class InputFrame(tk.Frame):def __init__(self, master=None):super().__init__(master)self.root = master = tk.StringVar()self.math = tk.StringVar()self.chinese = tk.StringVar()self.english = tk.StringVar()self.status = tk.StringVar()self.create_page()def create_page(self):bel(self).grid(row=0, stick=tk.W, pady=10)bel(self, text="姓名:").grid(row=1, stick=tk.W, pady=10)# 单⾏⽂本框 entry,textvariable绑定变量tk.Entry(self, textvariable=).grid(row=1, column=1, stick=tk.E)bel(self, text="数学:").grid(row=2, stick=tk.W, pady=10)# 单⾏⽂本框 entry,textvariable绑定变量tk.Entry(self, textvariable=self.math).grid(row=2, column=1, stick=tk.E)bel(self, text="语⽂:").grid(row=3, stick=tk.W, pady=10)# 单⾏⽂本框 entry,textvariable绑定变量tk.Entry(self, textvariable=self.chinese).grid(row=3, column=1, stick=tk.E)bel(self, text="英语:").grid(row=4, stick=tk.W, pady=10)# 单⾏⽂本框 entry,textvariable绑定变量tk.Entry(self, textvariable=self.english).grid(row=4, column=1, stick=tk.E)tk.Button(self, text="录⼊", command=self.recode_student).grid(row=5, column=1, stick=tk.E, pady=10) bel(self, textvariable=self.status).grid(row=6, column=1, stick=tk.E, pady=10)# 录⼊成绩def recode_student(self):student = {"name": .get(),"math": self.math.get(),"chinese": self.chinese.get(),"english": self.english.get(),} # ⼀个学⽣的成绩db.insert(student)# get()得到值# set()设置值self.status.set("插⼊数据成功!")self._clear_data()db.save_data()# 清空⽂本数据def _clear_data(self):.set("")self.math.set("")self.chinese.set("")self.english.set("")# 查询类class QuerryFrame(tk.Frame):def __init__(self, master=None):super().__init__(master)self.root = masterself.create_page()# 创建查询界⾯def create_page(self):self.create_tree_view()self.show_data_frame()# grid()tk.Button(self, text="刷新数据", command=self.show_data_frame).pack(anchor=tk.E, pady=5) # Treeviewdef create_tree_view(self):# 表头columns = ("name", "chinese", "math", "english")self.tree_view = ttk.Treeview(self, show='headings', columns=columns)self.tree_view.column("name", width=80, anchor='center')self.tree_view.column("chinese", width=80, anchor='center')self.tree_view.column("math", width=80, anchor='center')self.tree_view.column("english", width=80, anchor='center')self.tree_view.heading("name", text='姓名')self.tree_view.heading("chinese", text='语⽂')self.tree_view.heading("math", text='数学')self.tree_view.heading("english", text='英语')self.tree_view.pack()# 显⽰数据def show_data_frame(self):# 删除原节点 map(int,值)for i in map(self.tree_view.delete, self.tree_view.get_children("")):pass# 拿到列表⾥⾯所有值、students[]students = db.all()# 同时拿到索引跟value值for index, stu in enumerate(students):self.tree_view.insert('', index, values=(stu["name"], stu["chinese"], stu["math"], stu["english"]))class DeleteFrame(tk.Frame):def __init__(self, master=None):super().__init__(master)bel(self, text='删除数据').pack()self.status = tk.StringVar()self.de_name = tk.StringVar() # 获取删除学⽣的姓名self.create_page()# 创建界⾯def create_page(self):bel(self, text="根据姓名删除信息").pack(anchor=tk.W, padx=20)e1 = tk.Entry(self, textvariable=self.de_name)e1.pack(side=tk.LEFT, padx=20, pady=5)tk.Button(self, text='删除', command=self._delete).pack(side=tk.RIGHT)bel(self, textvariable=self.status).pack()# 删除def _delete(self):name = self.de_name.get()print(name)result = db.delete_by_name(name)if result:self.status.set(f'{name}已经被删')self.de_name.set("")else:self.status.set(f'{name}不存在')class UpdateFrame(tk.Frame):def __init__(self, master=None):super().__init__(master)self.root = masterbel(self, text='修改界⾯').pack()self.change_frame = tk.Frame(self)self.change_frame.pack() = tk.StringVar()self.math = tk.StringVar()self.chinese = tk.StringVar()self.english = tk.StringVar()self.status = tk.StringVar()self.create_page()def create_page(self):bel(self.change_frame).grid(row=0, stick=tk.W, pady=10)bel(self.change_frame, text="姓名:").grid(row=1, stick=tk.W, pady=10)# 单⾏⽂本框 entry,textvariable绑定变量tk.Entry(self.change_frame, textvariable=).grid(row=1, column=1, stick=tk.E)bel(self.change_frame, text="数学:").grid(row=2, stick=tk.W, pady=10)# 单⾏⽂本框 entry,textvariable绑定变量tk.Entry(self.change_frame, textvariable=self.math).grid(row=2, column=1, stick=tk.E)bel(self.change_frame, text="语⽂:").grid(row=3, stick=tk.W, pady=10)# 单⾏⽂本框 entry,textvariable绑定变量tk.Entry(self.change_frame, textvariable=self.chinese).grid(row=3, column=1, stick=tk.E)bel(self.change_frame, text="英语:").grid(row=4, stick=tk.W, pady=10)# 单⾏⽂本框 entry,textvariable绑定变量tk.Entry(self.change_frame, textvariable=self.english).grid(row=4, column=1, stick=tk.E)# 按钮tk.Button(self.change_frame, text='查询', command=self._search).grid(row=6, column=0, stick=tk.W, pady=10) tk.Button(self.change_frame, text='修改', command=self._change).grid(row=6, column=1, stick=tk.E, pady=10) bel(self.change_frame, textvariable=self.status).grid(row=7, column=1, stick=tk.E, pady=10)# 查询def _search(self):name = .get()student = db.search_by_name(name)if student:self.math.set(student["math"])self.chinese.set(student["chinese"])self.english.set(student["english"])self.status.set(f'查询到{name}同学的信息')else:self.status.set(f'没有查询到{name}同学的信息')# 更改成绩def _change(self):name = .get()math = self.math.get()chinese = self.chinese.get()english = self.english.get()stu = {"name": name,"math": math,"chinese": chinese,"english": english,}r = db.update(stu)if r:self.status.set(f"{name}同学的信息更新完毕")else:self.status.set(f"{name}同学的信息更新失败")class AboutFrame(tk.Frame):def __init__(self, master=None):super().__init__(master)self.root = masterself.create_page()def create_page(self):bel(self, text="关于本作品(⼈⽣苦短,我⽤python)").pack(anchor=tk.W)以上就是使⽤python实现学⽣成绩管理系统,如果有改进的建议,欢迎在评论区留⾔奥~这篇⽂章参加了csdn的活动,还请⼤家多多三连⽀持⼀下博主,你们的⽀持就是我创作的动⼒到此这篇关于python超详细实现完整学⽣成绩管理系统的⽂章就介绍到这了,更多相关python 学⽣成绩管理系统内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!。

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

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

#include<stdio.h>#include<string.h>#include<stdlib.h>#include<time.h>typedef struct student{ /*定义结构体*/char IDNumber[16];/*学号*/char FamilyName[16]; /*姓*/char GivenName[16]; /*名*/int sex; /*性别(0代表“女”,1代表“男”)*/int BirthYear; /*出生年*/int BirthMonth; /*出生月*/int BirthDay; /*出生日*/float score[4]; /*成绩*/float sum; /*总分*/float average; /*平均分*/}stu;typedef struct Lnode{student data;Lnode *next;}st, *linklist;/***************************************************************************/ struct tm* ptm;float Sumstu(linklist L);float Averstu(linklist L);float Sumstu(linklist L){ /*计算总分*/linklist s;s=L;int i;s->data.sum=0;for(i=0;i<=4;i++){s->data.sum+=s->data.score[i];}return (s->data.sum);}float Averstu(linklist L){linklist q;q=L;Sumstu(q);q->data.average=q->data.sum/4;return (q->data.average);}void TimeNow() /*获取系统时间*/{struct tm* ptm;long ts;int y,m,d,h,n,s;ts = time(NULL);ptm = localtime(&ts);y = ptm-> tm_year+1900; //年m = ptm-> tm_mon+1; //月d = ptm-> tm_mday; //日h = ptm-> tm_hour; //时n = ptm-> tm_min; //分s = ptm-> tm_sec; //秒}int Menu() /*菜单函数*/{int n;printf("\t\t\t\n\n\n\n欢迎使用学生成绩管理系统\n\n\t\t\t按任意键进入系统!");system("pause");system("cls");printf("************************************************************************* *\n");printf("\n\t\t\t学生成绩管理系统\n\t\t\t\t制作人陈光林(52101407)\n");printf("-------------------------------菜单(Menu)---------------------------------\n");printf("\n\t 1. Enter list 输入记录\n");printf(" \t 2. Delete a record from list 删除记录\n");printf(" \t 3. Print list 显示所有记录\n");printf(" \t 4. Search record on name 按照姓名查找记录\n");printf(" \t 5. Save the file 保存记录到文件中\n");printf(" \t 6. Load the file 从文件中读入记录\n");printf(" \t 7. Compute the score 计算所有学生的总分和均分\n");printf(" \t 8. Query by class 按班级查询显示学生总分\n");printf(" \t 9. Insert record to list 插入记录到表中\n");printf(" \t 0. Quit 退出系统\n");printf("---------------------------------------------------------------------------\n");printf("************************************************************************* ***\n");do{printf("\n\t\t\t 请选择你需要的操作(0—9):");scanf("%d",&n);}while(n<1||n>5); /*如果选择项不在1—9之间则重输*/return(n); /*返回选择项*/}/***************************************************************************/linklist initlist(void) /*建立一个空链表*/{linklist L=(linklist)malloc(sizeof(st));L->next=NULL;return NULL;}/*建立学生信息链表*/st *creastlist(linklist L){int i;float s;linklist p;for(;;){p=(linklist)malloc(sizeof(st)); /*开辟新的节点*/if(!p){printf("\n Out of memory.");return (L);}printf("请输入学生学号");scanf("%s",p->data.IDNumber);if(p->data.IDNumber[0]=='0') break;printf("请输入姓:");scanf("%s",p->data.FamilyName);printf("请输入名:");scanf("%s",p->data.GivenName);printf("请输入性别(0女/1男):");scanf("%d",&p->data.sex);printf("请输入生日:");scanf("%d %d %d",&p->data.BirthYear, &p->data.BirthMonth,&p->data.BirthDay);printf("请输入成绩\n",4);s=0;for(i=0;i<4;i++){do{printf("score%d:",i+1);scanf("%f",&p->data.score[i]);if(p->data.score[i]<0 || p->data.score[i]>100)printf(" Data error,please enter again.\n");}while(p->data.score[i]<0 || p->data.score[i]>100);s=s+p->data.score[i];}p->data.sum=s;p->data.average=s/4;p->next=L;L=p;}return(L);}/****************************************************************************** *****************//*void creastlist(linklist L){st *p;linklist head=NULL;p=(linklist)malloc(sizeof(st));p=L;for(;;){printf("请输入学生学号:\n");scanf("%s",p->data.IDNumber);printf("请依次输入学生姓名:\n");scanf("%s%s",p->data.FamilyName,p->data.GivenName);printf("请输入出生年月日:\n");scanf("%d%d%d",p->data.BirthYear,p->data.BirthMonth,p->data.BirthDay);TimeNow();if(p->data.BirthYear>=ptm-> tm_year+1900){ printf("错误!学生年龄不能为负值!请重新输入!");continue;}else if(p->data.BirthMonth>=ptm-> tm_mon+1){printf("错误!学生年龄不能为负值!请重新输入!");continue;}else if(p->data.BirthDay>=ptm-> tm_mday){printf("错误!学生年龄不能为负值!请重新输入!");continue;}else{printf("请输入性别(0代表女,1代表男:\n");scanf("%d",p->data.sex);if(p->data.sex!=0||p->data.sex!=1) {printf("错误!学生年龄不能为负值!请重新输入!");continue;}else{printf("请分别输入外语、高数、C语言、马哲四门成绩:\n");scanf("%f%f%f%f",&p->data.score[0],&p->data.score[1],&p->data.score[2],&p->data.score[3]);p->next=head;head=p;}}}}*//*输出所有学生的信息*/void print(linklist head){linklist p;p=head;printf("************************************************************************* *");printf("| 学号| 姓名|性别|出生年月日|外语C语言高数马哲|总分|平均分|");printf("--------------------------------------------------------------------------");Sumstu(p);Averstu(p);while(p!=NULL){printf("%s%s%s%d%d%d%f%f%f%f%f%f",p->data.IDNumber,p->data.FamilyName,p->dat a.GivenName,p->data.sex,p->data.BirthYear,p->data.BirthMonth,p->data.BirthDay,p->data.score[0],p->data.score[1],p->data.score[2],p->data.score[3],p->data.sum,p->data.average) ;printf("\n");p=p->next;}printf("\n");}/****************************************************************************** **************/void insert(linklist L){ //插入新的结点linklist s,p=L;stu e;s=(linklist)malloc(sizeof(st));s->data=e; //头插法s->next=p->next;p->next=s;}/****************************************************************************** *************/void search(linklist L){int flag=1;char familyname[16];linklist p;printf("请输入要查询的学生姓名:\n");scanf("%s",familyname);p=L->next;while(p!=NULL){if(strcmp(familyname,p->data.FamilyName)==0){system("cls");Sumstu(p);Averstu(p);printf("************************************************************************* *");printf("| 学号| 姓名|性别|出生年月日|外语C语言高数马哲|总分|平均分|");printf("--------------------------------------------------------------------------");printf("%s%s%s%d%d%d%f%f%f%f%f%f",p->data.IDNumber,p->data.FamilyName,p->data.Gi venName,p->data.sex,p->data.BirthYear,p->data.BirthMonth,p->data.BirthDay,p->data.score[0],p->data.score[1],p->data.score[2],p->data.score[3],p->data.sum,p->data.average);printf("\n");flag=0;break;}elsep=p->next;}if(flag)printf("没有该学生信息或输入错误");Menu();}/****************************************************************************** *************************/void Delete(linklist L){linklist p,q;char num[16];int label=1;printf("请输入要删除的学生学号:\n");scanf("%s",num);p=L->next;q=L;do{if(strcmp(num,p->data.IDNumber)==0){system("cls");printf("\t发现要删除的学生信息,确认删除吗?\n");printf("\t\t确认(Y)取消(N)");getchar();if('y'||'Y'){q->next=p->next;delete p;printf("删除成功!");label=0;}else{exit(0);}}else{q=q->next;p=q->next;}} while(q->next!=NULL);if(label)printf("输入错误或者信息不存在!");}/****************************************************************************** ***************************/void Paixu(linklist L){linklist p;float s1=90,s2=80,s3=70,s4=60;p=L;int i;for(i=0;i<=4;i++){printf("****************************************************");printf("第%d科90分以上的学生:",i);if(p->data.score[i]>=s1){ printf("%s%s%s%f",p->data.IDNumber,p->data.FamilyName,p->data.GivenName, p->data.score[i]);}else{p=p->next;}if(s2<=p->data.score[i]<s1){ printf("%s%s%s%f",p->data.IDNumber,p->data.FamilyName,p->data.GivenName, p->data.score[i]);}else{p=p->next;}if(s3<=p->data.score[i]<s2){ printf("%s%s%s%f",p->data.IDNumber,p->data.FamilyName,p->data.GivenName, p->data.score[i]);}else{p=p->next;}if(s4<=p->data.score[i]<s3){ printf("%s%s%s%f",p->data.IDNumber,p->data.FamilyName,p->data.GivenName, p->data.score[i]);}else{p=p->next;}if(p->data.score[i]<s4){ printf("%s%s%s%f",p->data.IDNumber,p->data.FamilyName,p->data.GivenName, p->data.score[i]);}else{p=p->next;}}}/***************************************************************************************************//*void Query(linklist L){ //此处假设学号形式为20101407linklist p;p=L;char classs[2];float sumclass;printf("请输入您想查询的班级:\n");scanf("%s",classs);do{sumclass=p->data.score[0]+p->data.score[1]+p->data.score[2]+p->data.score[3] ;printf("%s%f",p->data.IDNumber,p->data.sum);}while((strcmp(classs[1],p->data.IDNumber[5])==0)&&(strcmp(classs[2],p->data.IDNu mber[6])==0));}/****************************************************************************** ********************/void ComputeProject(linklist L){linklist p;float sumall[4],averall[4];float Su=0,Av=0;//sumall[4]={0,0,0,0};averall[4]={0,0,0,0};int i,m=0;p=L;for(i=0;i<=4;i++){for(p=L;p->next!=NULL;p=p->next){m++;sumall[i]+=p->data.score[i];}averall[i]=sumall[i]/4;printf("第%d科的平均成绩是:\n",averall[i]);Su+=averall[i];}Av=Su/4;printf("总的平均成绩是:%f\n",Av);}/****************************************************************************** ******************/void compute(linklist L){linklist p;p=L;Sumstu(p);Averstu(p);do{printf("学号:%s\n",p->data.IDNumber);printf("总分:%f\n平均分:%f\n",p->data.sum,p->data.average);p=p->next;}while(p->next!=NULL);}/****************************************************************************** **************/void insert(linklist L, stu e){ //插入新的结点linklist s,p=L;printf("请输入要插入的学生信息:\n");scanf("%s%s%s%d%d%d%f%f%f%f%f%f",p->data.IDNumber,p->data.FamilyName,p->data.Gi venName,p->data.sex,p->data.BirthYear,p->data.BirthMonth,p->data.BirthDay,p->data.score[0],p->data.score[1],p->data.score[2],p->data.score[3],p->data.sum,p->data.average);s=(linklist)malloc(sizeof(st));s->data=e; //头插法s->next=p->next;p->next=s;}/****************************************************************************** *************/void save(linklist L){FILE *fp;linklist p; /* 定义移动指针*/char out];scanf("%s",outfile);if((fp=fopen(outfile,"w"))==NULL) /*为输出打开一个二进制文件,为只写方式*/{printf("Cannot open the file\n");return; /*若打不开则返回菜单*/}p=L; /*移动指针从头指针开始*/while(p!=NULL) /*如p不为空*/{fwrite(p,sizeof(st),1,fp); /*写入一条记录*/p=p->next; /*指针后移*/}fclose(fp); /*关闭文件*/printf("Save the !\n");}/* 从文件读数据函数*/st *Load(linklist L){linklist p1,p2,head=NULL; /*定义记录指针变量*/FILE *fp; /* 定义指向文件的指针*/char in];scanf("%s",infile);if((fp=fopen(infile,"r"))==NULL) /*打开一个二进制文件,为只读方式*/{printf("Can not open the file.\n");return(head);}printf("\nLoading the file!\n");p1=(linklist)malloc(sizeof(st)); /*开辟一个新单元*/if(!p1){printf("Out of memory!\n");return(head);}head=p1;while(!feof(fp)) /*循环读数据直到文件尾结束*/{if(fread(p1,sizeof(st),1,fp)!=1) break; /*如果没读到数据,跳出循环*/p1->next=(linklist)malloc(sizeof(st)); /*为下一个结点开辟空间*/if(!p1->next){printf("Out of memory!\n");return (head);}p2=p1; /*使p2指向刚才p1指向的结点*/p1=p1->next; /*指针后移,新读入数据链到当前表尾*/}p2->next=NULL; /*最后一个结点的后继指针为空*/fclose(fp);printf("\nYou have success to read data from the file!\n");return (L);}/****************************************************************************** **************//****************************************************************************** ***************/void main(){linklist head=initlist();for(;;){switch(Menu()){case 1 :creastlist(head);case 2 :Delete(head);case 3 :print(head);case 4 :search(head);case 5 :save(head);//case 6 :load(head);case 7 :compute(head);//case 8 : Query(head);case 9 :insert(head);case 0 :exit(0);}}}。

学生绩点计算系统C语言(附完整源代码)

学生绩点计算系统C语言(附完整源代码)

学生绩点计算系统C语言(附完整源代码)本文档提供了一个用于计算学生绩点的C语言程序的完整源代码。

程序简介该程序是一个学生绩点计算系统,它可以读取学生的课程成绩和学分信息,并计算出每门课程的绩点以及整个学期的绩点。

该程序可以帮助学生快速准确地计算自己的绩点,以便了解自己在学业上的表现。

源代码以下是该程序的完整源代码:include <stdio.h>int main() {int numCourses;float totalCredits = 0;float totalGradePoints = 0;printf("请输入您的课程数量:");scanf("%d", &numCourses);for (int i = 0; i < numCourses; i++) {int credits;float grade;printf("请输入第%d门课的学分:", i + 1); scanf("%d", &credits);printf("请输入第%d门课的成绩:", i + 1); scanf("%f", &grade);totalCredits += credits; totalGradePoints += credits * grade;}float gpa = totalGradePoints / totalCredits;printf("\n您的绩点为:%.2f\n", gpa);return 0;}该程序首先会要求用户输入课程数量,然后逐一询问每门课程的学分和成绩。

程序会根据用户输入的数据计算出总学分和总绩点,并最终计算出绩点(GPA),并将结果输出。

使用方法1. 运行该程序;2. 按照提示输入课程数量;3. 按照提示逐一输入每门课程的学分和成绩;4. 程序将会输出您的绩点(GPA)。

学生信息管理系统 系统源代码

学生信息管理系统 系统源代码

系统源代码一、登录界面代码using System;using System.Data;using System。

Configuration;using System。

Collections;using System.Web;using System.Web。

Security;using System。

Web.UI;using System。

Web。

UI。

WebControls;using System.Web。

UI.WebControls。

WebParts;using System。

Web.UI.HtmlControls;using System.Data。

SqlClient;public partial class login :System.Web。

UI。

Page{protected void txtid_Click(object sender,EventArgs e){txtid.Text = ”";txtpassword。

Text = ””;}protected void Button1_Click(object sender, EventArgs e){string strconn = ConfigurationManager。

AppSettings[”connStr”];SqlConnection conn = new SqlConnection(strconn);conn。

Open();DataSet ds=new DataSet ();SqlDataAdapter da = new SqlDataAdapter("select * from users where userid=’" + txtid。

Text + "' and userpwd=’” + txtpassword.Text + ”’", conn);da.Fill(ds);if (ds。

c语言学生成绩管理系统源代码

c语言学生成绩管理系统源代码
printf("亲,木有您输入正确的选择业务代号,请认真核实!\n");
printf(" \n");
printf("请输入您要操作的编号:");
}
}
}
void mima(void) //密码函数
{
int i,x;//i代表密码位数(限6位)x代表在初始登陆界面亲您已经输入密码的次数(限3次)
printf (" ∵ 3.修改学生信息 ∵ \n");
printf (" ∵ 4.删除学生信息 ∵ \n");
printf (" ∵ ∵ \n");
printf (" ∵ ∵ \n");
printf(" \n");
printf(" ---- 电信1102班 \n");
printf(" \n");
printf("\n");
printf("\n");
for (x=1;x<=3;x++)
{
printf("\n");
printf(" 亲,请输入密码:");//当程序执行此处时,与密码的次数已经输入的初值相等,为1。
for (i=0;i<6;i++)//循环逐渐输入密码
printf(" ** ** ** \n");
printf(" ** 欢 ** \n");
void main()
{
void mima(void); //密码
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

#include <stdio.h>#include <stdlib.h>#include <string.h>#include <dos.h>#include<ctype.h>#include<conio.h>#include<stddef.h>#include<time.h>#define PRINT1 textcolor(12); cprintf("\r 请按任意键返回主菜单\n\r");textcolor(10); getch();clrscr(); break;int shoudsave=0;struct student /* 学生信息结构体定义*/{char num[10],name[20],cla[4];int score1,score2,score3,total,ave;};typedef struct node{struct student data;struct node *next;}Node,*L;void print1(){cprintf("\r======================================================================= =========");}void print2(){cprintf("\n\r 1.输入学生成绩信息在这里你可以按照提示输入学生的班级,学号,姓名及各科成绩.\n");cprintf("\n\r 2.注销学生成绩信息在这里你可以按照学号或姓名将某名学生的信息从本系统中删除.\n");cprintf("\n\r 3.查询学生成绩信息在这里你可以按照学号或姓名查询某一名学生的信息.\n");cprintf("\n\r 4.修改学生成绩信息在这里你可以按照提示修改某一名学生的学号,姓名及各科成绩.");cprintf("\n\r 5.学生成绩信息排序在这里你可以看到所有学生的各科成绩.\n"); cprintf("\n\r 6.学生成绩信息统计在这里本系统将为你显示所有科目的最高分及最低分所得学生.\n");cprintf("\n\r 7.显示学生成绩信息在这里你可以看到系统中所有学生的信息.\n"); cprintf("\n\r 8.保存学生成绩信息在这里你可以将学生你信息保存到内存中.\n"); cprintf("\n\r 9.帮助学生成绩信息在这里你可以获得帮助信息.\n");cprintf("\n\r 0.退出系统在这里选择是否保存后,你可以安全的退出本系统.\n\n\r ");}void menu(){cprintf("\n\r\xc9\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xc d\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcb\xcd\xcd\xcd\xcd\ xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xc d\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xbb");cprintf("\r\xba 学生信息导入\xba 学生信息处理\xba");cprintf("\r\xba____________________________________\xba___________________________ _______________\xba");cprintf("\r\xba 1-->输入学生成绩信息\xba 6-->学生成绩信息统计\xba");cprintf("\r\xba 2-->注销学生成绩信息\xba 7-->显示学生成绩信息\xba");cprintf("\r\xba 3-->查询学生成绩信息\xba 8-->保存学生成绩信息\xba");cprintf("\r\xba 4-->修改学生成绩信息\xba 9-->帮助学生成绩信息\xba");cprintf("\r\xba 5-->学生成绩信息排序\xba 0-->退出系统\xba");cprintf("\r\xc8\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\ xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xca\xcd\xcd\xcd\xcd\xc d\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\ xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xbc");}void wrong(){cprintf("\n\r输入错误!请验证后重新输入.\n");}void notfind(){cprintf("\n\r该学生信息不存在!请验证后重新输入.\n");}void printc() /* 此函数用于输出中文格式*/{cprintf("\r学号姓名班级英语数学C语言总分平均分\n ");}void printe(Node *p) /* 此函数用于输出英文格式*/{cprintf("\r%-4s%-4s%4s%5d%5d%8d%5d%7d\n\r",p->data.num,p->,p->data.cla,p->dat a.score3,p->data.score2,p->data.score1,p->data.total,p->data.ave);}Node* Locate(L l,char findinfo[],char nameornum[]) /* 该函数用于定位连表中符合要求的接点,并返回该指针*/{Node *r;if(strcmp(nameornum,"num")==0)/* 按学号查询*/{r=l->next;while(r!=NULL){if(strcmp(r->data.num,findinfo)==0)return r;r=r->next;}}else if(strcmp(nameornum,"name")==0) /* 按姓名查询*/{r=l->next;while(r!=NULL){if(strcmp(r->,findinfo)==0)return r;r=r->next;}}return 0;}void input(L l) /* 增加学生*/{Node *p,*r,*s;char num[10];r=l;s=l->next;while(r->next!=NULL)r=r->next;/* 将指针置于最末尾*/while(1){ cprintf("\r如果输入完毕,请按任意键返回主菜单\n");cprintf("\r如果你还想输入,请按y(yes)继续\n\r");scanf("%s",num);if(strcmp(num,"y")==0){ cprintf("请你输入学号:");scanf("%s",num); } else break;while(s){if(strcmp(s->data.num,num)==0){printf("\t学号为'%s'的学生已经存在,若要修改请你选择'4 修改'!\n",num);print1();printc();printe(s);print1();printf("\n");getch();return;}s=s->next;}p=(Node *)malloc(sizeof(Node));strcpy(p->data.num,num);cprintf("\r请你输入姓名:");scanf("%s",p->);getchar();cprintf("\r请你输入班级:");scanf("%s",p->data.cla);getchar();cprintf("\r请你输入c语言成绩(0-100):");scanf("%d",&p->data.score1);getchar();cprintf("\r请你输入数学成绩(0-100):");scanf("%d",&p->data.score2);getchar();cprintf("\r请你输入英语成绩(0-100):");scanf("%d",&p->data.score3);getchar();p->data.total=p->data.score3+p->data.score1+p->data.score2;p->data.ave=p->data.total / 3; /* 信息输入已经完成*/p->next=NULL;r=p;shoudsave=1;}}void query(L l) /* 查询学生信息*/{int select;char findinfo[20];Node *p;if(!l->next){cprintf("\n 没有信息可以查询!\n");return;}cprintf("\n1==>按学号查找\n\r2==>按姓名查找\n\r");scanf("%d",&select);if(select==1) /* 学号*/{cprintf("\r请你输入要查找的学号:");scanf("%s",findinfo);p=Locate(l,findinfo,"num");if(p){cprintf(" 查找结果\n\r");print1();printc();printe(p);print1();}elsenotfind();}else if(select==2) /* 姓名*/{cprintf("\r请你输入要查找的姓名:");scanf("%s",findinfo);p=Locate(l,findinfo,"name");if(p){cprintf(" 查找结果\n\r");print1();printc();print1();}elsenotfind();}elsewrong();}void Delete(L l) /* 删除学生信息*/{int select;Node *p,*r;char findinfo[20];if(!l->next){cprintf("\n 没有信息可以删除!\n");return;}cprintf("\n1==>按学号删除\n\r2==>按姓名删除\n\r");scanf("%d",&select);if(select==1){cprintf("\r请你输入要删除的学号:");scanf("%s",findinfo);p=Locate(l,findinfo,"num");if(p){r=l;while(r->next!=p)r=r->next;r->next=p->next;free(p);cprintf("\n\r该学生已经成功删除!\n");shoudsave=1;}elsenotfind();}else if(select==2){cprintf("\r请你输入要删除的姓名:");scanf("%s",findinfo);p=Locate(l,findinfo,"name");if(p){r=l;while(r->next!=p)r=r->next;r->next=p->next;free(p);cprintf("\n\r该学生已经成功删除!\n");shoudsave=1;}elsenotfind();}else wrong();}void modify(L l) /*修改学生信息*/{Node *p;char findinfo[20];if(!l->next){cprintf("\n\r没有信息可以修改!\n");return;}cprintf("\r请你输入要修改的学生学号:");scanf("%s",findinfo);p=Locate(l,findinfo,"num");if(p){cprintf("\r请你输入新学号(原来是%s):",p->data.num);scanf("%s",p->data.num);cprintf("\r请你输入新姓名(原来是%s):",p->);scanf("%s",p->);getchar();cprintf("\r请你输入新班级(原来是%s):",p->data.cla);scanf("%s",p->data.cla);cprintf("\r请你输入新的c语言成绩(原来是%d分):",p->data.score1);scanf("%d",&p->data.score1);getchar();cprintf("\r请你输入新的数学成绩(原来是%d分):",p->data.score2);scanf("%d",&p->data.score2);getchar();cprintf("\r请你输入新的英语成绩(原来是%d分):",p->data.score3);scanf("%d",&p->data.score3);p->data.total=p->data.score3+p->data.score1+p->data.score2;p->data.ave=p->data.total/3;cprintf("\n\r信息修改成功!\n");shoudsave=1;}elsenotfind();}void display(L l){/*显示全部学生信息*/int count=0;Node *p;p=l->next;if(!p){cprintf("\n\r 没有信息可以显示!\n");return;}cprintf(" 显示结果");print1();printc();while(p){ if(count%5==0) getch();printe(p);p=p->next;count++;}print1();cprintf("\n");}void Statistic(L l) /*统计学生信息*/{Node *pm_max,*pe_max,*pc_max,*pt_max,*pa_max; /* 用于指向分数最高的接点*/ Node *pm_min,*pe_min,*pc_min,*pt_min,*pa_min;Node *r=l->next;if(!r){cprintf("\n\r 没有信息可以统计!\n");return ;}pm_max=pe_max=pc_max=pt_max=pa_max=pm_min=pe_min=pc_min=pt_min=pa_min=r; while(r!=NULL){if(r->data.score1>=pc_max->data.score1)pc_max=r;if(r->data.score1<=pc_min->data.score1)pc_min=r;if(r->data.score2>=pm_max->data.score2)pm_max=r;if(r->data.score2<=pm_min->data.score2)pm_min=r;if(r->data.score3>=pe_max->data.score3)pe_max=r;if(r->data.score3<=pe_min->data.score3)pe_min=r;if(r->data.total>=pt_max->data.total)pt_max=r;if(r->data.total<=pt_min->data.total)pt_min=r;if(r->data.ave>=pa_max->data.ave)pa_max=r;if(r->data.ave<=pa_min->data.ave)pa_min=r;r=r->next;}cprintf("====================================统计结果====================================\n");cprintf("\r总分最高者: %-16s %d分\n",pt_max->,pt_max->data.total); cprintf("\r平均分最高者: %-16s %d分\n",pa_max->,pa_max->data.ave); cprintf("\r英语最高者: %-16s %d分\n",pe_max->,pe_max->data.score3); cprintf("\r数学最高者: %-16s %d分\n",pm_max->,pm_max->data.score2); cprintf("\rc语言最高者: %-16s %d分\n\r",pc_max->,pc_max->data.score1); cprintf("\r总分最低者: %-16s %d分\n",pt_min->,pt_min->data.total); cprintf("\r平均分最低者: %-16s %d分\n",pa_min->,pa_min->data.ave); cprintf("\r英语最低者: %-16s %d分\n",pe_min->,pe_min->data.score3); cprintf("\r数学最低者: %-16s %d分\n",pm_min->,pm_min->data.score2); cprintf("\rc语言最低者: %-16s %d分\n\r",pc_min->,pc_min->data.score1); print1();}void Sort(L l){L ll;Node *p,*rr,*s;ll=(L)malloc(sizeof(Node)); /* 用于做新的连表*/ll->next=NULL;if(l->next==NULL){cprintf("\n\r 没有信息可以排序!\n");return ;}p=l->next;while(p){s=(Node*)malloc(sizeof(Node)); /* 新建接点用于保存信息*/s->data=p->data;s->next=NULL;rr=ll;while(rr->next!=NULL && rr->next->data.total>=p->data.total)rr=rr->next;if(rr->next==NULL)rr->next=s;else{s->next=rr->next;rr->next=s;}p=p->next;}free(l);l->next=ll->next;cprintf("\n\r 排序已经完成!\n");}void Save(L l) /* */{FILE* fp;Node *p;int flag=1,count=0;fp=fopen("c:\\student","wb");if(fp==NULL){cprintf("\n\r 重新打开文件时发生错误!\n");exit(1);}p=l->next;while(p){if(fwrite(p,sizeof(Node),1,fp)==1){p=p->next;count++;}else{flag=0;break;}}if(flag){cprintf("\n\r 文件保存成功.(有%d条信息已经保存.)\n\r",count);shoudsave=0;}fclose(fp);}void main() /* */{L l; /* 链表*/FILE *fp; /* 文件指针*/int count=0 ,i,menu_select; /*菜单选择*/char ch ,creat;Node *p,*r;time_t it;clrscr();textmode(C80);window(1,1,80,25);textbackground(1); clrscr();textcolor(10);printf("\r 学生成绩管理系统");printf("\r -------扬州大学信息工程学院软件0902班") ;printf("\r 设计人员:李天鹏");l=(Node*)malloc(sizeof(Node));l->next=NULL;r=l;fp=fopen("c:\\student","rb");if(fp==NULL){cprintf("\n\r 该文件还未存在,是否需要创建?(y/n,Y/N)\n\r");scanf("%c",&creat);if(creat=='y'||creat=='Y'){fp=fopen("c:\\student","wb");}elseexit(0);}gotoxy(9,11); textcolor(12);cprintf("\n\r 文件已经打开,系统正在导入信息");for(i=0;i<6;i++){ cprintf(".");sleep(1);}textcolor(10);gotoxy(9,11); cprintf("\n ");while(!feof(fp)){p=(Node*)malloc(sizeof(Node));if(fread(p,sizeof(Node),1,fp)) /* 将文件的内容放入接点中*/{p->next=NULL;r->next=p;r=p; /* 将该接点挂入连中*/count++;}}fclose(fp);/* 关闭文件*/gotoxy(1,3);cprintf("\n\r信息导入完毕,系统共导入%d条信息",count);sleep(1);while(1){ menu();textcolor(12);cprintf("\r现在时间: "); it=time(NULL);cprintf(ctime(&it));cprintf("\r左边数字对应功能选择,请按0--9选择操作:\n\r");textcolor(10) ;scanf("%d",&menu_select);if(menu_select==0){if(shoudsave==1){ getchar(); textcolor(128+12);cprintf("\n\r 信息已经改动,是否将改动保存到文件中(y/n Y/N)?\n\r"); scanf("%c",&ch);if(ch=='y'||ch=='Y')Save(l);}cprintf("\n\r 你已经成功退出学生成绩信息系统,欢迎下次继续使用!\n"); break;}switch(menu_select){case 1: clrscr(); input(l); clrscr(); break; /* 输入学生*/case 2: clrscr(); Delete(l); PRINT1 /* 删除学生*/case 3: clrscr(); query(l); PRINT1 /* 查询学生*/case 4: clrscr(); modify(l); PRINT1 /* 修改学生*/case 5: clrscr(); Sort(l); PRINT1case 6: clrscr(); Statistic(l); PRINT1case 7: clrscr(); display(l); PRINT1case 8: clrscr(); Save(l); PRINT1 /* 保存学生*/case 9: clrscr(); cprintf(" ==========帮助信息==========\n");print2(); PRINT1 ;default: wrong(); getchar(); break;}}}。

相关文档
最新文档