c语言学生成绩管理系问题

学生成绩管理系统(C语言)
#include&stdio.h&
#include&malloc.h&
#include&string.h&
typedef struct Student
&char name[10];
&float score[3];& //three
&& //average
&struct Student *
void Initial(Student *p)
&p=(Student*)malloc(sizeof(Student));//the head of
the linklist
&p-&next=NULL;
void Input(Student *p)
*stu=(Student*)malloc(sizeof(Student));
&printf("学号:");&scanf("%d",&stu-&no);
&printf("姓名:");&scanf("%s",stu-&name);
&printf("成绩1:");&scanf("%f",&stu-&score[0]);
&printf("成绩2:");&scanf("%f",&stu-&score[1]);
&printf("成绩3:");&scanf("%f",&stu-&score[2]);
&stu-&average=(stu-&score[0]+stu-&score[1]+stu-&score[2])/3;
&stu-&next=NULL;
*ps=(Student*)malloc(sizeof(Student));
&while(ps-&next)
&ps-&next=
&//free(ps);
void Output(Student *p)
*ps=(Student*)malloc(sizeof(Student));
&printf("学号\t姓名\t成绩1\t成绩2\t成绩3\t平均分\n");
&while(ps!=NULL)
&&printf("%d\t",ps-&no);
&&printf("%s\t",ps-&name);
&&printf("%.1f\t",ps-&score[0]);
&&printf("%.1f\t",ps-&score[1]);
&&printf("%.1f\t",ps-&score[2]);
&&printf("%.1f\t\n",ps-&average);
&&ps=ps-&&&
&free(ps);
void Find(Student *p)
*ps=(Student*)malloc(sizeof(Student));
&char name[10];
&printf("输入要查询的学生姓名:");
&scanf("%s",name);
&while(strcmp(ps-&name,name)!=0)
//相同时为0
&&ps=ps-&&&
&printf("学号\t姓名\t成绩1\t成绩2\t成绩3\t平均分\n");
&printf("%d\t",ps-&no);
&printf("%s\t",ps-&name);
&printf("%.1f\t",ps-&score[0]);
&printf("%.1f\t",ps-&score[1]);
&printf("%.1f\t",ps-&score[2]);
&printf("%.1f\t\n",ps-&average);
void swap(Student *p1, Student *p2) //swap two nodes for
*temp=(Student*)malloc(sizeof(Student));
&temp-&no=p1-&
&strcpy(temp-&name,p1-&name);
&temp-&score[0]=p1-&score[0];
&temp-&score[1]=p1-&score[1];
&temp-&score[2]=p1-&score[2];
&temp-&average=p1-&
&p1-&no=p2-&
&strcpy(p1-&name,p2-&name);
&p1-&score[0]=p2-&score[0];
&p1-&score[1]=p2-&score[1];
&p1-&score[2]=p2-&score[2];
&p1-&average=p2-&
&p2-&no=temp-&
&strcpy(p2-&name,temp-&name);
&p2-&score[0]=temp-&score[0];
&p2-&score[1]=temp-&score[1];
&p2-&score[2]=temp-&score[2];
&p2-&average=temp-&
&free(temp);
void Sort(Student *p)&//sort by average
*p1=(Student*)malloc(sizeof(Student));
*p2=(Student*)malloc(sizeof(Student));
&while(p1)
&&while(p2)
avg& (p2-&average))
&&&&swap(p1,p2);
&&&&avg=p2-&
&&&p2=p2-&
void Insert(Student *p)
&printf("按平均分高低插入数据!\n");&
*stu=(Student*)malloc(sizeof(Student));//the data being
&printf("学号:");&scanf("%d",&stu-&no);
&printf("姓名:");&scanf("%s",stu-&name);
&printf("成绩1:");&scanf("%f",&stu-&score[0]);
&printf("成绩2:");&scanf("%f",&stu-&score[1]);
&printf("成绩3:");&scanf("%f",&stu-&score[2]);
&stu-&average=(stu-&score[0]+stu-&score[1]+stu-&score[2])/3;
&stu-&next=NULL;
*p1=(Student*)malloc(sizeof(Student));//temp
&while(p1-&next
((p1-&next)-&average)
&(stu-&average))
&//p1=p1-&
&stu-&next=p1-&
&p1-&next=
void Menu(Student *p)
&printf("您好,欢迎使用学生成绩管理系统!\n");
&printf("1:输入学生成绩数据\n2:输出全部学生信息\n3:按姓名查找学生记录\n4:按平均成绩进行排序\n5:按平均成绩高低插入数据\n6:退出\n");
&scanf("%d",&select);
&while(select&=6
&& select&0)
&&switch(select)
&&&case 1:
&&&case 2:
Output(p);
&&&case 3:
&&&case 4:
&&&case 5:
Insert(p);
&&&case 6:
printf("成功退出,欢迎再次使用!\n");
&&printf("1:输入学生成绩数据\n2:输出全部学生信息\n3:按姓名查找学生记录\n4:按平均成绩进行排序\n5:按平均成绩高低插入数据\n6:退出\n");
&&scanf("%d",&select);
int main()
*head=(Student*)malloc(sizeof(Student));
&Menu(head);
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。您所在位置: &
&nbsp&&nbsp&nbsp&&nbsp
C语言课程设计报告-学生成绩管理.doc 26页
本文档一共被下载:
次 ,您可全文免费在线阅读后下载本文档。
下载提示
1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
2.该文档所得收入(下载+内容+预览三)归上传者、原创者。
3.登录后可充值,立即自动返金币,充值渠道很便利
需要金币:200 &&
你可能关注的文档:
··········
信息与科学技术学部
课程设计报告
7 学年第 一
C语言课程设计
《学生成绩管理》
自动化1502班
1、 设计任务书 1
1.1、题目与要求 1
1.2、本程序涉及的知识点 1
2、 功能设计 1
2.1、算法设计 1
2.2、部分模块流程图 2
3、 程序代码设计 10
4、 在设计过程中遇到的困难 24
5、 C程序设计总结 25
设计任务书
1.1、题目与要求
1,由键盘输入20个学生(姓名)的某门课程的学习成绩10~99分(也可超过)。
2,将分数由低到高排序(用直接排序法和冒泡法),并显示学生姓名和对应的分数。
3,用线性搜索法检索某个学生的成绩(输入姓名,显示成绩)
4 , 对分搜索法检索某个学生的成绩(输入姓名,显示成绩)
1.2、本程序涉及的知识点
变量的定义、输入和输出函数、if语句、转意字符的使用、调用外部文件、调用winds下的命令符、清屏语句等等。
2.1、算法设计
1、本程序实现的功能要求:将各个功能写成子函数,需要时进行调用。
2.2、部分模块流程图
1)管理员菜单
2)学生菜单
3)网页转跳
4)打开文件
5)登陆程序
6)输入函数
7)排序函数
8)冒泡排序
9)搜索程序
10)对分搜索
程序代码设计
#include&stdio.h&
#include&string.h&
#include&windows.h&
#define max1 100
//最多人数
struct geren{
//定义一个结构体
char name[40];
struct geren guanli[max1];
//geren结构数组
void glcaidan();
//管理员菜单
void xscaidan();
//学生菜单
void shuru();
//输入函数
void paixushuchu();
void guanliyuan();
//管理员登陆
void paiming();
//对学生进行排名
void xueshendenlu();
//学生登录
void sousuo();
void zhuantiao();
//网页转跳
void swap(struct geren *student,int n);
//从大到小的排序
void wenjian();
//打开文件
void duifen();
//对分搜索
void zhijie();
//直接排序
void main()
glcaidan();
//管理员菜单
zhuantiao();
//网页转跳
xscaidan();
//学生菜单
void wenjian()
//打开文件
char *file_path = &.\\字符图案\\wenhua.txt&;
system(&cls&);
if((fp=fopen(file_path,&r&))==NULL)
printf(&\nSorry, Can't open the file! @_@\n&);
while((ch=fgetc(fp))!=EOF)
printf(&%c&,ch);
fclose(fp);
Sleep(2000);
system(&cls&);
void zhuantiao()
//网页转跳
for(i=3;i&4&&amp
正在加载中,请稍后...
81页33页30页23页283页328页557页282页274页108页c语言学生成绩管理问题_百度知道
c语言学生成绩管理问题
c语言学生成绩管理问题
带注释大神大神
您的回答被采纳后将获得:
系统奖励15(财富值+成长值)+难题奖励20(财富值+成长值)+提问者悬赏30(财富值+成长值)
我有更好的答案
我这里有现成的,原先作业写过一个,要的话可以私信我
可以发给我吗。◕‿◕。
为您推荐:
其他类似问题
您可能关注的内容
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。学生成绩管理系统 C语言版
学生成绩管理系统
#include"stdio.h"
#include"stddef.h"
#include"stddef.h"
#include"string.h"
#define MAX 10
typedef struct student {
char name[MAX];
int num[MAX];
char sex[MAX];
struct student *
void print() {
system("cls");
printf("\t\t\tScore Manage System\n");
printf("&1&Enter Record\t");
printf("&2&Display\t");
printf("&3&Insert\t");
printf("&4&Quest\t");
printf("&5&Update\t");
printf("&6&Save\t");
printf("&7&Fresh\t");
printf("&8&Chinese Average\t");
printf("&9&Math Average\t");
printf("&10&English Average\t");
printf("&11&Computer Average\t");
printf("&12&Quit\t\n");
void cin(stu *p1) {
printf("Enter name:\n");
scanf("%s", &p1-&name);
printf("Enter num:\n");
scanf("%d", &p1-&num);
printf("Enter sex:\n");
scanf("%s", &p1-&sex);
printf("Enter score:\n");
printf("Enter chinese:\n");
scanf("%d", &p1-&chinese);
printf("Enter math:\n");
scanf("%d", &p1-&mathematic);
printf("Enter English:\n");
scanf("%d", &p1-&english);
printf("Enter Computer:\n");
scanf("%d", &p1-&computer);
stu *cindata() {
stu *p1, *p2;
int i = 1;
p1 = (stu *)malloc(sizeof(stu));
head = p1;
while(i) {
printf("Do you Want to Continue?yes or no");
ch = getchar();
ch = getchar();
if(ch == 'n' || ch == 'N') {
p1-&next = NULL;
p1 = (stu *)malloc(sizeof(stu));
p2-&next = p1;
return(p1-&next);
void lookdata(stu *p1) {
while(p1 != NULL) {
printf("Num:%d\t", p1-&num);
printf("Name:%s\t", p1-&name);
printf("Sex:%s\t", p1-&sex);
printf("\n");
printf("Chinese:%d\t", p1-&chinese);
printf("Math:%d\t", p1-&mathematic);
printf("English:%d\t", p1-&english);
printf("Computer:%d\t", p1-&computer);
printf("\n");
void insert(stu *p2) {
stu *p1, *p3;
int i = 1;
p3 = (stu *)malloc(sizeof(stu));
while(i) {
printf("Enter again?yes or no");
ch = getchar();
ch = getchar();
if(ch == 'n' || ch == 'N') {
p3-&next = NULL;
while(p1 != NULL)
p3 = (stu *)malloc(sizeof(stu));
p1-&next = p3;
find(stu *p2) {
char name[20];
int b = 0;
printf("Enter the name of the student you want to find:");
scanf("%s", name);
while(p2 != NULL) {
if(strcmp(name, p2-&name) == 0) {
printf("The data you want has be found\n");
printf(" Name:%s\t", p2-&name);
printf("Num:%d\t", p2-&num);
printf("sex%s\t", p2-&sex);
printf("\n");
printf("Chinese:%d\t", p2-&chinese);
printf("Math:%d\t", p2-&mathematic);
printf("English:%d\t", p2-&english);
printf("Computer:%d\t", p2-&computer);
printf("\n");
} else if(b == 0)
printf("对不起,没有找到你要找的数据");
if(b == 1) {
printf("Find one\n");
printf("Not find\n");
void caverage(stu *p2) {
float max = 0.0, min = 200.0;
float sum = 0.0, aver = 0;
if(p1 == NULL)
printf("not data!");
for(i = 0; p1 != NULL; i++, p1 = p1-&next)
sum += p1-&
for(i = 0; p1 != NULL; i++, p1 = p1-&next)
if(max & p1-&chinese)
max = p1-&
for(i = 0; p1 != NULL; i++, p1 = p1-&next)
if(min & p1-&chinese)
min = p1-&
printf("Chinese Average:%f", aver);
printf("Chinese Max:%f", max);
printf("Chinese Min:%f", min);
void maverage(stu *p2) {
float max = 0.0, min = 200.0;
float sum = 0.0, aver = 0;
if(p1 == NULL)
printf("not data!");
for(i = 0; p1 != NULL; i++, p1 = p1-&next)
sum += p1-&
for(i = 0; p1 != NULL; i++, p1 = p1-&next)
if(max & p1-&mathematic)
max = p1-&
for(i = 0; p1 != NULL; i++, p1 = p1-&next)
if(min & p1-&mathematic)
min = p1-&
printf("Math Average:%f", aver);
printf("Math Max:%f", max);
printf("Math Min:%f", min);
void eaverage(stu *p2) {
float max = 0.0, min = 200.0;
float sum = 0.0, aver = 0;
if(p1 == NULL)
printf("not data!");
for(i = 0; p1 != NULL; i++, p1 = p1-&next)
sum += p1-&
for(i = 0; p1 != NULL; i++, p1 = p1-&next)
if(max & p1-&english)
max = p1-&
for(i = 0; p1 != NULL; i++, p1 = p1-&next)
if(min & p1-&english)
min = p1-&
printf("English avergre:%f", aver);
printf("English Max:%f", max);
printf("English Min:%f", min);
void comaverage(stu *p2) {
float max = 0.0, min = 200.0;
float sum = 0.0, aver = 0;
if(p1 == NULL)
printf("not data!");
for(i = 0; p1 != NULL; i++, p1 = p1-&next)
sum += p1-&
for(i = 0; p1 != NULL; i++, p1 = p1-&next)
if(max & p1-&computer)
max = p1-&
for(i = 0; p1 != NULL; i++, p1 = p1-&next)
if(min & p1-&computer)
min = p1-&
printf("Computer Averger:%f", aver);
printf("Computer Max:%f", max);
printf("Computer Min:%f", min);
update(stu *p2) {
char name[10];
int b = 0;
printf("Enter The Name");
scanf("%s", name);
while(p2 != NULL) {
if(strcmp(name, p2-&name) == 0) {
printf("Find you data\n");
scanf("Name:%s", p2-&name);
scanf("Num:%s", p2-&num);
scanf("Sex:%s", p2-&sex);
scanf("Chinese:%d", p2-&chinese);
scanf("Math:%d", p2-&mathematic);
scanf("english:%d", p2-&english);
scanf("Computer:%d", p2-&computer);
printf("Success!");
} else if(b == 0)
printf("Sorry not Find data!");
if(b == 0) {
printf("Sorry not Find data!");
printf("Finish!");
save(stu *p2) {
char file[10];
printf("Enter file name");
scanf("%s", file);
fp = fopen(file, "w");
while(p2 != NULL) {
fprintf(fp, "%s", p2-&name);
fprintf(fp, "%s", p2-&num);
fprintf(fp, "%s", p2-&sex);
fprintf(fp, "%d", p2-&chinese);
fprintf(fp, "%d", p2-&mathematic);
fprintf(fp, "%d", p2-&english);
fprintf(fp, "%d", p2-&computer);
fclose(fp);
char password[7] = "123456";
void main() {
char s[8];
int flag = 0,
int n = 3;
printf("Enter password:\n");
scanf("%s", s);
if(!strcmp(s, password)) {
printf("PASS\n\n\n");
printf("Error Enter again:\n");
} while(n & 0);
if(!flag) {
printf("you have Enter 3 times!");
printf("~~~~~~~~~~\t\t\t~~~~~~~~~~~~\n");
printf("\t\tWelcom to the Mis\n");
printf("Author:-----\tClass:------\tNum:------\n");
printf("Adress:HG\n");
printf("%%%%%%%%%%%%%%%%%%%%%%%%%%%\n");
printf("\t\tEnter OP:\n");
printf("\n\n\n\n");
printf("==============\t\t==============\n");
printf("==============\t\t==============\n");
printf("\t\tEnter the MIS yes or no\n");
scanf("%d", &choice);
if(choice == 'n' || choice == 'N')
while(1) {
printf("Enter choice:");
scanf("%d", &i);
if(i & 1 || i & 8) {
printf("Enter num from 1 to 8:\n");
switch(i) {
p2 = cindata();
lookdata(head);
insert(p2);
find(head);
update(head);
save(head);
caverage(head);
maverage(head);
eaverage(head);
comaverage(head);
scanf("%d", &i);
想学习c/c++基础知识的同学注意啦,每天晚上九点至十点这个时间段在我们官网,有老师免费授课,有任何c/c++语言问题都可以带到我们的课堂。
因为现在是双11,报名的话还有一个非常大的优惠。活动1、报名C语言或者c++语言送数据库教程一套+英语特训班+c或者c++plus书籍
活动2、报名c/c++全套送数据库教程+java全套+英语特训班+英语基础全套
选择陈玲编程战队,立即送~
同时还送四重大礼,苹果大抽奖机会+学习券+年度盛典排名。以及赠送万元大礼包。堪称史上最强大的活动
扫一扫二维码, 瞬间带你进入学习圈
责任编辑:
声明:本文由入驻搜狐号的作者撰写,除搜狐官方账号外,观点仅代表作者本人,不代表搜狐立场。
今日搜狐热点

我要回帖

更多关于 c语言学生成绩录入 的文章

 

随机推荐