-
发布于 2019-11-19 09:44
- 分类:百科
- 阅读(45)
学生成绩查询系统
学生成绩管理系统
一.主菜单(1)成绩输入(2)成绩查询(3)成绩统计(4)退出二.(1)成绩录入:输入学生的学号,姓名,三门课成绩 (2)成绩查询:(1)按学号查询学生记录(2)查询不及格学生记录 (3)成绩统计:(1)计算学生平均成绩(2)根据学生平均分高低对学生的数据进行排序输出(3)对单科成绩排序输出学生姓名与该科成绩 (4)退出系统是C语言的编码~
好评回答:C语言课程设计报告——-学生成绩简单管理程序 一、系统菜单的主要功能 (1)输入若干条记录 (2)显示所有记录 (3)按学号排序 (4)插入一条记录 (5)按姓名查找,删除一条记录 (6)查找并显示一条记录 (7)输出统计信息 (新增) (8)从正文中添加数据到结构体数组中 (9)将所有数据写入文件中 (0)退出程序 二、题目分析 该题主要考察学生对结构体,指针,文件的操作,以及C语言算法的掌握,所以完成此道题目要求较强的设计能力,尤其是要有一种大局观的意识。如何调程序也非常重要,通过这个程序可以学习到以前调试短程序没有的的经验。 菜单中的每一个选项都对应一个子程序,子程序的算法几乎囊获了所有C语言学过的技巧,下面就各个子程序中的功能进行说明: 功能1和4的算法相似,输入一条记录到结构体中去,其中有一部很关键,就是通过gets将所有的多余的字符,回车读去,否则就会出错。 功能2是显示所有的记录,通过循环输出,格式也比较重要。 功能3为按学号排序,因为学号定义成了字符数组的形式,因此在运用冒泡法进行排序的时候,要用到strcmp,strcpy等函数。 功能5为按姓名删除记录,先输入姓名,再一一比较,如果没有则返回失败信息,如果找到就将此记录都向前移一位,返回n-1。 功能6的算法在5中就已经体现了,输入姓名,一一比较。 功能7为新增的功能,因为考虑到原来给出的函数中竟然没有对学生成绩的统计功能,因此新增此功能,可以得出所有的记录个数,最高、最低、平均分,并输出相关的学生信息等。 功能8和9是对文件的操作,提前准备好数据。 三、程序正文部分 #include /*引用库函数*/ #include #include #include typedef struct /*定义结构体数组*/ { char num[10]; /*学号*/ char name[20]; /*姓名*/ int score; /*成绩*/ }Student; Student stu[80]; /*结构体数组变量*/ int menu_select() /*菜单函数*/ { char c; do{ system(“cls”); /*运行前清屏*/ printf(“tt****Students’ Grade Management System****n”); /*菜单选择*/ printf(“tt | 1。 Input Records |n”); printf(“tt | 2。 Display All Records |n”); printf(“tt | 3。 Sort |n”); printf(“tt | 4。 Insert a Record |n”); printf(“tt | 5。 Delete a Record |n”); printf(“tt | 6。 Query |n”); printf(“tt | 7。 Statistic |n”); printf(“tt | 8。 Add Records from a Text File|n”); printf(“tt | 9。 Write to a Text file |n”); printf(“tt | 0。 Quit |n”); printf(“tt*****************************************n”); printf(“tttGive your Choice(0-9):”); c=getchar(); /*读入选择*/ }while(c’9′); return(c-‘0′); /*返回选择*/ } int Input(Student stud[],int n) /*输入若干条记录*/ {int i=0; char sign,x[10]; /*x[10]为清除多余的数据所用*/ while(sign!=’n’&&sign!=’N’) /*判断*/ { printf(“tttstudent’s num:”); /*交互输入*/ scanf(“ttt%s”,stud[n+i]。num); printf(“tttstudent’s name:”); scanf(“ttt%s”,stud[n+i]。name); printf(“tttstudent’s score:”); scanf(“ttt%d”,&stud[n+i]。score); gets(x); /*清除多余的输入*/ printf(“tttany more records?(Y/N)”); scanf(“ttt%c”,&sign); /*输入判断*/ i++; } return(n+i); } void Display(Student stud[],int n) /*显示所有记录*/ { int i; printf(“ttt———————————–n”); /*格式头*/ printf(“tttnumber name scoren”); printf(“ttt———————————–n”); for(i=1;i1&&i%10==0) /*每十个暂停*/ {printf(“ttt———————————–n”); /*格式*/ printf(“ttt”); system(“pause”); printf(“ttt———————————–n”); } } printf(“ttt”); system(“pause”); } void Sort_by_num(Student stud[],int n) /*按学号排序*/ { int i,j,*p,*q,s; char t[10]; for(i=0;i0) {strcpy(t,stud[j+1]。num); strcpy(stud[j+1]。num,stud[j]。num); strcpy(stud[j]。num,t); strcpy(t,stud[j+1]。name); strcpy(stud[j+1]。name,stud[j]。name); strcpy(stud[j]。name,t); p=&stud[j+1]。score; q=&stud[j]。score; s=*p; *p=*q; *q=s; } } int Insert_a_record(Student stud[],int n) /*插入一条记录*/ {char x[10]; /*清除多余输入所用*/ printf(“tttstudent’s num:”); /*交互式输入*/ scanf(“ttt%s”,stud[n]。num); printf(“tttstudent’s name:”); scanf(“ttt%s”,stud[n]。name); printf(“tttstudent’s score:”); scanf(“ttt%d”,&stud[n]。score); gets(x); n++; Sort_by_num(stud,n); /*调用排序函数*/ printf(“tttInsert Successed!n”); /*返回成功信息*/ return(n); } int Delete_a_record(Student stud[],int n) /*按姓名查找,删除一条记录*/ { char s[20]; int i=0,j; printf(“ttttell me his(her) name:”); /*交互式问寻*/ scanf(“%s”,s); while(strcmp(stud[i]。name,s)!=0&&istud[i]。score) j=i; if(stud[k]。score
请问基于Web的学生成绩管理与查询系统怎么翻译成英语?
完整问题:请问基于Web的学生成绩管理与查询系统怎么翻译成英语?
好评回答:happyjincan,你好!基于Web的学生成绩管理与查询系统:Management and Query System of Stuents’ Scores on the basis of the web祝好!羊羊
求 学生学籍及成绩查询系统
完整问题: 求 学生学籍及成绩查询系统 要用c语言做的,会做的帮个忙啊
好评回答:自己看看吧。这是数据结构编程的实例。自己琢磨吧。 #include //预处理#include#include#include#define OK 1#define null 0#define error 0typedef int status; typedef struct student {char studentname[10]; //姓名//int studentnumber; //学号//int age; //年龄//float chinesescore; //语文成绩//float mathsscore; //数学成绩//float englishscore; //英语成绩// }elemtype; typedef struct{elemtype *elemstudent; //学生数组首地址// int studentlength; //学生数组实际长度// int max; //数组最大值// }sqlist; status initlist_sq(sqlist&L) //生成空顺序表//{L。elemstudent=(elemtype*)malloc(10*sizeof(elemtype));if(!L。elemstudent){printf(“空间未申请到”);exit(0);}L。studentlength=0;L。max=10;return OK;} status datain_sq(sqlist&L,int stunums) //向表中输入学生数据//{int i;for(i=0;iL。studentlength){printf(“插入位置错误”);return error;}q=&(L。elemstudent[i-1]); for(p=&(L。elemstudent[L。studentlength-1]);p>=q;p–){*(p 1)=*p;*q=x;L。studentlength ;}return OK;} status listsearch_age(sqlist&L,int age1,int age2) //按年龄查找//{int i,temp=0;printf(“姓名学号年龄语文数学英语”);for(i=0;i=age1&&L。elemstudent[i]。age=pivotkey)–high;L。elemstudent[low]=L。elemstudent[high];while(low=pivotkey)–high;L。elemstudent[low]=L。elemstudent[high];while(low
请问想在新浪博客上插入学生成绩查询系统可以么?
完整问题:请问想在新浪博客上插入学生成绩查询系统可以么?
好评回答:你好: 可以的,你只要把"学生成绩查询系统"上传到网络硬盘,再调用,就可以了. 推荐个网络硬盘:(中联网) (ik8网络硬盘) 这个是你代入的代码如下: 注意:框架代码中宽度和高度随你修改的代码 宽:WIDTH;高:HEIGHT
请问想在新浪博客上插入学生成绩查询系统可以么?
完整问题:请问想在新浪博客上插入学生成绩查询系统可以么?
好评回答:你好: 可以的,你只要把"学生成绩查询系统"上传到网络硬盘,再调用,就可以了. 推荐个网络硬盘:(中联网) (ik8网络硬盘) 这个是你代入的代码如下: 注意:框架代码中宽度和高度随你修改的代码 宽:WIDTH;高:HEIGHT
求 学生学籍及成绩查询系统
完整问题:求 学生学籍及成绩查询系统 要用c语言做的,会做的帮个忙啊
好评回答:自己看看吧。这是数据结构编程的实例。自己琢磨吧。 #include //预处理#include#include#include#define OK 1#define null 0#define error 0typedef int status; typedef struct student {char studentname[10]; //姓名//int studentnumber; //学号//int age; //年龄//float chinesescore; //语文成绩//float mathsscore; //数学成绩//float englishscore; //英语成绩// }elemtype; typedef struct{elemtype *elemstudent; //学生数组首地址// int studentlength; //学生数组实际长度// int max; //数组最大值// }sqlist; status initlist_sq(sqlist&L) //生成空顺序表//{L。elemstudent=(elemtype*)malloc(10*sizeof(elemtype));if(!L。elemstudent){printf(“空间未申请到”);exit(0);}L。studentlength=0;L。max=10;return OK;} status datain_sq(sqlist&L,int stunums) //向表中输入学生数据//{int i;for(i=0;iL。studentlength){printf(“插入位置错误”);return error;}q=&(L。elemstudent[i-1]); for(p=&(L。elemstudent[L。studentlength-1]);p>=q;p–){*(p 1)=*p;*q=x;L。studentlength ;}return OK;} status listsearch_age(sqlist&L,int age1,int age2) //按年龄查找//{int i,temp=0;printf(“姓名学号年龄语文数学英语”);for(i=0;i=age1&&L。elemstudent[i]。age=pivotkey)–high;L。elemstudent[low]=L。elemstudent[high];while(low=pivotkey)–high;L。elemstudent[low]=L。elemstudent[high];while(low