#include <stdio.h> #include<stdlib.h> #include <string.h> void manu(); struct student { int num; char name[20]; int cl; int ch; int math; int sum; int aver; }stu[200]={{200,"张三",1,89,98},{201,"李四",2,67,100},{202,"王五",1,78,99}}; struct student stu1[20]; int N=0; int n=3; void add() { char a,b; int i,j; int k; int count=0; int count1=0; system("cls"); do { printf("添加第%d学生的信息 ",n+1); printf("输入学生的学号"); scanf("%d",&k); for(i=0;i<n;i++) { if(stu[i].num==k) { printf("学号重复"); count1++; system("pause"); system("cls"); manu(); } } if(count1==0) { stu[n].num=k; } fflush(stdin); printf("输入学生的姓名"); gets(stu[n].name); fflush(stdin); printf("输入学生的班级"); scanf("%d",&stu[n].cl); printf("输入学生的语文成绩"); fflush(stdin); scanf("%d",&stu[n].ch); printf("输入学生的数学成绩"); fflush(stdin); scanf("%d",&stu[n].math); n++; fflush(stdin); printf("输入q停止输入 "); scanf("%c",&a); } while(a!='q'); printf("是否要实现插入操作输入y进入"); fflush(stdin); scanf("%c",&b); printf("%c",b); if(b=='y'||b=='Y') { system("cls"); printf("插入哪个学号之前"); scanf("%d",&j); k=1; for(i=0;i<n;i++) { if(stu[i].num==j) { j=i; printf("此学号存在"); k--; break; } } if(k==1) { printf("学号不存在"); system("pause"); system("cls"); manu(); } for(i=n;i>=j;i--) { stu[i+1]=stu[i]; } n++; printf("登陆学生信息 "); printf("输入学生的学号 "); scanf("%d",&k); for(i=0;i<n;i++) { if(stu[i].num==k) { printf("学号重复"); count++; system("pause"); system("cls"); manu(); } } if(count==0) { stu[j].num=k; } fflush(stdin); printf("输入学生的姓名"); fflush(stdin); gets(stu[j].name); fflush(stdin); printf("输入学生的班级"); scanf("%d",&stu[j].cl); printf("输入学生的语文成绩"); fflush(stdin); scanf("%d",&stu[j].ch); printf("输入学生的数学成绩"); fflush(stdin); scanf("%d",&stu[j].math); } else { printf("输入有误 "); system("pause"); system("cls"); manu(); } system("cls"); manu(); } void display() { int j; system("cls"); printf(" 学号 姓名 班级 语文成绩 数学成绩 "); for(j=0;j<n;j++) { printf(" %d %s %d %d %d ",stu[j].num,stu[j].name,stu[j].cl,stu[j].ch,stu[j].math); } system("pause"); system("cls"); manu(); } void Delete() { int nm; int count; int j,m=0; char k; system("cls"); printf(" ******************欢迎进入删除界面***************************** "); //display(); printf(" 选择按学号查找 "); fflush(stdin); scanf("%d",&nm); for(j=0;j<n;j++) { if(stu[j].num==nm) { printf("找到了 "); count=j; m++; break; } } if(m==0) { printf("没找到 "); printf("按y重新输入 "); fflush(stdin); system("pause"); scanf("%c",&k); if(k=='y'||k=='Y') { Delete(); } } for(j=count;j<n;j++) { stu[j]=stu[j+1]; } n--; system("pause"); display(); system("pause"); manu(); } void Class() { int i,j; int k=0; char a; system("cls"); printf("输入班级号 "); scanf("%d",&i); printf(" 学号 姓名 班级 语文成绩 数学成绩 "); for(j=0;j<n;j++) { if(stu[j].cl==i) { printf(" %d %s %d %d %d ",stu[j].num,stu[j].name,stu[j].cl,stu[j].ch,stu[j].math); k=1; continue; } } if(k==0) { printf("很抱歉 没找到 "); printf("输入y继续"); scanf("%c",&a); if(a=='y'||a=='Y') { system("pause"); system("cls"); manu(); } else { printf("输入有误"); system("pause"); system("cls"); manu(); } } system("pause"); system("cls"); manu(); } void num() { int i,j; int k=0; char a; system("cls"); printf("输入学号 "); scanf("%d",&i); printf(" 学号 姓名 班级 语文成绩 数学成绩 "); for(j=0;j<n;j++) { if(stu[j].num==i) { printf(" %d %s %d %d %d ",stu[j].num,stu[j].name,stu[j].cl,stu[j].ch,stu[j].math); k=1; continue; } } if(k==0) { printf("很抱歉 没找到 "); system("pause"); printf("输入y继续"); scanf("%c",&a); if(a=='y'||a=='Y') { system("pause"); system("cls"); manu(); } else { printf("输入有误"); system("pause"); system("cls"); manu(); } } system("pause"); system("cls"); manu(); } void tiaojian( int score) { int i; int k=0; for(i=0;i<n;i++) { if(stu[i].ch>=score&&stu[i].math>=score) { printf(" 学号 姓名 班级 语文成绩 数学成绩 "); printf(" %d %s %d %d %d ",stu[i].num,stu[i].name,stu[i].cl,stu[i].ch,stu[i].math); k++; system("pause"); system("cls"); manu(); } } if(k==0) { printf("不存在满足条件的学生"); system("pause"); system("cls"); manu(); } } void lookfor() { int i,j; int k=0; system("cls"); printf(" =======================欢迎进入查找界面========================= "); printf(" 1,按班级查找 "); printf(" 2,按学号查找 "); printf(" 3,单科在90分以上 "); printf(" 4,单科在80分以上 "); printf(" 5,单科在60分以上 "); printf(" 6,单科在60分以下 "); fflush(stdin); scanf("%d",&i); switch(i) { case 1:Class(); break; case 2:num(); break; case 3: tiaojian(90); break; case 4: tiaojian(80); break; case 5: tiaojian(60); break; case 6: for(i=0;i<n;i++) { if(stu[i].ch<60&&stu[i].math<60) { printf(" 学号 姓名 班级 语文成绩 数学成绩 "); printf(" %d %s %d %d %d ",stu[i].num,stu[i].name,stu[i].cl,stu[i].ch,stu[i].math); k++; system("pause"); system("cls"); manu(); } } if(k==0) { printf("不存在满足条件的学生"); system("pause"); system("cls"); manu(); } break; } } void xiugai() { int i; int j;//循环序号 char a[20]; int k=0;//标志点 int m;//选择点 int h;//循环序号 int count=0;//标志点 int g; system("cls"); printf(" ******************欢迎进入修改界面***************************** "); printf(" 按学号查找 "); printf("输入学号 "); fflush(stdin); scanf("%d",&g); for(j=0;j<n;j++) { if(stu[j].num==g) { k++; printf("找到了 "); printf(" 学号 姓名 班级 语文成绩 数学成绩 "); printf(" %d %s %d %d %d ",stu[j].num,stu[j].name,stu[j].cl,stu[j].ch,stu[j].math); printf(" 1,修改该生的学号 "); printf(" 2,修改该生的姓名 "); printf(" 3,修改该生的班级 "); printf(" 4,修改该生的语文成绩 "); printf(" 5,修改该生的英语成绩 "); scanf("%d",&m); if(m==1) { printf("学号修改成: "); scanf("%d",&i); for(h=0;h<n;h++) { if(stu[h].num==i) { printf("学号重复"); k++; system("pause"); system("cls"); manu(); } } if(k!=0) { stu[j].num=i; } printf(" 学号 姓名 班级 语文成绩 数学成绩 "); printf(" %d %s %d %d %d ",stu[j].num,stu[j].name,stu[j].cl,stu[j].ch,stu[j].math); system("pause"); system("cls"); manu(); break; } if(m==2) { printf("姓名修改成: "); scanf("%s",&stu[j].name); printf(" 学号 姓名 班级 语文成绩 数学成绩 "); printf(" %d %s %d %d %d ",stu[j].num,stu[j].name,stu[j].cl,stu[j].ch,stu[j].math); system("pause"); system("cls"); manu(); } if(m==3) { printf("班级修改成: "); scanf("%d",&stu[j].cl); printf(" 学号 姓名 班级 语文成绩 数学成绩 "); printf(" %d %s %d %d %d ",stu[j].num,stu[j].name,stu[j].cl,stu[j].ch,stu[j].math); system("pause"); system("cls"); manu(); } if(m==4) { printf("语文成绩修改成: "); scanf("%d",&stu[j].ch); printf(" 学号 姓名 班级 语文成绩 数学成绩 "); printf(" %d %s %d %d %d ",stu[j].num,stu[j].name,stu[j].cl,stu[j].ch,stu[j].math); system("pause"); system("cls"); manu(); } if(m==5) { printf("数学成绩修改成: "); scanf("%d",&stu[j].math); printf(" 学号 姓名 班级 语文成绩 数学成绩 "); printf(" %d %s %d %d %d ",stu[j].num,stu[j].name,stu[j].cl,stu[j].ch,stu[j].math); system("pause"); system("cls"); manu(); } } } if(k==0) { printf("没找到 "); system("pause"); system("cls"); xiugai(); } } void clear() { n=0; printf("恭喜你 信息已经清空"); system("pause"); display(); manu(); } void Exit() { system("exit"); } void sort() { int i; int j,k; system("cls"); printf(" ===============欢迎进入排序界面=============== "); printf(" "); printf(" "); printf(" "); printf(" 1,按姓名排序 "); printf(" 2,按班级排序 "); printf(" 3,按语文成绩排序 "); printf(" 4,按数学排序 "); printf(" 5,按总分排序 "); scanf("%d",&i); switch (i) { case 1: for(j=0;j<n;j++) { for(k=0;k<n;k++) { if(stu[k].name>stu[k+1].name) { stu[199]=stu[k]; stu[k]=stu[k+1]; stu[k+1]=stu[199]; } } } display(); break; case 2: for(j=0;j<n;j++) { for(k=0;k<n-1;k++) { if(stu[k].cl>stu[k+1].cl) { stu[199]=stu[k]; stu[k]=stu[k+1]; stu[k+1]=stu[199]; } } } display(); break; case 3: for(j=0;j<n;j++) { for(k=0;k<n-1;k++) { if(stu[k].ch>stu[k+1].ch) { stu[100]=stu[k]; stu[k]=stu[k+1]; stu[k+1]=stu[100]; } } } display(); break; case 4: for(j=0;j<n;j++) { for(k=0;k<n-1;k++) { if(stu[k].math>stu[k+1].math) { stu[199]=stu[k]; stu[k]=stu[k+1]; stu[k+1]=stu[199]; } } } display(); break; case 5: for(j=0;j<n;j++) { stu[j].sum=stu[j].math+stu[j].ch; stu[j].aver=stu[j].sum/2; } for(j=0;j<n;j++) { for(k=0;k<n-1;k++) { if(stu[k].sum>stu[k+1].sum) { stu[199]=stu[k]; stu[k]=stu[k+1]; stu[k+1]=stu[199]; } } } display(); break; } } void tongji() { int i,j,k=0; int summath=0; int avermath; int sumch=0; int averch; char a; system("cls"); printf(" ==========1,每个学生的总分平均分============ "); printf(" ==========2,统计各个科目的平均分============ "); printf(" ==========3,统计班级的单科平均分============ "); printf(" ==========4,统计班级的总平均分============== "); scanf("%d",&i); switch(i) { case 1:for(j=0;j<n;j++) { stu[j].sum=stu[j].math+stu[j].ch; stu[j].aver=stu[j].sum/2; } printf(" 学号 姓名 班级 语文 数学 总分 平均分 "); for(j=0;j<n;j++) { printf(" %d %s %d %d %d %d %d ",stu[j].num,stu[j].name,stu[j].cl,stu[j].ch,stu[j].math,stu[j].sum,stu[j].aver); } system("pause"); system("cls"); manu(); break; case 2: for(j=0;j<n;j++) { summath+=stu[j].math; avermath=summath/n; sumch+=stu[j].ch; averch=sumch/n; } printf(" 学号 姓名 班级 语文 数学 语文均分 数学均分 "); for(j=0;j<n;j++) { printf(" %d %s %d %d %d %d %d ",stu[j].num,stu[j].name,stu[j].cl,stu[j].ch,stu[j].math,averch,avermath); } system("pause"); system("cls"); manu(); break; case 3: //统计班级的单科平均分 printf("输入班级号"); scanf("%d",&i); for(j=0;j<n;j++) { if(stu[j].cl==i) { summath+=stu[j].math; sumch+=stu[j].ch; k++; } else { printf("您输入的班级号不存在 "); system("pause"); system("cls"); tongji(); } } avermath=summath/k; averch=sumch/k; printf(" 班级 语文均分 数学均分 "); printf(" %d %d %d ",i,averch,avermath); system("pause"); system("cls"); manu(); break; case 4: //统计班级的总平均分 printf("输入班级号"); scanf("%d",&i); for(j=0;j<n;j++) { if(stu[j].cl==i) { summath+=stu[j].math+stu[j].ch; k++; } else { printf("您输入的班级号不存在 "); system("pause"); system("cls"); tongji(); } } avermath=summath/k; printf(" 班级 总均分 "); printf(" %d %d ",i,avermath); system("pause"); system("cls"); manu(); break; } } void manu()//登录界面函数 { int i; system("cls"); printf(" ************************************************************ "); printf(" 管理员登陆界面 "); printf(" ************************************************************ "); printf(" 欢迎进如学生管理系统 "); printf(" 请选择业务: "); printf(" 1,查看所有记录显示 "); printf(" 2,添加学生成绩 "); printf(" 3,修改学生成绩 "); printf(" 4,删除学生成绩 "); printf(" 5,清空记录 "); printf(" 6,按要求查询学生成绩 "); printf(" 7,按要求排序 "); printf(" 8,按要求统计成绩 "); printf(" 9,退出 "); printf(" 请选择"); scanf("%d",&i); switch(i) { case 1: display(); break; case 2: add(); break; case 3: xiugai(); break; case 4: Delete(); break; case 5: clear(); break; case 6 : lookfor(); break; case 7: sort(); break; case 8: tongji(); break; case 9: Exit(); break; default: printf("输入有误"); } } void Ymanu() { int i; system("cls"); printf(" ************************************************************ "); printf(" 用户登陆界面 "); printf(" ************************************************************ "); printf(" 欢迎进入学生管理系统 "); printf(" 请选择业务: "); printf(" 1,查看所有记录显示 "); // printf(" 2,添加学生成绩 "); // printf(" 3,修改学生成绩 "); // printf(" 4,删除学生成绩 "); // printf(" 5,清空记录 "); printf(" 2,按要求查询学生成绩 "); printf(" 3,按要求排序 "); printf(" 4,按要求统计成绩 "); printf(" 5,退出 "); printf(" ************************************************************ "); printf(" 请选择"); scanf("%d",&i); switch(i) { case 1: display(); break; /* case 2: add(); break; case 3: xiugai(); break; case 4: Delete(); break; case 5: clear(); break;*/ case 2 : lookfor(); break; case 3: sort(); break; case 4: tongji(); break; case 5: Exit(); break; default: printf("输入有误"); } } void main() { int i; char a[20]={'l','i','u'}; int j=123; char b[20]; int k; printf(" "); printf(" "); printf(" "); printf(" "); printf(" "); printf(" "); printf(" "); printf(" 1,普通用户登陆 "); printf(" 2,管理员账户登陆 "); printf(" 选择输入"); scanf("%d",&i); if(i==1) { Ymanu(); } if(i==2) { printf("输入用户名和密码 "); printf("用户名 "); fflush(stdin); gets(b); //fflush(stdin); printf("密码 "); scanf("%d",&k); if(strcmp(a,b)==0&&j==k) { manu(); } else { printf("输入错误"); system("exit"); } } else { printf("输入错误"); system("exit"); } }
很久没更新博客了(其实也就是两天哈哈哈~_~),最近在写思创的c语言程序设计刚刚完成答辩。程序基本功能全部实现,还附带了一个回收站的功能,也算是自己的一个特色了。现在迫切想写下自己这几天的感受。
说实话人与人在学习计算机方面的差别还是有的,有的人学习的快,有的人学习的慢,可能我就是学习慢的人。但是我并不气馁,我喜欢计算机,我也一直会坚持着去学习他,坚持着做自己吧。
一旦迷恋上什么事,就不会感觉累,就像爱觉不累,真是这样。在课程设计中,有时候因为一个debug而调试到深夜,当真正的去实现他的时候,你会有无比的喜悦。
优点:能持之以恒的完成课设,并在此基础上添加了些附加功能,使之看起来优于其他人。很遗憾没能看陈俊杰的代码
不足:应用能力不够,学习过的东西不能很快的再需要的时候实现,导致中间走了许多弯路,效率也大打折扣。
接下来就是操作系统考试,数据结构,数据库,还有私房菜的学习。
相信你能在这个学期表现的不错