当前位置:首页 » 考试成绩 » c高考成绩管理系统

c高考成绩管理系统

发布时间: 2021-02-13 01:47:29

⑴ c/c++高考成绩管理系统 好的话后面会加分的 要求:下面

你找错地方了,哥们。
你要做一个这么正规的,有严格要求的大系统版,你到网络知道里怎权么可能会有?
就算别人是专门做成绩管理系统的,人家为什么要白白的给你做啊?还要对系统负责。
建议还是找个专门给做这种成绩管理系统的公司做吧,或者干脆买个现成的。
这世界上没有免费的午餐了!

⑵ 用C语言设计一个学生成绩管理系统

#include <stdio.h>
#include <string.h>

#include <stdlib.h>
#defineMAX1000

/*定义学生成绩信息结构*/
struct stu
{

char id[8];
char name[8];


(2)c高考成绩管理系统扩展阅读:

short:修饰int,短整型数据,可省略被修饰的int。(K&R时期引入)

long:修饰int,长整型数据,可省略被修饰的int。(K&R时期引入)

long long:修饰int,超长整型数据,可省略被修饰的int。(C99标准新增)

signed:修饰整型数据,有符号数据类型。(C89标准新增)

unsigned:修饰整型数据,无符号数据类型。(K&R时期引入)

restrict:用于限定和约束指针,并表明指针是访问一个数据对象的唯一且初始的方式。(C99标准新增)

复杂类型关键字

struct:结构体声明。(K&R时期引入)

union:联合体声明。(K&R时期引入)

enum:枚举声明。(C89标准新增)

typedef:声明类型别名。(K&R时期引入)

sizeof:得到特定类型或特定类型变量的大小。(K&R时期引入)

inline:内联函数用于取代宏定义,会在任何调用它的地方展开。(C99标准新增)

⑶ 学生成绩管理系统c++/c

改好了。

#include <iostream>
//#include <stdio.h>
using namespace std;
typedef struct student {
int num;
char name[30];//应该是数组
int score;
struct student *next;
}NODE;
NODE *create();
void print(NODE *);
int main() {
int x;
NODE *head;
// head = (NODE *)malloc(sizeof(NODE));
// head->next = NULL;
do {
printf(" 学生信息管理系统 ");
printf(" 1、录入学生信息 ");
printf(" 2、查询学生信息 ");
printf(" 3、删除学生信息 ");
printf(" 4、学生信息排序 ");
printf(" 5、修改学生信息 ");
printf(" 6、插入新学生信息 ");
printf(" 7、打印学生信息 ");
printf(" 8、退出应用程序 ");
printf(" 请输入您的选择:");
scanf("%d",&x);
switch (x) {
case 1 : head = create();print(head);break;
case 2 :
case 3 :
case 4 :
case 5 :
case 6 : printf("此项功能待完善。 "); break;
case 7 : print(head);break;
case 8 : break;
default: printf("对不起,没有这个选项! ");
}//; 这个分号是什么作用?
}while(x != 8);
return 0;
}
NODE *create () {
NODE *head,*p;
int x;
head = p = (NODE *)malloc(sizeof(NODE));
printf("请输入您要录入的学生的学号(0结束) : ");
scanf("%d",&x);
while(x) {
p->next = (NODE *)malloc(sizeof(NODE));
p->next->num = x;
printf("请输入该学生的姓名 : ");
scanf("%s",p->next->name);
printf("请输入该学生的总成绩 : ");
scanf("%d",&p->next->score);
p = p->next;
printf("请输入您要录入的学生的学号(0结束) : ");
scanf("%d",&x);
}
p->next = NULL;
return head;
}
void print(NODE *head) {
int m = 1;
NODE *p = head->next;
while(p) {
printf("第%d个学生的学号为:%d 姓名为:%s 总成绩为:%d ",m++,p->num,p->name,p->score);
p = p->next;
}
}

⑷ C语言编写一个简单的学生成绩管理系统

C语言程序:

#include<stdio.h>
#include<string.h>

typedefstructstudent
{
charname[20]; /*姓名*/
intcode; /*学号*/
intkor,eng,math; /*3门课程的成绩*/
}STUDENT;

/*返回输入数据*/
STUDENTInput();

/*输出所有输入的数据*/
voidOutput(STUDENTinfo[],intcnt);

/*将输入分数转换为A-F*/
chargrade(intscore);

intmain()
{
STUDENTS[10];
intcnt=0,select;
inti,j;
intcode;

while(1)
{
printf(" 学生信息管理系统 ");
printf(" 1 添加 ");
printf(" 2 删除 ");
printf(" 3 查询 ");
printf(" 0 结束 ");
printf(" 您的选择[0-3]:");
scanf("%d",&select);

if(select<0||select>3)
continue;
if(select==0)
{
printf("退出系统! ");
break;
}

if(select==1) /*添加*/
{
S[cnt++]=Input();
}
elseif(select==2) /*删除*/
{
printf(" 待删除学生的学号:");
scanf("%d",&code);

for(i=0;i<cnt;i++)
if(S[i].code==code)
break;
if(i>=cnt)
{
printf("学号不存在,删除失败! ");
}
else{
for(j=i+1;j<cnt;j++)
{
strcpy(S[j-1].name,S[j].name);
S[j-1].code=S[j].code;
S[j-1].kor=S[j].kor;
S[j-1].eng=S[j].eng;
S[j-1].math=S[j].math;
}
cnt--;
printf("删除成功! ");
}
}
else /*查询*/
{
printf(" 待查找学生的学号:");
scanf("%d",&code);

for(i=0;i<cnt;i++)
if(S[i].code==code)
break;
if(i>=cnt)
{
printf("学号不存在,查找失败! ");
}
else
{
printf(" 查询结果: ");
Output(S,i);
}
}
}

return0;
}

/*返回输入数据*/
STUDENTInput()
{
STUDENTstu;
printf(" 新学生信息 ");
printf(" 学号:");
scanf("%d",&stu.code);
printf(" 姓名:");
getchar();
gets(stu.name);
printf(" 3门课程成绩(以空格分隔):");
scanf("%d%d%d",&stu.kor,&stu.eng,&stu.math);

returnstu;
}

/*输出所有输入的数据*/
voidOutput(STUDENTinfo[],intcnt)
{
printf("学号:%d ",info[cnt].code);
printf("姓名:");
puts(info[cnt].name);
printf("成绩:%c%c%c ",grade(info[cnt].kor),grade(info[cnt].eng),grade(info[cnt].math));
}

/*将输入分数转换为A-F*/
chargrade(intscore)
{
if(score<0||score>100)
return'F';
if(score>=90)
return'A';
if(score>=80)
return'B';
if(score>=70)
return'C';
if(score>=60)
return'D';
else
return'E';
}


运行测试:

⑸ 学生成绩管理系统c

数据库基础的课本上有例题啊

⑹ C语言成绩管理系统

#include"stdio.h"
structstu{
intsid,score;
charg;
};
voidscorein(structstu*p,intn){
inti,t;
for(i=0;i<n;i++){
("%d%d",&p[i].sid,&p[i].score);
p[i].g=(t=p[i].score)>89&&t<101?'A':t>79&&t<90?'B':t>69&&t<80?'C':t>59&&t<70?'D':'E';
}
}
intsum(structstu*p,intn){
ints=0;
while(n--)
s+=p++->score;
returns;
}
voiddssort(structstu*p,intn){
inti,j,k;
structstut;
printf(" STUID SCORE CLASS ===================== ");
for(i=0;i<n;i++){
for(k=i,j=k+1;j<n;j++)
if(p[k].score<p[j].score)
k=j;
if(k!=i)
t=p[k],p[k]=p[i],p[i]=t;
printf("%d %d %c ",p[i].sid,p[i].score,p[i].g);
}
}
voididsort(structstu*p,intn){
inti,j,k;
structstut;
printf(" STUID SCORE CLASS ===================== ");
for(i=0;i<n;i++){
for(k=i,j=k+1;j<n;j++)
if(p[k].sid>p[j].sid)
k=j;
if(k!=i)
t=p[k],p[k]=p[i],p[i]=t;
printf("%d %d %c ",p[i].sid,p[i].score,p[i].g);
}
}
voidquery(structstu*p,intn){
intid;
printf(" PleaseenterID(int)... ");
scanf("%d",&id);
while(id-p->sid&&n)
p++,n--;
if(n>=0){
printf("STUID SCORE CLASS ===================== ");
printf("%d %d %c ",p->sid,p->score,p->g);
}
else
printf("Nofind! ");
}
voidlevel(structstu*p,intn){
intd[5],i;
chars[5][7]={"优秀","良好","中等","及格","不及格"};
printf("统计信息如下: ");
for(i=0;i<5;d[i++]=0);
for(i=0;i<n;i++,d[p++->g-'A']++);
for(i=0;i<5;i++)
printf("%6s: %d %.2f%% ",s[i],d[i],d[i]/(n+0.0)*100);
}
voidoutinfo(structstu*p,intn){
inti;
printf(" STUID SCORE ============= ");
for(i=0;i<n;i++)
printf("%d %d ",p[i].sid,p[i].score);
}
intmain(intargc,char*argv[]){
intn,s;
structstua[30];
printf("Pleaseentern(int0<n<31)... ");
if(scanf("%d",&n)!=1||n<1||n>30){
printf("Inputerror,exit... ");
return0;
}
scorein(a,n);//输入
dssort(a,n);//分数降序
idsort(a,n);//学号升序
query(a,n);//查询
level(a,n);//等级和百分比
outinfo(a,n);//输出各位学生信息
printf("总分:%d",s=sum(a,n));
printf("平均分:%.2f ",s/(n+0.0));
return0;
}

运行样例:

⑺ c语言 高考分数统计系统

#include <iostream.h>
#include <fstream.h>
#include <stdlib.h>
#include <string.h>
#include <stdio.h>

//定义一个用户结构,用来存放登录用户的信息
struct user
{
char name[10];
char pwd[10];
int level;
};
//定义学生信息结构,用来存储学生信息
struct student
{
char name[10];
char banji[10];
double yuwen;
double shuxue;
double yingyu;
};

//全局变量,用来记录用户登录的次数
int count=-1;
//全局变量,用来记录成功登录的用户的权限
int quan;
//定义全局变量记录用户选择
int jieshou;

//登录函数
void login();
//主菜单函数
void main_menu();
//添加学生信息函数
void add();
//查询学生信息函数
void search();
//个人信息查询函数
void geren();
//科目信息查询函数
void kemu();
//修改学生信息函数
void change();
//删除学生信息函数
void del();
//显示学生信息函数
void show(student x);

//学生信息写入函数
void xieru(char wen[],student t);
//读取学生信息的函数,返回一个学生结构的实例
student _stu(char wen[],char x[]);
//学生信息从原文件到临时文件的转化
void zhuanhua(char wen[],char ming[]);
//读取科目成绩信息的函数,返回一个双精度小数
double _kemu(char wen[],int x,int y);
//读取用户信息的函数,返回一个用户结构的实例
user _user(char wen[],char x[]);

//主函数
void main(void)
{
login();
}

//登录函数
void login()
{
//登录次数累加,满3次退出程序
count=count+1;
if(count==3)
{
cout<<"您已经三次登录失败,系统退出!"<<endl;
exit(0);
}

//局部变量,用来记录用户输入的用户名和密码
char ming[10];
char mima[10];

cout<<"欢迎使用本系统!"<<endl;
cout<<"请输入您的用户名:"<<endl;
cin>>ming;
cout<<"请输入您的密码:"<<endl;
cin>>mima;

//调用读取用户信息的函数,将接受的用户名作为参数传递
//声明一个临时的用户结构实例,接受函数返回值
user temp=_user("user.txt",ming);

//判断返回的实例信息
if(temp.level<0)
{
//返回非法信息重新调用登录函数
login();
}
else
{
//返回合法信息进行密码判断
if(strcmp(temp.pwd,mima)!=0)
{
//密码不正确重新调用登录信息
cout<<"密码不正确!"<<endl;
login();
}
else
{
//密码正确使用全局变量记录用户权限,调用主菜单函数
quan=temp.level;
main_menu();
}
}
}

//主菜单函数
void main_menu()
{
//每次调用前清屏
getchar();
system("cls");

cout<<endl<<endl;
cout<<" ****************************"<<endl;
cout<<" 学 生 管 理"<<endl;
cout<<" ****************************"<<endl;
cout<<endl;
cout<<" 1.添加学生信息"<<endl<<endl;
cout<<" 2.查询学生信息"<<endl<<endl;
cout<<" 3.修改学生信息"<<endl<<endl;
cout<<" 4.删除学生信息"<<endl<<endl;
cout<<" 5.退出"<<endl;
cout<<endl;
cout<<"***************************************"<<endl;

cout<<" 请选择:";
cin>>jieshou;
//判断用户选择及权限,调用相应函数
if(jieshou==1 && quan==0)
{
add();
}
else if(jieshou==2)
{
search();
}
else if(jieshou==3 && quan==0)
{
change();
}
else if(jieshou==4 && quan==0)
{
del();
}
else if(jieshou==5)
{
cout<<"谢谢使用!"<<endl;
exit(0);
}
else
{
cout<<"输入有误,请确认您的权限重新输入。"<<endl;
main_menu();
}

}

//添加学生信息函数
void add()
{
//声明一个临时学生实例
student temp;

//用临时学生实例接受用户输入的信息
cout<<"请输入学生姓名:"<<endl;
cin>>temp.name;
cout<<"请输入学生班级:"<<endl;
cin>>temp.banji;
cout<<"请输入学生语文成绩:"<<endl;
cin>>temp.yuwen;
cout<<"请输入学生数学成绩:"<<endl;
cin>>temp.shuxue;
cout<<"请输入学生外语成绩:"<<endl;
cin>>temp.yingyu;

//调用学生信息写入函数
xieru("student.txt",temp);

//询问是否继续添加
while(1==1)
{
cout<<"是否继续输入:1 继续 2 返回"<<endl;
cin>>jieshou;

//判断用户选择,调用相应函数
if(jieshou==1)
{
add();
break;
}
else if(jieshou==2)
{
main_menu();
break;
}
else
{
cout<<"输入有误,请重新输入。"<<endl;
}
}

}

//查询学生信息函数
void search()
{
getchar();
//调用函数前清屏
system("cls");

cout<<" 信息查询"<<endl;
cout<<" ****************************"<<endl;
cout<<endl;
cout<<" 1.学生信息查询"<<endl<<endl;
cout<<" 2.科目信息查询"<<endl<<endl;
cout<<" 3.返回"<<endl;
cout<<endl;
cout<<" *****************************"<<endl;

cout<<" 请选择:";
cin>>jieshou;
//根据用户输入调用相应函数
if(jieshou==1)
{
geren();
}
else if(jieshou==2)
{
kemu();
}
else if(jieshou==3)
{
main_menu();
}
else
{
cout<<"输入有误,请重新输入。"<<endl;
search();
}
}

//个人信息查询函数
void geren()
{
//定义临时学生实例
student temp;
//定义临时字符串接受用户输入的名字
char ming[10];

//接收用户输入的名字
cout<<"请输入您要查询学生的姓名:"<<endl;
cin>>ming;

//按照输入的学生姓名查找,并返回实例
temp=_stu("student.txt",ming);
//判断返回的实例并调用相应函数
if(strcmp(temp.name,"不存在")!=0)
{
while(1==1)
{
cout<<"请输入您要查询的科目:1、语文 2、数学 3、英语"<<endl;
cin>>jieshou;
if(jieshou==1)
{
cout<<temp.name<<"同学的语文成绩:"<<temp.yuwen<<endl;
break;
}
else if(jieshou==2)
{
cout<<temp.name<<"同学的数学成绩:"<<temp.shuxue<<endl;
break;
}
else if(jieshou==3)
{
cout<<temp.name<<"同学的英语成绩:"<<temp.yingyu<<endl;
break;
}
else
{
cout<<"输入有误,请重新输入。"<<endl;
}
}
}

//返回查询模块界面
search();

}

//科目信息查询函数
void kemu()
{
//定义局部变量,记录用户输入的科目及类别
int ke;
int lei;
cout<<"您要查询哪门科目:1、语文 2、数学 3、外语 0、返回"<<endl;
cin>>ke;

//判断用户输入的科目是否合法
if(ke==0)
{
search();
}
else if(ke<0 || ke>3)
{
cout<<"输入错误,请重新选择。"<<endl;
}

cout<<"您要查询该科目的什么分数:1、总分 2、平均分 3、最高分 4、最低分 0、返回"<<endl;
cin>>lei;

//判断用户输入的类别是否合法
if(lei==0)
{
kemu();
}
else if(lei<0 || lei>4)
{
cout<<"输入错误,请重新选择。"<<endl;
}

//根据用户输入调用函数
cout<<"您要查询的数据是:"<<_kemu("student.txt",ke,lei)<<endl;
//返回查询界面
search();
}

//修改学生信息函数
void change()
{
//定义临时字符串接受用户输入的名字
char ming[10];
//定义临时学生实例
student temp;

//接收用户输入的名字
cout<<"请输入您要修改学生的姓名:"<<endl;
cin>>ming;

//按照输入的学生姓名查找,并返回实例
temp=_stu("student.txt",ming);
//判断返回的实例并调用相应函数
if(strcmp(temp.name,"不存在")!=0)
{
double fen;
//显示要修改学生信息
show(temp);
//转化学生信息数据
zhuanhua("student.txt",temp.name);

while(1==1)
{
//询问修改科目及成绩
cout<<"您要修改该同学的哪个成绩: 1、语文 2、数学 3、英语"<<endl;
cin>>jieshou;
cout<<"请输入修改后的成绩:"<<endl;
cin>>fen;
//判断和修改
if(jieshou==1)
{
temp.yuwen=fen;
break;
}
else if(jieshou==2)
{
temp.shuxue=fen;
break;
}
else if(jieshou==3)
{
temp.yuwen=fen;
break;
}
else
{
cout<<"输入有误,请重新输入。"<<endl;
}
}
//追加写入修改后的学生成绩
xieru("lin.txt",temp);
//删除原文件
remove("student.txt");
//重命名临时文件
rename("lin.txt","student.txt");
}
//返回主界面
main_menu();

}

//删除学生信息函数
void del()
{
//定义临时字符串接受用户输入的名字
char ming[10];
//定义临时学生实例
student temp;

//接收用户输入的名字
cout<<"请输入您要删除学生的姓名:"<<endl;
cin>>ming;

//按照输入的学生姓名查找,并返回实例
temp=_stu("student.txt",ming);
//判断返回的实例并调用相应函数
if(strcmp(temp.name,"不存在")!=0)
{

//显示要修改学生信息
show(temp);

while(1==1)
{
//删除操作确认
cout<<"您确定要删除该学生信息吗: 1、确定 2、取消"<<endl;
cin>>jieshou;

//根据用户输入调用相应函数
if(jieshou==1)
{
//转化学生信息数据
zhuanhua("student.txt",temp.name);
//删除原文件
remove("student.txt");
//重命名临时文件
rename("lin.txt","student.txt");
break;
}
else if(jieshou==2)
{
main_menu();
break;
}
else
{
cout<<"您的输入有误,请重新输入!"<<endl;
}
}
}
//返回主界面
main_menu();
}

//显示学生信息函数
void show(student x)
{
cout<<"学生姓名:"<<x.name<<endl;
cout<<"学生班级:"<<x.banji<<endl;
cout<<"学生语文成绩:"<<x.yuwen<<endl;
cout<<"学生数学成绩:"<<x.shuxue<<endl;
cout<<"学生外语成绩:"<<x.yingyu<<endl;
}

//读取科目成绩信息的函数,返回一个双精度小数
double _kemu(char wen[],int x,int y)
{
//声明局部变量保存总分、最高分、最低分、以及人数
double sum=0;
double max=0;
double min=100;
double count=0;
//声明一个临时学生结构实例
student temp;

//文件操作,打开指定文件
ifstream fin;
fin.open(wen);

//文件打开失败提示
if(fin.fail())
{
cout<<"打开文件失败!"<<endl;
exit(0);
}

//逐条读取文件中用户信息,保存到临时用户实例中
while(fin>>temp.name>>temp.banji>>temp.yuwen>>temp.shuxue>>temp.yingyu)
{
//人数累加
count+=1;
//判断传递过来的课程,进行分数的计算
if(x==1)
{
sum=sum+temp.yuwen;
if(temp.yuwen>max)
{
max=temp.yuwen;
}
if(temp.yuwen<min)
{
min=temp.yuwen;
}
}
else if(x==2)
{
sum=sum+temp.shuxue;
if(temp.shuxue>max)
{
max=temp.shuxue;
}
if(temp.shuxue<min)
{
min=temp.shuxue;
}
}
else
{
sum=sum+temp.yingyu;
if(temp.yingyu>max)
{
max=temp.yingyu;
}
if(temp.yingyu<min)
{
min=temp.yingyu;
}
}
}

//根据传递过来的类别决定相应的返回值
if(y==1)
{
return sum;
}
else if(y==2)
{
return sum/count;
}
else if(y==3)
{
return max;
}
else
{
return min;
}
}

//学生信息写入函数
void xieru(char wen[],student t)
{
//文件操作,打开指定文件
ofstream fout;
fout.open(wen,ios::app);

//文件打开失败提示
if(fout.fail())
{
cout<<"打开文件失败!"<<endl;
exit(0);
}

//写入传递过来的学生实例信息
fout<<t.name<<endl;
fout<<t.banji<<endl;
fout<<t.yuwen<<endl;
fout<<t.shuxue<<endl;
fout<<t.yingyu<<endl;

//文件关闭
fout.close();
}

//读取学生信息的函数
student _stu(char wen[],char x[])
{
//声明一个临时学生结构实例
student temp;

//文件操作,打开指定文件
ifstream fin;
fin.open(wen);

//文件打开失败提示
if(fin.fail())
{
cout<<"打开文件失败!"<<endl;
exit(0);
}

//逐条读取文件中用户信息,保存到临时用户实例中
while(fin>>temp.name>>temp.banji>>temp.yuwen>>temp.shuxue>>temp.yingyu)
{
//将读取的学生姓名和传递过来的名字进行比较
if(strcmp(x,temp.name)==0)
{
//比较成功中断循环
break;
}
}
//文件尾判断
//如果循环自然结束,表示没有相同的学生名字
if(fin.eof())
{
//返回非法实例信息
cout<<"该学生不存在!"<<endl;
strcpy(temp.name,"不存在");
}
//文件关闭
fin.close();
//返回实例
return temp;
}

//学生信息从原文件到临时文件的转化
void zhuanhua(char wen[],char ming[])
{
student temp;

ifstream fin;
fin.open(wen);

if(fin.fail())
{
cout<<"打开文件失败!"<<endl;
exit(0);
}

while(fin>>temp.name>>temp.banji>>temp.yuwen>>temp.shuxue>>temp.yingyu)
{
if(strcmp(temp.name,ming)!=0)
{
xieru("lin.txt",temp);
}
}

fin.close();
}

//用户信息读取函数
user _user(char wen[],char x[])
{
//声明一个临时用户结构实例
user temp;

//文件操作,打开指定文件
ifstream fin;
fin.open(wen);

//文件打开失败提示
if(fin.fail())
{
cout<<"打开文件失败!"<<endl;
exit(0);
}

//逐条读取文件中用户信息,保存到临时用户实例中
while(fin>>temp.name>>temp.pwd>>temp.level)
{
//将读取的用户名和传递过来的用户名进行比较
if(strcmp(x,temp.name)==0)
{
//比较成功中断循环
break;
}
}
//文件尾判断
//如果循环自然结束,表示没有相同的用户名
if(fin.eof())
{
//返回非法实例信息
cout<<"用户名不存在!"<<endl;
temp.level=-1;
}
//文件关闭
fin.close();
//返回实例
return temp;
}

⑻ 高考报名管理系统c语言设计

一、需求分析当代大学生是一个特殊的团体,他们具有较高知识修养和较强综合素质,但是他们中的大部分却不具有与他们能力相符的动手能力与就业竞争能力。大学毕业生是新兴劳动力的组成部分,提高大学毕业生就业工作发展水平,事关我国经济社会可持续发展的进程,高校作为培养大学生的摇篮,必须责无旁贷地承担起提高大学生就业能力的重任。提高大学生的就业能力,不仅需要教师付出辛勤的劳动,还需要一套科学完善的制度作为保障,而高校毕业生基本情况数据库管理系统无疑是一个很好的尝试。本文设计的这套数据库管理系统,是综合日常管理、实践考核、科目成绩统计、就业管理等等的综合性数据库系统。设计学生管理这样一个系统,可以涉及到大多数与c数据库的重要数据库对象、重要功能和特性,例如:视图、触发器和存储过程等。由此,通过这个课程设计可以加深学生对与C数据库知识的学习、理解,使学生掌握使用应用软件开发工具开发数据库管理系统的基本方法。在实用性方面,学生管理系统是很普遍的一种应用,选择该系统作为课程设计也可以为学生以后可能遇到的实际开发提供借鉴。课程设计小结以前,我对计算机方面的了解少之甚少,而且对编程没有什么兴趣,认为它十分的枯燥乏味。但是自从接受了C语言这门课程的学习之后,我的态度大有改观。不仅从中了解到了C语言是国内外广泛使用的语言,而且还知道了它的功能丰富、表达能力强、使用灵活方便、应用面广、目标程序效率高等特点。特别的适合于编写系统软件。通过独立自主的完成每一次作业,我从中体会到了程序调试成功后的喜悦,并且对已学知识有了进一步的了解。总之,我正在改变,从不感兴趣向喜欢这门课程有了很大的改变。在编此程序的过程中,我遇到了一些问题,在刚刚编完时,出现了许多错误,其中最主要的便是函数的形参和实参类型不匹配,经过几次改写,最终将形参——结构体指针改为了结构体数组,使得错误减少了许多。同时还出现了一些因马虎而产生的错误,不过最后经过仔细检查都解决了。最难找的的要数逻辑错误了,在对成绩进行计算的时候,忘了对数组进行处理,结果进行完运算后并没有得到预期结果。还有,在编写删除和添加函数时对覆盖前面的成绩没有把握,但经过参考一些资料后,确定了我的想法还是行的通的。总体而言,程序编写中遇到的错误还是比较小的,经过自己的努力还是给克服了。

⑼ c语言成绩管理系统

这有个自己改改!就可以了!
主函数在最后!
#ifndef H_STUDENT_HH /*xxx如果没有定义xxx*/
#define H_STUDENT_HH /*xxx定义xx*/

#include "stdio.h"
#include "string.h"
#include "malloc.h"

#define LEN sizeof(struct message_student) /*一个结构体数组元素的长度*/
#define numsubs 5 /*学科数目*/
typedef struct message_student /*结构体定义*/
{
char number[6];
char name[20];
char sex[4];
float subject[numsubs];
float score;
float average;
int index;
}student;

extern int numstus; /*学生数目*/
extern student *pointer; /*指向结构体数组*/
extern int lens;

int menu_select(); /*函数声明*/
int openfile(student stu[]);
int findrecord(student stud[]);
int writetotext(student stud[]);
void welcome();
void display1();
void showtable();
void sort(student stu[]);
void deleterecord(student stu[],int i);
void addrecord(student stud[]);
void display(student stud[],int n1,int n2);
void amendrecord(student stud[]);
void count(student stud[]);
void sortnum(student stud[]);
void sortnum2(student stud[]);
void sortname(student stud[]);
void sortname2(student stud[]);
void sortcount(student stud[]);
void sortcount2(student stud[]);
void statistic(student stud[]);
void display1();

#endif

#include "stdio.h"
int menu_select()
{
char c;
printf("\n\n");
printf(" | 1. 增加学生记录 5.统计信息 |\n");
printf(" | 2. 查询学生记录 6.打开文件 |\n");
printf(" | 3. 修改学生记录 7.保存文件 |\n");
printf(" | 4. 学生纪录排序 8.显示记录 |\n");
printf(" | 0.退出系统 |\n");
printf("\n\n");
printf("请选择(0-8):");
c=getchar();
getchar();
return (c-'0');
}

#include "stdio.h"
int findrecord(student stud[]) /*查找信息*/
{
char str[2];
int i,num;
if(numstus==0)
{
printf("没有可被查找的记录\n");
return -1;
}
else
{
printf("以何种方式查找?\n1.学号\t2.姓名\t3.名次\n");
gets(str);
if(str[0]=='1') /*按学号查找*/
{
printf("请输入学号:");
gets(str);
for(i=0;i<=numstus;i++)
if(strcmp(str,stud[i].number)==0)
{
display(stud,i,i);
break;
}
else continue;
}
else if(str[0]=='2') /*按姓名查找*/
{
printf("请输入姓名:");
gets(str);
for(i=0;i<=numstus;i++)
if(strcmp(str,stud[i].name)==0)
{
display(stud,i,i);
break;
}
else continue;
}
else if(str[0]=='3') /*按名次查找*/
{
printf("请输入名次:");
scanf("%d",&num);
getchar();
for(i=0;i<=numstus;i++)
if(num==stud[i].index)
{
display(stud,i,i);
break;
}
else continue;
}
if(i>numstus)
{
printf("没有查找所要的信息。\n");
return -1;
}
return i;
}
}

#include"stdio.h"
int openfile(student stu[])
{
int i=0,j;
FILE *fp;
char filename[20],str[2];
if(numstus!=0)
{
printf("已经有记录存在,是否保存?(y/n)");
gets(str);
if(str[0]=='y'||str[0]=='Y')
writetotext(stu);
}
printf("请输入文件名:");
gets(filename);
numstus=0;
if((fp=fopen(filename,"rb+"))==NULL)
{
printf("无法打开该文件\n");
return(-1);
}
fscanf(fp,"%d",&numstus);
fgetc(fp);
while(i<numstus)
{
fscanf(fp,"%s",stu[i].number);
fscanf(fp,"%s",stu[i].name);
fscanf(fp,"%s",stu[i].sex);
for(j=0;j<numsubs;j++)
fscanf(fp,"%f",&stu[i].subject[j]);
fscanf(fp,"%f",&stu[i].score);
fscanf(fp,"%f",&stu[i].average);
fscanf(fp,"%d",&stu[i].index);
i++;
}
fclose(fp);
printf("文件读取成功\n");
printf("是否显示纪录?(y/n)");
gets(str);
if(str[0]=='y'||str[0]=='Y')
display(stu,0,numstus-1);
return(0);
}
#include "stdio.h"
void sort(student stud[])
{
int i,j=0;
char str[5];
student *p;
p=stud;
if(numstus==0)
{
printf("没有可供查询的记录!");
}
while(1)
{
for(i=0;;i++)
{
printf(" 请输入查询方式:");
printf("(直接输入回车则结束查询操作)\n");
printf("1.按照学号\t");
printf("2.按照姓名\t");
printf("3.按照名次\n");
gets(str);
if(strlen(str)==0) break;
if(str[0]=='1')
{
printf("请输入排序次序:\n");
printf("1.升序排列\t");
printf("2.降序排列\n");
gets(str);
if(str[0]=='1')
sortnum2(p);
else
sortnum(p);
display(stud,0,numstus-1);
}
else if(str[0]=='2')
{
printf("请输入排序次序:\n");
printf("1.升序排列\t");
printf("2.降序排列\n");
gets(str);
if(str[0]=='1')
sortname2(p);
else
sortname(p);
display(stud,0,numstus-1);
}
else if(str[0]=='3')
{
printf("请输入排序次序:\n");
printf("1.升序排列\t");
printf("2.降序排列\n");
gets(str);
if(str[0]=='1')
sortcount2(p);
else
sortcount(p);
display(stud,0,numstus-1);
}
else printf("请输入1~3");
printf("是否退出排序?(y/n)");
gets(str);
if(str[0]=='y'||str[0]=='Y') break;
}
return;
}
}
void sortnum(student stud[])
{
int i,j;
student temp;
student *p;
p=stud;
for(i=0;i<numstus;i++)
for(j=0;j<numstus-i-1;j++)
{
if(strcmp(stud[j+1].number,stud[j].number)>0)
{
temp=*(p+j);
*(p+j)=*(p+j+1);
*(p+j+1)=temp;
}
}
}
void sortnum2(student stud[])
{
int i,j;
student temp;
student *p;
p=stud;
for(i=0;i<numstus;i++)
for(j=0;j<numstus-i-1;j++)
{
if(strcmp(stud[j].number,stud[j+1].number)>0)
{
temp=*(p+j);
*(p+j)=*(p+j+1);
*(p+j+1)=temp;
}
}
}
void sortname(student stud[])
{
int i,j;
student temp;
student *p;
p=stud;
for(i=0;i<numstus;i++)
for(j=0;j<numstus-i-1;j++)
{
if(strcmp(stud[j+1].name,stud[j].name)>0)
{
temp=*(p+j);
*(p+j)=*(p+j+1);
*(p+j+1)=temp;
}
}
}
void sortname2(student stud[])
{
int i,j;
student temp;
student *p;
p=stud;
for(i=0;i<numstus;i++)
for(j=0;j<numstus-i-1;j++)
{
if(strcmp(stud[j].name,stud[j+1].name)>0)
{
temp=*(p+j);
*(p+j)=*(p+j+1);
*(p+j+1)=temp;
}
}
}
void sortcount(student stud[])
{
int i,j;
student temp;
student *p;
p=stud;
for(i=0;i<numstus;i++)
for(j=0;j<numstus-i-1;j++)
{
if(stud[j+1].index>stud[j].index)
{
temp=*(p+j);
*(p+j)=*(p+j+1);
*(p+j+1)=temp;
}
}
}
void sortcount2(student stud[])
{
int i,j;
student temp;
student *p;
p=stud;
for(i=0;i<numstus;i++)
for(j=0;j<numstus-i-1;j++)
{
if(stud[j].index>stud[j+1].index)
{
temp=*(p+j);
*(p+j)=*(p+j+1);
*(p+j+1)=temp;
}
}
}
#include"stdio.h"
void statistic(student stud[]) /*新增功能,输出统计信息*/
{
int i,j=0,k=0;
char c1,str[2];
float average[numsubs],sum=0;
if(numstus==0)
printf("没有可被查找的记录\n");
else
{
while(1)
{
printf("下面将统计考试成绩\n");
printf("请选择你要统计哪科的成绩 1.A\t2.B\t3.C\t4.D\t5.E\n");
c1=getchar();
printf("\t一共有个%d记录\n",numstus); /*总共记录数*/
switch(c1)
{
case '1':
for(i=0;i<numstus;i++) /*循环输入判断*/
{
sum+=stud[i].subject[0];
if(stud[k].subject[0]>stud[i].subject[0]) k=i;
if(stud[j].subject[0]<stud[i].subject[0]) j=i;
}
average[0]=sum/numstus;
printf("\t科目A的最高分:\n"); /*最高分*/
printf("\t\t学号:%s 姓名:%s 分数:%.2f\n",stud[j].number,stud[j].name,stud[j].subject[0]);
printf("\t科目A的最低分是:\n"); /*最低分*/
printf("\t\t学号:%s 姓名:%s 分数:%.2f\n",stud[k].number,stud[k].name,stud[k].subject[0]);
printf("\t科目A的平均分是 %5.2f\n",average[0]); /*平均分*/
break;
case '2':
for(i=0;i<numstus;i++) /*循环输入判断*/
{
sum+=stud[i].subject[1];
if(stud[k].subject[1]>stud[i].subject[1]) k=i;
if(stud[j].subject[1]<stud[i].subject[1]) j=i;
}
average[1]=sum/numstus;
printf("\t科目B的最高分:\n"); /*最高分*/
printf("\t\t学号:%s 姓名:%s 分数:%.2f\n",stud[j].number,stud[j].name,stud[j].subject[1]);
printf("\t科目B的最低分是:\n"); /*最低分*/
printf("\t\t学号:%s 姓名:%s 分数:%.2f\n",stud[k].number,stud[k].name,stud[k].subject[1]);
printf("\t科目B的平均分是 %5.2f\n",average[1]); /*平均分*/
break;
case '3':
for(i=0;i<numstus;i++) /*循环输入判断*/
{
sum+=stud[i].subject[2];
if(stud[k].subject[2]>stud[i].subject[2]) k=i;
if(stud[j].subject[2]<stud[i].subject[2]) j=i;
}
average[2]=sum/numstus;
printf("\t科目C的最高分:\n"); /*最高分*/
printf("\t\t学号:%s 姓名:%s 分数:%.2f\n",stud[j].number,stud[j].name,stud[j].subject[2]);
printf("\t科目C的最低分是:\n"); /*最低分*/
printf("\t\t学号:%s 姓名:%s 分数:%.2f\n",stud[k].number,stud[k].name,stud[k].subject[2]);
printf("\t科目C的平均分是 %5.2f\n",average[2]); /*平均分*/
break;
case '4':
for(i=0;i<numstus;i++) /*循环输入判断*/
{
sum+=stud[i].subject[3];
if(stud[k].subject[3]>stud[i].subject[3]) k=i;
if(stud[j].subject[3]<stud[i].subject[3]) j=i;
}
average[3]=sum/numstus;
printf("\t科目D的最高分:\n"); /*最高分*/
printf("\t\t学号:%s 姓名:%s 分数:%.2f\n",stud[j].number,stud[j].name,stud[j].subject[3]);
printf("\t科目D的最低分是:\n"); /*最低分*/
printf("\t\t学号:%s 姓名:%s 分数:%.2f\n",stud[k].number,stud[k].name,stud[k].subject[3]);
printf("\t科目D的平均分是 %5.2f\n",average[3]); /*平均分*/
break;
case '5':
for(i=0;i<numstus;i++) /*循环输入判断*/
{
sum+=stud[i].subject[4];
if(stud[k].subject[4]>stud[i].subject[4]) k=i;
if(stud[j].subject[4]<stud[i].subject[4]) j=i;
}
average[4]=sum/numstus;
printf("\t科目E的最高分:\n"); /*最高分*/
printf("\t\t学号:%s 姓名:%s 分数:%.2f\n",stud[j].number,stud[j].name,stud[j].subject[4]);
printf("\t科目E的最低分是:\n"); /*最低分*/
printf("\t\t学号:%s 姓名:%s 分数:%.2f\n",stud[k].number,stud[k].name,stud[k].subject[4]);
printf("\t科目E的平均分是 %5.2f\n",average[4]); /*平均分*/
break;
default:printf("输入错误!请输入1~5之间的数\n");
}
sum=0;
getchar();
printf("是否继续进行统计?(y/n)");
gets(str);
if(str[0]=='y'||str[0]=='Y') ;
else break;
}
}
}

#include"stdio.h"
int writetotext(student stud[]) /*将所有记录写入文件*/
{
int i=0,j;
FILE *fp;
char filename[20];
printf("输入文件名称:");
gets(filename);
fp=fopen(filename,"w");
fprintf(fp,"%d\n",numstus);
while(i<numstus)
{
fprintf(fp,"%s %s %s ",stud[i].number,stud[i].name,stud[i].sex);
for(j=0;j<numsubs;j++)
fprintf(fp,"%f ",stud[i].subject[j]);
fprintf(fp,"%f %f %d ",stud[i].score,stud[i].average,stud[i].index);
i++;
}
fclose(fp);
printf("已成功存储!\n");
display(stud,0,numstus-1);
numstus=0;
return 0;
}

#include"stdio.h"
void welcome()
{
printf("\t*************************************************************\n");
printf("\t\t\t\t欢迎进入学生成绩管理系统\t\t\t\t\t\t\t\t 晓 欢迎使用!\n");
printf("\t*************************************************************\n");
printf("\t\t\t\t\t\t本系统由“晓”一组亲情制作\n\n");
printf("\t\t\t\t\t\t制作人员列表: \n");
printf("\t\t\t\t\t\t吴彦兵 黄进 汪红波\n\t\t\t\t\t\t刘玉萧 杨超 章耀\n");
printf("输入回车进入菜单栏:\n");
printf("\n\n");
getchar();
}

void showtable()
{
printf("-------------------------------------------------------------------------------\n");
printf("学号\t姓名\t性别\tA\tB\tC\tD\tE 总分 平均分 名次\n");
printf("-------------------------------------------------------------------------------\n");
}

void display(student stud[],int n1,int n2)
{
int i;
showtable(); /*显示表头*/
for(i=n1;i<=n2;i++)
printf("%s\t%s\t%s\t%.1f\t%.1f\t%.1f\t%.1f\t%.1f %.1f %.1f %d\t\n",stud[i].number,stud[i].name,stud[i].sex,stud[i].subject[0],stud[i].subject[1],stud[i].subject[2],stud[i].subject[3],stud[i].subject[4],stud[i].score,stud[i].average,stud[i].index);
/*通过循环输出数据*/

}
void display1()
{
printf("\t\t本系统由晓一组亲情制作\n\n");
printf("\t\t制作人员列表: \n");
printf("\t\t\t\t\t\t吴彦兵 黄进 汪红波\n\t\t\t\t\t\t刘玉萧 杨超 章耀\n");
printf("\t\t\t=========欢迎下次使用=========");
printf("\n\n");
getchar();
}

#include"stdio.h"
#include<string.h>
void amendrecord(student stud[])
{
char str[5]; /*供用户输入*/
int i=-1,j;

if(numstus==0) /*没有记录返回*/
printf("没有可供修改的记录!");
while(i<0)
{
i=findrecord(stud);
if(i>=0)
{
printf("要删除这个学生的信息吗?(y/n)");
gets(str);
if(str[0]=='y'||str[0]=='Y')
{
deleterecord(stud,i);
count(stud);
}
else
{
printf("确定要修改这个学生的信息吗?(y/n)");
gets(str);
if(str[0]=='y'||str[0]=='Y')
{

printf("下面请重新输入学生的信息:\n");
printf("请输入学号:");
gets(stud[i].number);
printf("请输入姓名:");
gets(stud[i].name);
printf("请输入性别(男/女 1/0):");
gets(str);
if(str[0]=='0')
strcpy(stud[i].sex,"女");
else
strcpy(stud[i].sex,"男");
stud[i].score=0;
printf("请按顺序输入成绩:");
for(j=0;j<numsubs;j++)
{
scanf("%f",&stud[i].subject[j]);
stud[i].score+=stud[i].subject[j];
}
getchar();
stud[i].average=stud[i].score/numsubs;
}
count(stud);
}
display(stud,0,numstus-1);
}
printf("是否继续进行其他修改?(y/n)\n");
gets(str);
if(str[0]=='y'||str[0]=='Y')
i=-1;
else i=1;
}
}

void deleterecord(student stu[],int i) /*删除信息*/
{
int j;

while(i>=0)
{
for(j=i;j<numstus;j++)
stu[j]=stu[j+1];
numstus--;
printf("删除成功!\n");

}
}

void count(student stud[])
{
int i,j;
for(i=0;i<numstus;i++)
{
stud[i].index=1;
for(j=0;j<numstus;j++)
if(stud[j].score>stud[i].score)
stud[i].index++;
}
}

#include "stdio.h"
void addrecord(student stud[])
{
int i=0,j,num;
char str[5];
if(numstus!=0)
{
printf("已有记录存在是否覆盖?(y/n)\n");
gets(str);
if(str[0]=='Y'||str[0]=='y')
i=0;
else i=numstus;
}

printf("请输入增加的学生信息条目数:");
scanf("%d",&num);
if(i==0)
numstus=num;
else numstus+=num;
if(numstus>lens)
{
lens+=50;
pointer=(student *)realloc(pointer,lens*LEN);
}
printf("请输入学生信息:\n");
for(;i<numstus;i++)
{
getchar();
printf("请输入学号:");
gets(pointer[i].number);
printf("请输入姓名:");
gets(pointer[i].name);
printf("请输入性别(男/女 1/0):");
gets(pointer[i].sex);
if(pointer[i].sex[0]=='0') strcpy(pointer[i].sex,"女");
else strcpy(pointer[i].sex,"男");
printf("请输入各科成绩:(按ABCDE的顺序):");
stud[i].score=0;
for(j=0;j<numsubs;j++)
{
scanf("%f",&stud[i].subject[j]); /*计算总分*/
stud[i].score+=stud[i].subject[j];
}
stud[i].average=stud[i].score/numsubs; /*计算平均分*/
}
count(stud); /*附名次*/
display(stud,0,numstus-1);
getchar();
}
#include "stdio.h"
int numstus;
int lens;
student *pointer;
void main()
{
int i=1;
char str[2];
lens=100;
pointer=(student *)malloc(lens*LEN); /*分配内存*/
numstus=0;
welcome(); /*欢迎界面*/
while(i>0)
{
i=menu_select(); /*控制菜单*/
switch(i)
{
case 1:addrecord(pointer);break; /*增加学生信息*/
case 2:findrecord(pointer);break; /*查询学生信息*/
case 3:amendrecord(pointer);break; /*修改学生信息*/
case 4:sort(pointer);break; /*学生信息排序*/
case 5:statistic(pointer);break; /*统计信息*/
case 6:openfile(pointer);break; /*打开文件*/
case 7:writetotext(pointer);break; /*保存文件*/
case 8:display(pointer,0,numstus-1);break; /*显示记录*/
case 0:
if(numstus!=0) printf("是否保存当前记录?(y/n)");
gets(str);
if(str[0]=='y'||str[0]=='Y')
writetotext(pointer);
i=-1;break; /*退出系统*/
default:printf("请输入数字0~8:\n");i=1; /*输入错误*/
}
}
printf("\t\t======欢迎再次使用本系统======= \n");
display1();
}

⑽ 用C语言制作“高考分数查询系统”

前几天一直没上。没看见 。我也不是学计算机的 ,也和你一样, 我试试吧。
#include<stdio.h>
main()
{
char na[30];
int yuwen,shuxue,yingyu,zonghe,zongfen;
yuwen=95;
shuxue=98;
yingyu=105;
zonghe=196;
zongfen=0;
zongfen=yuwen+shuxue+yingyu+zonghe;
printf("please input your name:");
scanf("%s",na);
printf("your scores is:");
printf("yuwen=%d,shuxue=%d,yingyu=%d,zonghe=%d,zongfen=%d\n",yuwen,shuxue,yingyu,zonghe,zongfen);
}
你看这回个答怎么样?很简单,但你都没给什么要求,我也不知道该往哪加深。我能力有限 目前还想不出用什么办法可以使分数随机改变,只能写固定的了。
如果不满意再告诉我,再把想改进的地方和我说,我可以帮你想想。

热点内容
武汉大学学生会辅导员寄语 发布:2021-03-16 21:44:16 浏览:612
七年级学生作文辅导学案 发布:2021-03-16 21:42:09 浏览:1
不屑弟高考成绩 发布:2021-03-16 21:40:59 浏览:754
大学毕业证会有成绩单 发布:2021-03-16 21:40:07 浏览:756
2017信阳学院辅导员招聘名单 发布:2021-03-16 21:40:02 浏览:800
查询重庆2018中考成绩查询 发布:2021-03-16 21:39:58 浏览:21
结业考试成绩怎么查询 发布:2021-03-16 21:28:40 浏览:679
14中医医师资格笔试考试成绩查分 发布:2021-03-16 21:28:39 浏览:655
名著赏析课程标准 发布:2021-03-16 21:27:57 浏览:881
北京大学商业领袖高端培训课程 发布:2021-03-16 21:27:41 浏览:919