当前位置:三九宝宝网 → 宝宝教育 → 教学论文 → 正文

C语言编程题目学生成绩记录簿设计

更新:12-25 整理:39baobao.com
字体:

[C语言编程题题目描述使用冒泡排序法对数组元素从小到大进行排序]#include "stdafx.h" #include <iostream> #include <stdlib.h> using namespace std; void sort(int arry[],int counts)//冒泡排序法 { for(int i=0;i<counts;i++) { for(in...+阅读

#include#include#includestatic int num=0; void mainmenu(); typedef struct S1 Student; struct S1 { S1(){ no[9]='\0'; name[15]='\0'; sum=0.0; average=0.0; next=NULL; } char no[9]; /*学号*/ char name[15]; /*姓名*/ int score[4]; /*成绩*/ float sum; /*总分*/ float average; /*平均分*/ struct S1 *next; /*文本指针*/ }s[1000]; Student *head= NULL; int Comp(const void *p1,const void *p2) { return (*(S1*) p2).average >(*(S1*)p1).average ? 1 : -1; } void insert() { struct S1 *t=new S1(); struct S1 *p=new S1(); struct S1 *q=new S1(); p=head; printf("请输入学号:"); scanf("%s",&t->no); getchar(); printf("请输入姓名:"); scanf("%s",&t->name); printf("外语成绩:"); scanf("%d",&t->score[0]); printf("高数成绩:"); scanf("%d",&t->score[1]); printf("C语言成绩:"); scanf("%d",&t->score[2]); printf("物理成绩:"); scanf("%d",&t->score[3]); t->sum= float(t->score[0]+ t->score[1]+ t->score[2]+ t->score[3]); t->average= t->sum/4; t->next=NULL; if(head==NULL) { head=t; } else{ q=head->next; while(q!=NULL) { p=p->next; q=q->next; } p->next=t; } printf("恭喜你,输入成功\n"); } //********姓名查询函数*******// void namesearch() { char na[15]={'\0'}; printf("请输入你所要查询的姓名\n"); scanf("%s",&na); printf(" 查询结果\n"); printf("学号 姓名 外语 高数 C语言 物理\n"); struct S1 *q= head; bool w= false; while(q!= NULL) { if(strcmp((const char *)na,(const char *)q->name)==0) { w= true; printf("%4s %6s %6d %6d %6d %6d\n",q->no, q->name, q->score[0], q->score[1], q->score[2], q->score[3]); } q= q->next; } if(!w) printf("查无此人!\n"); } //********平均成绩查询函数**********// void scoresearch() { int j=0; struct S1* e= head; //Student* stu[1000]; while(e!=NULL) { s[j++]=*e; e=e->next; } qsort((void *)s,j,sizeof(s[0]),Comp); printf("学号 姓名 外语 高数 C语言 物理 平均分\n"); for(int i=0;iaverage>=90) printf("%4s %6s %6d %6d %6d %6d\\n",r->no, r->name, r->score[0], r->score[1], r->score[2], r->score[3]); r=r->next; } r= head; printf("\n80分以上:\n"); printf("学号 姓名 外语 高数 C语言 物理\n"); while(r!=NULL) { if(r->average>=80&r->averageno, r->name, r->score[0], r->score[1], r->score[2], r->score[3]); r=r->next; } r= head; printf("\n70分以上:\n"); printf("学号 姓名 外语 高数 C语言 物理\n"); while(r!=NULL) { if(r->average>=70&r->averageno, r->name, r->score[0], r->score[1], r->score[2], r->score[3]); r=r->next; } r= head; printf("\n60分以上:\n"); printf("学号 姓名 外语 高数 C语言 物理\n"); while(r!=NULL) { if(r->average>=60&r->averageno, r->name, r->score[0], r->score[1], r->score[2], r->score[3]); r=r->next; } r= head; printf("\n60分以下:\n"); printf("学号 姓名 外语 高数 C语言 物理\n"); while(r!=NULL) { if(r->averageno, r->name, r->score[0], r->score[1], r->score[2], r->score[3]); r=r->next; } } //*********输出各科平均成绩****// void aveprint() { struct S1 *k= head; printf("学号 姓名 平均成绩\n"); while(k!=NULL) { printf("%s %s %f\n\n",k->no, k->name,k->average); k=k->next; } } //********查询界面***********// void searchmenu() { printf("******欢迎进入学生成绩查询系统******\n\n\n"); printf(" 1.按姓名查询\n"); printf(" 2.按平均成绩查询(降序)\n"); printf(" 3.按分数段查询\n"); printf(" 4.输出各科平均成绩\n"); printf(" 5.返回上一层\n"); printf(" 6.退出\n"); int m; scanf("%d",&m); switch(m) { case 1: namesearch();break; case 2: scoresearch();break; case 3: sclsearch();break; case 4: aveprint();break; case 5: mainmenu();break; case 6: exit(0); break; default: break; } } //********删除函数*****// void del() { char delno[9]; struct S1 *i= head; struct S1 *y= head; printf("请输入所要删除学生的学号\n"); scanf("%s",&delno); if(strcmp((const char *)head->no,(const char *)delno)==0) head=NULL; else { if(head->next!=NULL) y=head->next; while(y!=NULL) { if(strcmp((const char *)y->no,(const char *)delno)==0) { i->next=y->next; delete y; y= i->next; }else{ i=y; y=y->next; } } } } //*******主界面**************// void mainmenu() { printf("******学生成绩管理系统******\n\n\n"); printf(" 1.成绩录入\n"); printf(" 2.成绩查询\n"); printf(...

