这个是我自己写的..我也在学习中,不足之处请谅解:#include <stdio.h>#include <stdlib.h>#include <string.h>#include <conio.h>void newinf(void);void showinf(void);void insertinf(void);void deleteinf(void);void saveinf(void);void infoinf(void);void sortinf(void); void searchinf(void);void menu(void);struct inf{ int number; char name[80]; int score; inf * prev,* next;};inf * head,* tail;int high,low,average;int total=0;void main(void){ system("cls"); system("color 1a"); system("title 成绩管理系统"); menu(); int choice; scanf("%d",&choice); system("cls"); switch(choice){ case 0: exit(0); break; case 1: newinf(); main(); break; case 2: searchinf(); main(); break; case 3: insertinf(); main(); break; case 4: deleteinf(); main(); break; case 5: sortinf(); main(); break; case 6: showinf(); main(); break; case 7: //数据统计 printf("共有学生%d人\n",total); system("pause"); main(); break; case 8: //保存 saveinf(); main(); break; }}void newinf(void){ inf * temp; temp=(inf *)malloc(sizeof(inf)); printf("请输入学号\n"); scanf("%d",&temp->number); printf("请输入姓名\n"); scanf("%s",&temp->name); printf("请输入成绩\n"); scanf("%d",&temp->score); temp->next=NULL; if(head==NULL){ temp->prev=NULL; head=temp; tail=temp; } else{ tail->next=temp; temp->prev=tail; tail=temp; } total++;}void showinf(void){ inf * temp; temp=head; if(head==NULL){ printf("数据不存在\n"); system("pause"); main(); } do{ printf("学号%d 姓名%s 成绩%d\n",temp->number,temp->name,temp->score); temp=temp->next; } while(temp!=NULL); system("pause");}void insertinf(void){ if(head==NULL){ printf("数据不存在\n无法插入,请选择 1.增加记录\n"); system("pause"); main(); } int input,count=0; inf * temp,*search,*temp2; printf("请输入在第几条后插入\n"); scanf("%d",&input); while(input>total||input<=0){ printf("输入错误请重新输入"); scanf("%d",&input); }; temp=(inf *)malloc(sizeof(inf)); printf("请输入学号\n"); scanf("%d",&temp->number); printf("请输入姓名\n"); scanf("%s",&temp->name); printf("请输入成绩\n"); scanf("%d",&temp->score); search=head; while(search!=NULL){ count++; if(input==count){ temp2=search->next; search->next=temp; temp->prev=search; temp->next=temp2; if(temp2!=NULL){ temp2->prev=temp; } } search=search->next; }; total++;}void deleteinf(void){ if(head==NULL){printf("数据不存在!\n");<br> system("pause"); <br> main();} int input,count=0; inf * temp,*temp2,*search; printf("请输入删除第几条\n"); scanf("%d",&input); while(input>total||input<=0){ printf("输入错误请重新输入"); scanf("%d",&input);}; search=head; while(search!=NULL){count++;<br> if(input==count){if(count==1){head=search->next;} temp=search->prev; temp2=search->next; if(temp!=NULL){ temp->next=temp2;} if(temp2!=NULL){ temp2->prev=temp;} free(search);} search=search->next;}; total--;}void searchinf(void){if(head==NULL){<br> printf("数据不存在!\n");<br> system("pause"); <br> main();} inf * temp; int choice,number,score; char name[80]; temp=head; printf("请选择查找方式:\n1.按学号查找\n2.按姓名查找\n3.按成绩查找\n"); scanf("%d",&choice); printf("请输入对应信息\n"); switch(choice){case 1:<br> scanf("%d",&number);<br> while(temp!=NULL){if(temp->number==number){printf("学号%d 姓名%s 成绩%d\n",temp->number,temp->name,temp->score);} temp=temp->next;}; break; case 2: getchar(); gets(name); while(temp!=NULL){if(strcmp(temp->name,name)==0){printf("学号%d 姓名%s 成绩%d\n",temp->number,temp->name,temp->score);} temp=temp->next;}; break; case 3: scanf("%d",&score); while(temp!=NULL){ if(temp->score==score){printf("学号%d 姓名%s 成绩%d\n",temp->number,temp->name,temp->score);} temp=temp->next;}; break;} system("pause"); }void sortinf(void){inf *temp,*temp2;<br> int number,score;<br> char name[80];<br> temp=head;<br> if(head==NULL){<br> printf("数据不存在\n");<br> system("pause"); <br> main();} for(int i=1;i<=total*total;i++){ if(temp->next==NULL){temp=head;<br> continue;} temp2=temp->next; if(temp->number>temp2->number){ name=temp->name; score=temp->score; number=temp->number; temp->name=temp2->name; temp->score=temp2->score; temp->number=temp2->number; temp2->name=name; temp2->score=score; temp2->number=number;} temp=temp->next;} printf("排序完成\n"); system("pause"); }void menu(void){ system("cls"); printf(" ********************************************************************\n"); printf(" * *\n"); printf(" * *\n"); printf(" * *\n"); printf(" * 成绩管理系统 *\n"); printf(" * *\n"); printf(" * *\n"); printf(" * *\n"); printf(" ********************************************************************\n"); printf("1.增加记录\n2.查找记录\n3.插入记录\n4.删除记录\n5.记录排序\n6.查看记录\n7.数据统计\n8.保存记录\n0.退出\n");}void saveinf(void){ printf("请注意,保存信息将覆盖原文件!\n确认请输入y:\n"); char a; getchar(); scanf("%c",&a); if(a=='y'||a=='Y') { FILE *file; inf *temp; file=fopen("save.txt","w+"); temp=head; while(temp!=NULL) { fprintf(file,"学号:%d 姓名:%s 成绩:%d\n",temp->number,temp->name,temp->score); temp=temp->next; } printf("保存成功!"); system("pause"); main(); } else { main(); }}
数据结构课程设计 学生成绩查询系统
最佳答案
大家都在看
发布时间:2024-12-20
在计算机科学中,尤其是在数据结构领域,Pop函数是一个常见的操作,它主要用于处理栈(Stack)这种数据结构。所谓的栈,是一种遵循后进先出(Last In First Out, LIFO)原则的数据结构。本文将探讨Pop函数在栈中的作用及其。
发布时间:2024-12-20
tuple函数在Python中是一个非常有用的内置函数,它可以将各种数据类型转换成不可变的元组类型。简单来说,tuple函数的主要效果是创建一个不可变的序列,这对于需要确保数据不可变性的场景尤为适用。在Python中,元组是一种常用的数据。
发布时间:2024-12-20
C语言中的向量是一个专业术语,它不同于我们日常生活中所说的“向量”,在计算机科学和编程语言中,向量通常指的是一段连续的内存空间,用于存储同类型的数据元素。本文将详细解释C语言中向量的概念及其应用。首先,向量在C语言中通常通过数组来实现。数。
发布时间:2024-12-20
在程序设计中,插入函数的应用十分广泛,它能够提高代码的复用性和效率。本文将探讨如何巧妙地匹配插入函数,并详细阐述其原理与应用。首先,我们需要明确插入函数的概念。插入函数主要是指在数据结构中,根据一定的规则将元素插入到合适位置的过程。常见的。
发布时间:2024-12-19
在计算机科学中,数据结构是组织和存储数据的方式,它对程序的效率有着至关重要的影响。函数系数作为数据结构中的一个重要概念,关系到数据操作的时间复杂度和空间复杂度。本文将带你深入理解数据结构中的函数系数。函数系数通常指的是在分析数据结构性能时。
发布时间:2024-12-14
在编程中,栈是一种重要的数据结构,它遵循后进先出(LIFO)的原则。本文将总结如何编写主函数来实现栈的基本操作,包括初始化、入栈、出栈和查看栈顶元素等。首先,我们需要定义一个栈的数据结构。通常情况下,我们可以使用数组或者链表来实现栈。以下。
发布时间:2024-12-14
保险小编帮您解答,更多疑问可在线答疑。职工个人帐户、养老金查询版:查询使用说明:权一、本查询系统适用于在市本级(郑州市社保局)企业参保、离(退)休职工,(在省统筹机构或各区(县)级参保职工无法使用本系统)。二、身份证号码和职工姓名请以每年我。
发布时间:2024-12-14
#include "stdio.h"#include "time.h"#define MAXNUM 5 //停车场车位数 #define PRICE 2.0 //每小时收费 typedef struct car //定义车的结构体{。
发布时间:2024-12-11 06:17
从即日起到2020年2月9日24时止,对广州市公共交通(含城市轨道交通、公共汽〔电〕车、水上巴士)运营组织进行调整。现将有关事项通告如下:一、城市轨道交通(一)地铁线网各线路首末班发车时间不变,原则上采用行车间隔约10分钟的运行图(14号。
发布时间:2024-10-30 11:08
第一、小宝宝如果半夜突然哭个不停,有可能是肠绞痛,因为半岁以内的孩子都会出现这种情况,基本上一会儿就好了。可以给孩子热敷,顺时针的按摩一下腹部。第二、宝宝五。
发布时间:2024-10-29 22:42
黑头发黄皮肤,是中国人的标识相貌,一头乌黑的秀发常常让很多人为此痴迷。大家都知道一般人都是到老了的时候才会有白头发,但是,有的人却出现前额长白头发的现象,那。
发布时间:2024-10-29 17:38
1、松江大学城(松江区);2、杨浦大学园区(杨浦区);3、闵行大学园区(闵行区);4、奉贤大学园区(奉贤区);5、临港大学园区(浦东新区);6、金桥大学园区(浦东新区);7、南汇大学园区(浦东新区);8、上海大。
发布时间:2024-10-30 05:32
现在很多女性不但追求漂亮的面部形象,同时对于自己皮肤的质量也特别关注,想让自己的皮肤更白一些,这样才能更好的让自己显得年轻,显得有女人的味道,下面就为很多想。