本文地址:https://www.39baobao.com/show/29_15144.html

以上内容来自互联网,请自行判断内容的正确性。若本站收录的信息无意侵犯了贵司版权,请联系我们,我们会及时处理和回复,谢谢.

以下为关联文档:

大神求解C语言编程题冒泡排序和简单选择排序写出来#include #include #define ARR_LEN 255 /*数组长度上限*/ typedef struct stu { int stuID; /* 学号 */ float score; /* 成绩 */ } stu; /* 找出成绩最低的学生信息 */ stu...

C语言编程冒泡法排序问题#include<stdio.h> void main () { int i,j,k; int a[10]; printf("请输入10个数:\n"); for (i=0;i<=9;i++) scanf("%d",&a[i]); printf("\n"); for (j=0;j<=9;j++) for (i=0;i<9-j;i...

C语言编程题:移位函数既能循环左移又能循环右移1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 #include <stdio.h> #include <math.h> unsigned fun(unsigned num, intn) { if(n > 0) { //sizeof(unsigned)*8计算变量所...

api函数是什么?c语言编程中可以用api函数吗API英文全称Application Programming Interface,是操作系统留给应用程序的一个调用接口,应用程序通过调用操作系统的API而使操作系统去执行应用程序的命令(动作)。 其实早在DOS...

C语言编程排序问题冒泡法正确的程序如下: 正确的程序如下: #include "stdio.h" void main() { int i,j,t,a[8];/*变量K没用*/ for(i=0;i<8;i++) scanf("%d",&a[i]);/*%d后不能加空格*/ for(j=1;j<8;j++)/*...

09 C语言编程上机实验101.#include<iostream.h> void main() { int i=1;unsigned long int count=1; for(;i<=20;i++) { count=count*i; } cout<<"1-20的自然数之积为:"<<count<<endl; } 2.#include<i...

C语言编程二维数组在C语言中,有时我们需要函数的返回值为一个二维数组。这样外部函数接收到这个返回值之后,可以把接收到的二维数组当成矩阵操作(外部函数不可用普通的一级指针接收返回值,这样的...

c语言编程二分法解方程这段代码是求解方程f(x)=0在区间[-10,10]上的根的数值解。 方法的思想就是:一直选取区间中间的数值,如果发现中间的函数值与一侧函数值,异号,那么说明解在这个更小的区间中,采用e...

C语言制作成绩记录簿#include<stdio,h> #include<stdlib.h> struct node { char data;struct node *next;}; struct node *insert(struct node *h,char c) { struct node *p,*p1,*p2; p=(struct...