当前位置:首页 » 课程大全 » c学生管理系统课程设计报告

c学生管理系统课程设计报告

发布时间: 2020-11-27 18:29:31

❶ C语言课程设计----学生学籍管理系统

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

struct stud
{
long num;
char name[20];
double score;
};

typedef struct stucode
{
struct stud student ;
struct stucode *next;
}L;

void menu();
void createlist(struct stucode **r);
void out(struct stucode *r);
void search1(struct stucode *r);
void search2(struct stucode *r);
void del(struct stucode **r);
void insert(struct stucode **r);
void sort(struct stucode **r);

void main()
{
char choose;
int flag=1;
struct stucode *r=NULL;

while(flag)
{
system("cls");
menu();
choose=getchar();
switch(choose)
{
case '1':
createlist(&r);
out(r);
printf("Testing function 1\nPress any key to continue\n");
getchar();
getchar();
break;

case '2':
search1(r);
printf("Testing function 1\nPress any key to continue\n");
getchar();
getchar();
break;

case '3':
search2(r);
printf("Testing function 1\nPress any key to continue\n");
getchar();
getchar();
break;

case '4':
del(&r);
out(r);
printf("Testing function 1\nPress any key to continue\n");
getchar();
getchar();
break;

case '5':
insert(&r);
out(r);
printf("Testing function 1\nPress any key to continue\n");
getchar();
getchar();
break;

case '6':
sort(&r);
out(r);
printf("Testing function 1\nPress any key to continue\n");
getchar();
getchar();
break;

case '7':
out(r);
printf("Testing function 7\nPress any key to continue\n");
getchar();
getchar();
break;

case '0':
flag=0;
printf("The end.\n");
break;

default: printf("\nWrong Selection!(选择错误,请重选!)\n");getchar();getchar();
}
}
}

void createlist(struct stucode **r)
{
struct stucode *p,*t;
long n;
char a[20];
double s;
if(*r) *r=NULL;
printf(" \n请输入:\n 学号(请按学号升序排列) 姓名 分数 (若要结束请输入三个为零)\n");
scanf("%ld%s%lf",&n,a,&s);
if(n==0) return;

p=(L *)malloc(sizeof(L));
p->student.num=n;
strcpy(p->student.name,a);
p->student.score=s;
p->next=NULL;
*r=p;

scanf("%ld%s%lf",&n,a,&s);

while(n)
{
t=p;
p=(L *)malloc(sizeof(L));
p->student.num=n;
strcpy(p->student.name,a);
p->student.score=s;
p->next=NULL;
t->next=p;
scanf("%ld%s%lf",&n,a,&s);
}
}

void search1(struct stucode *r)
{
long x;
if(!r)
{
printf("没有学生信息可查询!\n");
return ;
}
printf(" 请输入要查询的学生信息的学生学号:\n");
scanf("%ld",&x);
while(r&&r->student.num!=x)
r=r->next;
if(r==NULL)
printf("Error! No such student !\n");
else
printf("%ld %s %.2lf\n",r->student.num,r->student.name,r->student.score);
}
void search2(struct stucode *r)
{
char m[20];
if(!r)
{
printf("没有学生信息可查询!\n");
return ;
}

printf(" 请输入要查询的学生信息的学生姓名:\n");
scanf("%s",m);
while(r&&strcmp(r->student.name,m))
r=r->next;
if(r==NULL)
printf("Error! No such student !\n");
else
printf("%ld %s %.2lf\n",r->student.num,r->student.name,r->student.score);
}
void del(struct stucode **r)
{
long k;
struct stucode *p=*r,*t;
if(!(*r))
{
printf("没有学生信息可删除 !\n");
return ;
}
printf(" 请输入要删除的学生信息的学生学号:\n");
scanf("%ld",&k);

if(p->student.num==k)
*r=(*r)->next,free(p);
else
{
while(p->next&&p->next->student.num!=k)
p=p->next;
if(p->next==NULL)
printf("Error! No such student !\n");
else
{
t=p->next;
p->next=p->next->next;
free(t);
}
}

}
void insert(struct stucode **r)
{
long n;
char a[20];
double s;

L *p,*t,*k;
printf(" 请输入要插入的学生信息的学生学号 姓名 分数:\n");
scanf("%ld%s%lf",&n,a,&s);
p=(L *)malloc(sizeof(L));
p->student.num=n;
p->student.score=s;
strcpy(p->student.name,a);
if(!(*r))
{
*r=p;
(*r)->next=NULL;
return ;
}
if(p->student.num<(*r)->student.num)
p->next=(*r),(*r)=p;
else
{
t=*r;
k=t;
while(t->next&&t->next->student.num<=p->student.num)
t=t->next;
p->next=t->next;
t->next=p;
*r=k;
}
}

void sort(struct stucode **r)
{
struct stucode *t,*p,*q,*z;
if(!r)
{
printf("没有学生信息可排序!\n");
return ;
}

if(!(*r)||!(*r)->next)
return;

t=*r;
p=t->next;
t->next=NULL;
while(p)
{
q=p->next;
if(p->student.score>t->student.score)
{
p->next=t;
t=p;
}
else
{
z=t;
while(z->next&&z->next->student.score>=p->student.score)
z=z->next;
p->next=z->next;
z->next=p;
}

p=q;
}
*r=t;

}
void out(struct stucode *r)
{
printf("\n\n");
if(!r)
{
printf("没有学生信息可输出!\n");
return ;
}

while(r)
{
printf("%ld %s %.2lf\n",r->student.num,r->student.name,r->student.score);
r=r->next;
}
printf("\n\n");
}
void menu()
{
printf("\n 学生信息管理系统\n");
printf("\n 菜单\n\n");
printf("\n 1建立链表并显示\n");
printf("\n 2查找某学号的学生信息\n");
printf("\n 3查找某姓名的学生信息\n");
printf("\n 4删除某学号的学生信息\n");
printf("\n 5插入新的学生信息\n");
printf("\n 6按分数降序排列输出\n");
printf("\n 7输出\n");
printf("\n 0退出\n");

printf("\n 请选择您要执行的选项:\n");
}

❷ c语言学生成绩管理系统课程设计

/* Note:Your choice is C IDE */
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h>
#define N 100

struct student
{
char num[10];
char name[10];
char tel[11];
};

/* 以下是函数原型说明,被调函数的定义在主调函数后面时,要加此部分 */
void myprint();
void mycreate();
void mydisplay();
void mysearch();
/* sch_num与sch_name函数被mysearch调用 */
void sch_num(FILE *fp);
void sch_name(FILE *fp);
void mymodify();
void myadd();
void mydelete();
/* del_num与del_name函数被mydelete调用 */
void del_num(FILE *fp);
void del_name(FILE *fp);
void mysort();
/* sort_num与sort_name函数被mysort调用 */
void sort_num();
void sort_name();

void main()
{
char choose,yes_no;

do
{
myprint(); /* 显示主菜单 */
printf(" ");
choose=getch();
switch(choose)
{
case '1': mycreate(); break; /* 创建 */
case '2': mydisplay(); break; /* 显示 */
case '3': mysearch(); break; /* 查询 */
case '4': mymodify(); break; /* 修改 */
case '5': myadd(); break; /* 添加 */
case '6': mydelete(); break; /* 删除 */
case '7': mysort(); break; /* 排序 */
case '0': break;
default:printf("\n %c为非法选项!\n",choose);
}
if(choose=='0')
break;
printf("\n 要继续选择吗(Y/N)?\n");
do
{
yes_no=getch();
}while(yes_no!='Y'&&yes_no!='y'&&yes_no!='N'&&yes_no!='n');
}while(yes_no!='Y'||yes_no!='y');
}

void myprint() /* 显示菜单界面 */
{
printf("\n\n\n\n\n\n\n\n");
printf(" |----------------------------|\n");
printf(" | 请输入选项编号(0-7): |\n");
printf(" |----------------------------|\n");
printf(" | 1--创建信息管理系统 |\n");
printf(" | 2--显示信息管理系统 |\n");
printf(" | 3--查询信息管理系统 |\n");
printf(" | 4--修改信息管理系统 |\n");
printf(" | 5--添加信息管理系统 |\n");
printf(" | 6--删除信息管理系统 |\n");
printf(" | 7--排序信息管理系统 |\n");
printf(" | 0--退出 |\n");
printf(" |----------------------------|\n");
}

/* 定义创建信息管理系统的函数 */
void mycreate()
{
int i=1;
struct student temp;
FILE *fp;

fp=fopen("d:\\lbh\\guanli.dat","w");
if(fp==NULL)
{
printf("\n 打开文件失败!\n");
return;
}

printf("\n 请输入第1个记录:\n");
printf(" 学号(用#结束输入):");
do
{
gets(temp.num);
}while(strcmp(temp.num,"")==0);
printf(" 姓名(用#结束输入):");
gets(temp.name);
printf(" 电话号码(用#结束输入):");
gets(temp.tel);
while(temp.num[0]!='#'&&temp.name[0]!='#'&&temp.tel[0]!='#')
{
fprintf(fp,"%23s%15s%15s\n",temp.num,temp.name,temp.tel);
i++;

printf("\n 请输入第%d个记录:\n",i);
printf(" 学号(用#结束输入):");
do
{
gets(temp.num);
}while(strcmp(temp.num,"")==0);
printf(" 姓名(用#结束输入):");
gets(temp.name);
printf(" 电话号码(用#结束输入):");
gets(temp.tel);
}
fclose(fp);
}

/* 定义显示信息管理系统的函数 */
void mydisplay()
{
int n=0;
struct student temp;
FILE *fp;

fp=fopen("d:\\lbh\\guanli.dat","r+");
if(fp==NULL)
{
printf("\n 打开文件失败!\n");
return;
}

// clrscr();
printf(" 学号 姓名 电话号码\n");
while(feof(fp)==0)
{
fscanf(fp,"%23s%15s%15s\n",&temp.num,&temp.name,&temp.tel);
printf("%23s%15s%15s\n",temp.num,temp.name,temp.tel);
n++;
}
if(n==0)
printf("\n 文件中无记录!\n");
else
printf("\n 文件中共有%d个记录!\n",n);
fclose(fp);
}

/* 定义查询信息管理系统的函数 */
void mysearch()
{
char c;
FILE *fp;

fp=fopen("d:\\lbh\\guanli.dat","r+");
if(fp==NULL)
{
printf("\n 打开文件失败!\n");
return;
}

printf("\n 按学号查询(h),还是按姓名查询(m)?");
c=getch();
if(c=='h'||c=='H')
sch_num(fp); /* 按学号查询 */
if(c=='m'||c=='M')
sch_name(fp); /* 按姓名查询 */
else
printf("\n 非法字符!\n");
fclose(fp);
}

/* 定义按学号查询信息管理系统的函数 */
void sch_num(FILE *fp)
{
int flag=0,n=0;
char tempnum[10];
struct student temp;

printf("\n 请输入要查询记录的学号:");
gets(tempnum);
while(feof(fp)==0)
{
fscanf(fp,"%23s%15s%15s\n",&temp.num,&temp.name,&temp.tel);
if(strcmp(tempnum,temp.num)==0)
{
if(flag==0)
printf(" 学号 姓名 电话号码\n");
printf("%23s%15s%15s\n",temp.num,temp.name,temp.tel);
flag=1;
}
n++;
}
if(n==0)
printf("\n 文件中无记录!\n");
else
if(flag==0)
printf("\n 文件中无此人!\n");
}

/* 定义按姓名查询信息管理系统的函数 */
void sch_name(FILE *fp)
{
int flag=0,n=0;
char tempname[10];
struct student temp;

printf("\n 请输入要查询记录的姓名:");
gets(tempname);
while(feof(fp)==0)
{
fscanf(fp,"%23s%15s%15s\n",&temp.num,&temp.name,&temp.tel);
if(strcmp(tempname,temp.name)==0)
{
if(flag==0)
printf(" 学号 姓名 电话号码\n");
printf("%23s%15s%15s\n",temp.num,temp.name,temp.tel);
flag=1;
}
n++;
}
if(n==0)
printf("\n 文件中无记录!\n");
else
if(flag==0)
printf("\n 文件中无此人!\n");
}

/* 定义修改信息管理系统的函数 */
void mymodify()
{
char c;
int n=0;
struct student *find,temp,record[100],*p; /* 最多100个记录 */
FILE *fp;

fp=fopen("d:\\lbh\\guanli.dat","r+");
if(fp==NULL)
{
printf("\n 打开文件失败!\n");
return;
}

p=record;
while(feof(fp)==0)
{
fscanf(fp,"%23s%15s%15s\n",p->num,p->name,p->tel);
p++;
n++;
}
fclose(fp);

if(n==0)
{
printf("\n 文件中无记录!\n");
return;
}
printf("\n 请输入要修改记录的学号:");
gets(temp.num);
for(p=record;p<record+n;p++)
if(strcmp(temp.num,p->num)==0)
{
find=p; /* find记住修改记录的位置 */
break;
}
if(p==record+n)
{
printf("\n 无此人!\n");
return;
}
do
{
printf("\n 请输入正确的学号:");
do
{
gets(temp.num);
}while(strcmp(temp.num,"")==0);
printf(" 请输入正确的姓名:");
gets(temp.name);
printf(" 请输入正确的电话号码:");
gets(temp.tel);
for(p=record;p<record+n;p++)
if((strcmp(temp.num,p->num)==0)&&(p!=find))
{
printf("\n 学号重复,要重新输入吗(Y/N)?");
do
{
c=getch();
}while(c!='Y'&&c!='y'&&c!='N'&&c!='n');
putchar('\n');
break;
}
if(p==record+n)
{
*find=temp; /* find指向需要修改记录的位置 */
break;
}
}while(c=='Y'||c=='y');

fp=fopen("d:\\lbh\\guanli.dat","r+");
if(fp==NULL)
{
printf("\n 打开文件失败!\n");
return;
}
for(p=record;p<record+n;p++)
fprintf(fp,"%23s%15s%15s\n",p->num,p->name,p->tel);
fclose(fp);
}

/* 定义添加信息管理系统的函数 */
void myadd()
{
char c;
int n=0;
struct student temp,record[N],*p;
FILE *fp;

fp=fopen("d:\\lbh\\guanli.dat","r+");
if(fp==NULL)
{
printf("\n 打开文件失败!\n");
return;
}

p=record;
while(feof(fp)==0)
{
fscanf(fp,"%23s%15s%15s\n",p->num,p->name,p->tel);
p++;
n++;
}
fclose(fp);

do
{
printf("\n 请输入新记录的学号:");
do
{
gets(temp.num);
}while(strcmp(temp.num,"")==0);
printf(" 请输入新记录的姓名:");
gets(temp.name);
printf(" 请输入新记录的电话号码:");
gets(temp.tel);
for(p=record;p<record+n;p++)
if(strcmp(temp.num,p->num)==0)
{
printf("\n 学号重复,要重新输入吗(Y/N)?");
do
{
c=getch();
}while(c!='Y'&&c!='y'&&c!='N'&&c!='n');
putchar('\n');
break;
}
if(p==record+n)
{
*p=temp;
break;
}
}while(c=='Y'||c=='y');

fp=fopen("d:\\lbh\\guanli.dat","r+");
if(fp==NULL)
{
printf("\n 打开文件失败!\n");
return;
}
for(p=record;p<record+n+1;p++)
fprintf(fp,"%23s%15s%15s\n",p->num,p->name,p->tel);
fclose(fp);
}

/* 定义删除信息管理系统的函数 */
void mydelete()
{
char c;
FILE *fp;

fp=fopen("d:\\lbh\\guanli.dat","r+");
if(fp==NULL)
{
printf("\n 打开文件失败!\n");
return;
}

printf("\n 按学号删除(h),还是按姓名删除(m)?");
c=getch();
if(c=='h'||c=='H')
del_num(fp); /* 按学号删除 */
if(c=='m'||c=='M')
del_name(fp); /* 按姓名删 */
else
printf("\n 非法字符!\n");
fclose(fp);
}

/* 定义按学号删除信息管理系统的函数 */
void del_num(FILE *fp)
{
int n=0;
char tempnum[10];
struct student record[N],*p,*k;

p=record;
while(feof(fp)==0)
{
fscanf(fp,"%23s%15s%15s\n",p->num,p->name,p->tel);
p++;
n++;
}
fclose(fp);

printf("\n 请输入要删除记录的学号:");
gets(tempnum);

for(k=record;k<record+n;k++)
if(strcmp(tempnum,k->num)==0)
break; /* 找到要删记录结束循环 */
if(k<record+n) /* 提前结束循环,说明找到人 */
for(p=k;p<k+n-1;p++) /* 向左移一位,相当于删除记录 */
*p=*(p+1);
else
printf("\n 无此人!\n");

fp=fopen("d:\\lbh\\guanli.dat","w");
if(fp==NULL)
{
printf("\n 打开文件失败!\n");
return;
}

for(p=record;p<record+n-1;p++)
fprintf(fp,"%23s%15s%15s\n",p->num,p->name,p->tel);
}

/* 定义按姓名删除信息管理系统的函数 */
void del_name(FILE *fp)
{
int n=0;
char tempname[10];
struct student record[N],*p,*k;

p=record;
while(feof(fp)==0)
{
fscanf(fp,"%23s%15s%15s\n",p->num,p->name,p->tel);
p++;
n++;
}
fclose(fp);

printf("\n 请输入要删除记录的姓名:");
gets(tempname);

for(k=record;k<record+n;k++)
if(strcmp(tempname,k->name)==0)
break; /* 找到要删记录结束循环 */
if(k<record+n) /* 提前结束循环,说明找到人 */
for(p=k;p<k+n-1;p++) /* 向左移一位,相当于删除记录 */
*p=*(p+1);
else
printf("\n 无此人!\n");

fp=fopen("d:\\lbh\\guanli.dat","w");
if(fp==NULL)
{
printf("\n 打开文件失败!\n");
return;
}

for(p=record;p<record+n-1;p++)
fprintf(fp,"%23s%15s%15s\n",p->num,p->name,p->tel);
}

/* 定义排序信息管理系统的函数 */
void mysort()
{
char c;
FILE *fp;

fp=fopen("d:\\lbh\\guanli.dat","r+");
if(fp==NULL)
{
printf("\n 打开文件失败!\n");
return;
}
fclose(fp);

printf("\n 按学号排序(h),还是按姓名排序(m)?");
c=getch();
if(c=='h'||c=='H')
sort_num(); /* 按学号排序 */
if(c=='m'||c=='M')
sort_name(); /* 按姓名排序 */
else
printf("\n 非法字符!\n");
}

/* 定义按学号排序信息管理系统的函数 */
void sort_num()
{
int i,j,k,n=0;
char c;
struct student record[N],*p,temp;
FILE *fp;

fp=fopen("d:\\lbh\\guanli.dat","r");
if(fp==NULL)
{
printf("\n 打开文件失败!\n");
return;
}

p=record;
while(feof(fp)==0)
{
fscanf(fp,"%23s%15s%15s\n",p->num,p->name,p->tel);
p++;
n++;
}
fclose(fp);

printf("\n 按升序(s),还是按降序(j)?");
c=getch();
if(c=='s'||c=='S') /* 按学号的升序排列 */
for(i=0;i<n-1;i++) /* 选择法排序 */
{
k=i;
for(j=i+1;j<n;j++)
if(strcmp((p+k)->num,(p+j)->num)>0)
k=j;
temp=*(p+k);
*(p+k)=*(p+i);
*(p+i)=temp;
}
else
if(c=='j'||c=='J') /* 按学号的降序排列 */
for(i=0;i<n-1;i++) /* 选择法排序 */
{
k=i;
for(j=i+1;j<n;j++)
if(strcmp((p+k)->num,(p+j)->num)<0)
k=j;
temp=*(p+k);
*(p+k)=*(p+i);
*(p+i)=temp;
}
else
{
printf("\n 非法字符!\n");
return;
}

fp=fopen("d:\\lbh\\guanli.dat","w");
if(fp==NULL)
{
printf("\n 打开文件失败!\n");
return;
}

for(p=record;p<record+n;p++)
{
fprintf(fp,"%23s%15s%15s\n",p->num,p->name,p->tel);
printf("%23s%15s%15s\n",p->num,p->name,p->tel);
}
fclose(fp);
}

/* 定义按姓名排序信息管理系统的函数 */
void sort_name()
{
int i,j,k,n=0;
char c;
struct student record[N],*p,temp;
FILE *fp;

fp=fopen("d:\\lbh\\guanli.dat","r+");
if(fp==NULL)
{
printf("\n 打开文件失败!\n");
return;
}

p=record;
while(feof(fp)==0)
{
fscanf(fp,"%23s%15s%15s\n",p->num,p->name,p->tel);
p++;
n++;
}
fclose(fp);

printf("\n 按升序(s),还是按降序(j)?");
c=getch();
if(c=='s'||c=='S') /* 按姓名的升序排列 */
for(i=0;i<n-1;i++) /* 选择法排序 */
{
k=i;
for(j=i+1;j<n;j++)
if(strcmp((p+k)->name,(p+j)->name)>0)
k=j;
temp=*(p+k);
*(p+k)=*(p+i);
*(p+i)=temp;
}
else
if(c=='j'||c=='J') /* 按姓名的降序排列 */
for(i=0;i<n-1;i++) /* 选择法排序 */
{
k=i;
for(j=i+1;j<n;j++)
if(strcmp((p+k)->name,(p+j)->name)<0)
k=j;
temp=*(p+k);
*(p+k)=*(p+i);
*(p+i)=temp;
}
else
{
printf("\n 非法字符!\n");
return;
}

fp=fopen("d:\\lbh\\guanli.dat","w");
if(fp==NULL)
{
printf("\n 打开文件失败!\n");
return;
}

for(p=record;p<record+n;p++)
fprintf(fp,"%23s%15s%15s\n",p->num,p->name,p->tel);
fclose(fp);
}

❸ C语言课程设计,学生信息管理系统

http://wenku..com/view/f494325858fafab069dc02c5
修改一下就好了,我去年编的。

❹ c语言课程设计之学生成绩管理系统设计的程序

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

#define MAX 80
#define max 3

int nu=0;

struct classname
{
char name[20];
float score;
};

struct student
{
char no[20];
char std_name[20];
struct classname km[max];
float ave;
float sum;
int save;
};

struct student stu[MAX],*p;

void chushi()
{
int i,j;
for(i=0;i<MAX;i++)
{
for(j=0;j<20;j++)
{
stu[i].no[j]=NULL;
stu[i].std_name[j]=NULL;
stu[i].km[j].name[j]=NULL;
stu[i].km[j].score=0;
}
stu[i].ave=0;
stu[i].sum=0;
stu[i].save=0;
}
}

void av()/*求平均值*/
{
int i;
for(i=0;i<nu;i++)
{
stu[i].sum=stu[i].km[1].score+stu[i].km[2].score+stu[i].km[3].score;
stu[i].ave=stu[i].sum/3;
}
}

void first_check()
{
FILE *p;
int i,j;
struct classname frist[max];
for(i=0;i<max;i++)
{
for(j=0;j<20;j++)
frist[i].name[j]=NULL;
frist[i].score=0;
}
if ((p=fopen("c:\\kemu.txt","r"))==NULL)
{
printf("您好,欢迎使用学生成绩管理系统\n\n因为您是第一次使用,请输入科目名称(三科)\n\n");
p=fopen("c:\\kemu.txt","w");
printf("输入课程1名称:");
scanf("%s",frist[0].name);
fprintf(p,"%s\n",frist[0].name);
printf("输入课程2名称:");
scanf("%s",frist[1].name);
fprintf(p,"%s\n",frist[1].name);
printf("输入课程3名称:");
scanf("%s",frist[2].name);
fprintf(p,"%s\n",frist[2].name);
}
system("cls");
fclose(p);
}

void save_nu()
{
FILE *p;
p=fopen("c:\\renshu.txt","w");
fprintf(p,"%d\n",nu);
fclose(p);
}

void Save_add(int n)
{
FILE * p;
int i;
p= fopen("c:\\cheji.txt","at");
if (p == NULL)
{
printf("文件不存在!!\n");
exit(0);
}
save_nu();
for (i = 0;i<n;i++)
if(stu[i].save==1)
{
stu[i].sum=stu[i].km[1].score+stu[i].km[2].score+stu[i].km[3].score;
stu[i].ave=stu[i].sum/3;
fprintf(p,"%s %s %2.1f %2.1f %2.1f %2.1f %2.1f \n",stu[i].no,stu[i].std_name,stu[i].km[0].score,stu[i].km[1].score,stu[i].km[2].score,stu[i].ave,stu[i].sum);
}
fclose(p);
}

void Save()
{
FILE * p;
int i;
p= fopen("c:\\cheji.txt","w");
if (p == NULL)
{
printf("文件不存在!!\n");
exit(0);
}
save_nu();
for (i = 0;i<nu;i++)
if(stu[i].save==1)
{
av();
fprintf(p,"%s %s %2.1f %2.1f %2.1f %2.1f %2.1f \n",stu[i].no,stu[i].std_name,stu[i].km[0].score,stu[i].km[1].score,stu[i].km[2].score,stu[i].ave,stu[i].sum);
}
fclose(p);
}

int read_nu()
{
FILE *p;
char ch,s[10]={'\0'};
int i=0;
p=fopen("c:\\renshu.txt","r");
if(p==NULL)
{
save_nu();
return 0;
}
ch=fgetc(p);
while(ch!='\n')
{
s[i]=ch;
ch=fgetc(p);
i++;
}
nu=atoi(s);
fclose(p);
return 0;
}

int read_km()
{
FILE *p;
int i,j=0;
char s[20]={'\0'};
chushi();
p=fopen("c:\\kemu.txt","r");
if(p==NULL)
{
printf("ERROR read_km");
return 0;
}
fgets(s,20,p);
while(strlen(s)!=0)
{
for(i=0;i<strlen(s);i++)
if(s[i]==10)
{
s[i]='\0';
break;
}
for(i=0;i<=nu;i++)
strcpy(stu[i].km[j].name,s);
for(i=0;i<20;i++)
s[i]='\0';
j++;
fgets(s,20,p);
}
}

void read()
{
FILE *p;
int i,j,n,k,z=0;
char s[50]={'\0'};
char o[10]={'\0'};
p=fopen("c:\\cheji.txt","r");
if(p==NULL)
printf("ERROR_read");
chushi();
read_km();
fgets(s,50,p);
while(strlen(s)!=0)
{
j=0;
for(i=0;i<50;i++)
{
if(s[i]!='\n')
{
n=0;
while(j==0)
{
if(s[i]!=' ')
{
stu[z].no[n]=s[i];
n++;i++;
}
else
break;
}
while(j==1)
{
if(s[i]!=' ')
{
stu[z].std_name[n]=s[i];
n++;i++;
}
else
break;
}
while(j==2)
{
if(s[i]!=' ')
{
o[n]=s[i];
n++;i++;
}
else
{
stu[z].km[0].score=atoi(o);
break;
}
}
while(j==3)
{
if(s[i]!=' ')
{
o[n]=s[i];
n++;i++;
}
else
{
stu[z].km[1].score=atoi(o);
break;
}
}
while(j==4)
{
if(s[i]!=' ')
{
o[n]=s[i];
n++;i++;
}
else
{
stu[z].km[2].score=atoi(o);
break;
}
}
while(j==5)
{
if(s[i]!=' ')
{
o[n]=s[i];
n++;i++;
}
else
{
stu[z].ave=atoi(o);
break;
}
}
while(j==6)
{
if(s[i]!=' ')
{
o[n]=s[i];
n++;i++;
}
else
{
stu[z].sum=atoi(o);
break;
}
}
for(k=0;k<10;k++)
o[k]='\0';
}
else
break;
j++;
}
for(i=0;i<50;i++)
s[i]='\0';
fgets(s,50,p);
z++;
}
}

void putin()
{
int n,i=0;
char ch;
read_km();
do
{
printf("\t\t\t\t录入学员信息\n输入第%d个学员的信息\n",i+1);
printf("\n输入学生编号:");
scanf("%s",stu[i].no);
printf("\n输入学员姓名:");
scanf("%s",stu[i].std_name);
printf("\n输入课程%s的分数:",stu[0].km[0].name);
scanf("%f",&stu[i].km[0].score);
printf("\n输入课程%s的分数:",stu[0].km[1].name);
scanf("%f",&stu[i].km[1].score);
printf("\n输入课程%s的分数:",stu[0].km[2].name);
scanf("%f",&stu[i].km[2].score);
stu[i].save=1;
printf("\n\n");
i++;
n=i;
printf("是否继续输入?(Y/N)");
fflush(stdin);
ch=getch();
system("cls");
}
while(ch!='n'&&ch!='N');
system("cls");
if(nu==0)
{
nu=n;
Save();
}
else
{
nu=n+nu;
Save_add(n);
}
}

int putout()
{
int i;char s;
if(nu==0)
{
printf("学生信息为零!请录入...");
return 0;
}
read();
do
{
printf("学生成绩信息:\n\n");
for(i=0;i<nu;i++)
printf("学号:%s 姓名:%s\n%s分数:%2.1f\t%s分数:%2.1f\t%s分数:%2.1f\n平均分数:%2.1f\t总成绩:%2.1f\n\n",stu[i].no,stu[i].std_name,stu[i].km[0].name,stu[i].km[0].score,stu[i].km[1].name,stu[i].km[1].score,stu[i].km[2].name,stu[i].km[2].score,stu[i].ave,stu[i].sum);
printf("\t\t按任意键返回主菜单");
fflush(stdin);
s=getch();
}
while(!s);
system("cls");
}

int sort()/*排序数据函数*/
{
struct student temp;
int i,j;
char s;
if(nu==0)
{
printf("学生信息为零!请录入...");
return 0;
}
chushi();
read();
for(i=1;i<nu;i++)
{
for(j=1;j<=nu-i;j++)
{
if(stu[j-1].ave<stu[j].ave)
{
temp=stu[j];
stu[j]=stu[j-1];
stu[j-1]=temp;
}
}
}
do
{
printf("学生成绩信息:\n\n");
for(i=0;i<nu;i++)
printf("学号:%s 姓名:%s 平均成绩:%2.1f\n\n",stu[i].no,stu[i].std_name,stu[i].ave);
printf("\t\t按任意键返回主菜单");
fflush(stdin);
s=getch();
}
while(!s);
system("cls");
}

void find()/*查询函数*/
{
int j,i=0;
int c=0;
char search[10]={'\0'};
char as;
if(nu==0)
{
printf("学生信息为零!请录入...");
return 0;
}
chushi();
read();
do
{
printf("输入要查询课程名称:");
scanf("%s",search);
for(j=0;j<max;j++)
if(!strcmp(stu[i].km[j].name,search))
{
c=1;
printf("\n该课程不及格学生姓名:\n");
for(i=0;i<nu;i++)
if(stu[i].km[j].score<60)
printf("%s\n",stu[i].std_name);
}
if(c==0)
printf("无此课程!");
printf("\n\t\t按任意键返回主菜单");
fflush(stdin);
as=getch();
}
while(!as);
system("cls");
}

void tongji()
{
int j,m,z,i=0;
char s;
if(nu==0)
{
printf("学生信息为零!请录入...");
return 0;
}
chushi();
read();
for(z=0;z<max;z++)
{
m=stu[i].km[z].score;j=0;
printf("%s 最高分: ",stu[i].km[z].name);
for(i=0;i<nu;i++)
if(m<stu[i].km[z].score)
{
m=stu[i].km[z].score;
j=i;
}
printf("%s\t",stu[j].std_name);
j=0;i=0;m=stu[i].km[z].score;
printf("%s 最低分: ",stu[i].km[z].name);
for(i=0;i<nu;i++)
if(m>stu[i].km[z].score)
{
m=stu[i].km[z].score;
j=i;
}
printf("%s\t",stu[j].std_name);
m=0;j=0;i=0;
printf("%s 平均分: ",stu[i].km[z].name);
for(i=0;i<nu;i++)
m=m+stu[i].km[z].score;
printf("%d\n",m/nu);
m=0;i=0;
printf("%s 分数低于的60人数: ",stu[i].km[z].name);
for(i=0;i<nu;i++)
if(stu[i].km[z].score<60)
m++;
printf("%d\t",m);
m=0;j=0;i=0;
printf("%s 分数高于60的人数: ",stu[i].km[z].name);
for(i=0;i<nu;i++)
if(stu[i].km[z].score>60)
m++;
printf("%d\n\n",m);
}
do
{
printf("\t\t按任意键返回主菜单");
fflush(stdin);
s=getch();
}
while(!s);
system("cls");
}

void main()/*主函数*/
{
int as;
first_check();
start: printf("\n\t\t\t欢迎使用学生成绩管理系统\n");
/*一下为功能选择模块*/
do
{
printf("\n\t\t\t\t1.录入学员信息\n\t\t\t\t2.显示学员信息\n\t\t\t\t3.成绩排序信息\n\t\t\t\t4.查询不及格学生\n\t\t\t\t5.统计信息\n\t\t\t\t6.退出\n");
printf("\t\t\t\t选择功能选项:");
fflush(stdin);
read_nu();
scanf("%d",&as);
switch(as)
{
case 1:system("cls");putin();break;
case 2:system("cls");putout();break;
case 3:system("cls");sort();break;
case 4:system("cls");find();break;
case 5:system("cls");tongji();break;
case 6:system("exit");exit(0);
default:system("cls");goto start;
}
}
while(1);
/*至此功能选择结束*/
}

❺ 完整的c语言学生管理系统课程设计

10财富值就想要个完整的,特么是穷疯了吧,思路都不告诉你

❻ C语言课程设计报告(题目:学生成绩管理系统)

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define N 35
char name;
int inth;
struct date
{
int year;
char month;
char day;
};
struct student
{
char no[9];
char name[9];
char sex[3];
struct date birthday;
int score[4];
};
int menu()
{

int code;

printf(" 菜单\n");

printf("┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓\n");

printf("┃ 0.退出 ┃\n");

printf("┃ 1.显示学生信息 ┃\n");

printf("┃ 2.显示按姓名排序后的学生信息 ┃\n");

printf("┃ 3.显示按总分排序后的学生信息 ┃\n");

printf("┃ 4.按学号查学生分数和平均分数 ┃\n");

printf("┃ 5.按姓名查学生分数和平均分数 ┃\n");

printf("┃ 6.查各课程平均分数 ┃\n");

printf("┃ 7.查男女学生的人数 ┃\n");

printf("┃ 8.显示学生信息表 ┃\n");

printf("┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛\n");

printf("选择代码(0,1,2,3,4,5,6,7,8): ");

scanf("%d",&code);

return code;

}

/* 建立学生信息数组 */

void readsi(struct student stud[],int *n)

{

FILE*fp;

int i;

if((fp=fopen("studf.txt","r"))==NULL)

{

printf("不能打开studf.txt文件!\n");

exit(1);

}

for(i=0;!feof(fp);i++)

{

(*n)++;

if(*n>N)

{

printf("最多处理35位学生信息!\n");

return;

}

fscanf(fp,"%s %s %s %d %d %d %d %d %d",stud[i].no,stud[i].name,stud[i].sex,&stud[i].birthday.year,&stud[i].birthday.month,&stud[i].birthday.day,&stud[i].score[0],&stud[i].score[1],&stud[i].score[2]);
// fscanf从一个流中执行格式化输入
stud[i].score[3]=stud[i].score[0]+stud[i].score[1]+stud[i].score[2];

}

fclose(fp);

}

/* 显示学生信息 */

void printsi(struct student *pstud,int n)

{

int i,k=0;

printf(" 学号 姓名 性别 年 月 日 数学 英语 C 总分\n");

printf("┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉\n");

printf("==================================================================\n");

for(i=0;i<n;i++)

{

printf("%-8s %-8s %-2s %4d %2d %2d %4d %4d %4d %5d\n",pstud[i].no,pstud[i].name,pstud[i].sex,pstud[i].birthday.year,pstud[i].birthday.month,pstud[i].birthday.day,

pstud[i].score[0],pstud[i].score[1],pstud[i].score[2],pstud[i].score[3]);

k++;

if(k%20==0)

scanf("%*c");

}

}

/* 按学号排序—简单比较排序法*/

void csort_no(struct student *pstud,int n)

{

struct student temp;

int i,j;

for(i=0;i<n-1;i++)

for(j=i+1;j<n;j++)

if(strcmp(pstud[i].no,pstud[j].no)>0)

{

temp=pstud[i];

pstud[i]=pstud[j];

pstud[j]=temp;

}

}

/* 显示学生信息表*/

void printtable(struct student *pstud,int n)

{

int i,k=0;struct student studA[N];

for(i=0;i<n;i++)

studA[i]=pstud[i];

csort_no(studA,n);

printf("\n\n");

printf(" 学生信息表\n");

printf(" ==================\n\n");

printf("┏━━━━┳━━━━┳━━━┳━━━━━━┳━━━┳━━━┳━━━┳━━━┓\n");

printf("┃学号 ┃姓名 ┃ 性别 ┃ 年 月 日 ┃ 数学 ┃ 英语 ┃ C ┃ 总分 ┃\n");

printf("┣━━━━╋━━━━╋━━━╋━━━━━━╋━━━╋━━━╋━━━╋━━━┫\n");

printf("┣━━━━╋━━━━╋━━━╋━━━━━━╋━━━╋━━━╋━━━╋━━━┫\n");

for(i=0;i<n;i++)

{

printf("┃%-8s┃%-8s┃ %-2s ┃ %4d %2d %2d ┃ %4d ┃ %4d ┃ %4d ┃ %4d ┃\n",studA[i].no,studA[i].name,studA[i].sex,studA[i].birthday.year,studA[i].birthday.month,studA[i].birthday.day,studA[i].score[0],studA[i].score[1],studA[i].score[2],studA[i].score[3]);

if(i==n-1)

printf("┗━━━━┻━━━━┻━━━┻━━━━━━┻━━━┻━━━┻━━━┻━━━┛\n");

else

printf("┣━━━━╋━━━━╋━━━╋━━━━━━╋━━━╋━━━╋━━━╋━━━┫\n");

k++;

if(k%20==0)

scanf("%*c");

}

}

/* 查各课程平均分数 */

void find_ave(struct student *pstud,int n)

{

static summath=0,sumenglish=0,sumC=0,score=0;int i;struct student studA[N];

for(i=0;i<n;i++)

studA[i]=pstud[i];

csort_no(studA,n);

printf(" 各课程平均分数 \n ");

printf("————————————————————————————\n");

for(i=0;i<n;i++)

{

summath=summath+pstud[i].score[0];

sumenglish=sumenglish+pstud[i].score[1];

sumC=sumC+pstud[i].score[2];

score=score+pstud[i].score[3];

}

printf("数学平均分数:%4d\n",summath/n);

printf("英语平均分数:%4d\n",sumenglish/n);

printf("c平均分数:%4d\n",sumC/n);

printf("总分平均分数:%5d\n",score/n);

}

/* 查男女学生人数 */

void find_pnum(struct student *pstud,int n)

{

int i,j=0,k=0;

for(i=0;i<n;i++)

{

if(strcmp(pstud[i].sex,"男")==0)

j++;

else

k++;

}

printf("男学生人数为%d人",j);

printf("女学生人数为%d人",k);

}

/* 按总分递减选择排序(应用指针数组)*/

void ssort(struct student *ptscore[],int n)

{

struct student *temp;

int i,j;

for(i=0;i<n-1;i++)

for(j=0;j<n-i-1;j++)

if(ptscore[j]->score[3]<ptscore[j+1]->score[3])

{

temp=ptscore[j];

ptscore[j]=ptscore[j+1];

ptscore[j+1]=temp;

}

}

/* 按学号查学生信息和平均分数(顺序查找)*/

void ssrch_no(struct student *pstud[],int n)

{

int i=0,j=0;char no[9];

printf("请输入要查找的学生学号:");

scanf("%s",&no);

printf("\n");

for(i=0;i<n;i++)

{

if(strcmp(no,pstud[i]->no)==0)

printf("已找到学号为%-8s的学生\n学号:%-8s\n姓名:%-8s\n性别:%-2s\n%4d年%2d月%2d日\n数学:%4d\n英语:%4d\nc:%4d\n总分%4d\n平均分数为:%4d\n",pstud[i]->no,pstud[i]->no,pstud[i]->name,pstud[i]->sex,pstud[i]->birthday.year,pstud[i]->birthday.month,pstud[i]->birthday.day,pstud[i]->score[0],pstud[i]->score[1],pstud[i]->score[2],pstud[i]->score[3],pstud[i]->score[3]/3);

else

j++;

}

if(j==6)

printf("未找到学号为%-8s的学生\n",no);

}

/* 按姓名查找的学生信息和平均分数(折半查找)*/

void bsrch_name(struct student *pname[],int n)

{
int bsrch(struct student *pname[],int n,char *name);
char name[9];int i;

printf("请输入要查找的学生姓名:");

scanf("%s",name);

i=bsrch(pname,n,name);

if(i!=-1)

printf("已找到该学生,学生信息:%-8s %-8s %-2s %4d %2d %2d %4d %4d %4d %5d\n",

pname[i]->no,pname[i]->name,pname[i]->sex,

pname[i]->birthday.year,pname[i]->birthday.month,

pname[i]->birthday.day,

pname[i]->score[0],pname[i]->score[1],pname[i]->score[2],

pname[i]->score[3]);

else

printf("%d没有找到该学生资料!\n",name);

for(;;)

{ i=i-1;

if(strcmp(name,pname[i]->name)==0) printf("已找到该学生,学生信息:%-8s %-8s %-2s %4d %2d %2d %4d %4d %4d %5d\n",

pname[i]->no,pname[i]->name,pname[i]->sex,

pname[i]->birthday.year,pname[i]->birthday.month,

pname[i]->birthday.day,

pname[i]->score[0],pname[i]->score[1],pname[i]->score[2],

pname[i]->score[3]);

else

break;

}

i=bsrch(pname,n,name);

for(;;)

{i=i+1;

if(strcmp(name,pname[i]->name)==0) printf("已找到该学生,学生信息:%-8s %-8s %-2s %4d %2d %2d %4d %4d %4d %5d\n",

pname[i]->no,pname[i]->name,pname[i]->sex,

pname[i]->birthday.year,pname[i]->birthday.month,

pname[i]->birthday.day,

pname[i]->score[0],pname[i]->score[1],pname[i]->score[2],

pname[i]->score[3]);

else

break;

}

}

int bsrch(struct student *pname[],int n,char *name)

{

int lower=0,upper=n-1,mid;

if(strcmp(name,pname[lower]->name)==0) return lower;

else if(strcmp(name,pname[upper]->name)==0) return upper;

else

while(lower<=upper)

{

mid=(lower+upper)/2;

if(strcmp(name,pname[mid]->name)==0)

return mid;

else if(strcmp(name,pname[mid]->name)>0)

lower=mid+1;

else

upper=mid-1;

}

return -1;

}

/* 按姓名递增冒泡排序(应用指针数组) */

void bsort(struct student *pname[],int n)

{

struct student *temp;

int i,j;

for(i=0;i<n-1;i++)

for(j=0;j<n-i-1;j++)

if(strcmp(pname[j]->name,pname[j+1]->name)>0)

{

temp=pname[j];

pname[j]=pname[j+1];

pname[j+1]=temp;

}

}

/* 按总分名次查找的学生信息和平均分数 */

void printf_ptscore(struct student *ptscore[],int n,int inth)

{

printf("请输入要查找总分名次:");

scanf("%d",&inth);

inth--;

if(inth>n)

{

printf("未找到总分名次为%5d的学生",inth);

}

else

printf("已找到总分名次为%5d的学生\n学号:%-8s\n姓名:%-8s\n性别:%-2s\n%4d年%2d月%2d日\n数学:%4d\n英语:%4d\nc:%4d\n总分%5d\n平均分数为:%4d",inth+1,ptscore[inth]->no,ptscore[inth]->name,ptscore[inth]->sex,ptscore[inth]->birthday.year,ptscore[inth]->birthday.month,ptscore[inth]->birthday.day,ptscore[inth]->score[0],ptscore[inth]->score[1],ptscore[inth]->score[2],ptscore[inth]->score[3],ptscore[inth]->score[3]/3);

}

/*显示姓名排序后的学生信息*/

void printsi_p1(struct student *parray[],int n)

{

int i,k=0;

printf(" 按姓名排序后的学生信息\n\n");

printf("学号 姓名 性别 年 月 日 数学 英语 C 总分\n");

printf("******** ------ ** ---- ** -- *** --- *** --- \n");

printf("=====================================================\n");

for(i=0;i<n;i++)

{

printf("%-8s%-8s%-2s%4d %2d %2d %4d %4d %4d %5d\n",

parray[i]->no,parray[i]->name,parray[i]->sex,

parray[i]->birthday.year,parray[i]->birthday.month,parray[i]->birthday.day,

parray[i]->score[0],parray[i]->score[1],parray[i]->score[2],parray[i]->score[3]);

k++;

if(k%20==0)

scanf("%*c");

}

}

/* 显示按总分排序后的学生信息 */

void printsi_p2(struct student *ptscore[],int n)

{

int i,k=0;

printf("\n\n");

printf(" 按总分排序后的学生信息表\n");

printf(" ==================\n\n");

printf("┏━━━━┳━━━━┳━━━┳━━━━━━┳━━━┳━━━┳━━━┳━━━┓\n");

printf("┃学号 ┃姓名 ┃ 性别 ┃ 年 月 日 ┃ 数学 ┃ 英语 ┃ C ┃ 总分 ┃\n");

printf("┣━━━━╋━━━━╋━━━╋━━━━━━╋━━━╋━━━╋━━━╋━━━┫\n");

printf("┣━━━━╋━━━━╋━━━╋━━━━━━╋━━━╋━━━╋━━━╋━━━┫\n");

for(i=0;i<n;i++)

{

printf("┃%-8s┃%-8s┃ %-2s ┃ %4d %2d %2d ┃ %4d ┃ %4d ┃ %4d ┃ %4d ┃\n",ptscore[i]->no,ptscore[i]->name,ptscore[i]->sex,ptscore[i]->birthday.year,ptscore[i]->birthday.month,ptscore[i]->birthday.day,ptscore[i]->score[0],ptscore[i]->score[1],ptscore[i]->score[2],ptscore[i]->score[3]);

if(i==n-1)

printf("┗━━━━┻━━━━┻━━━┻━━━━━━┻━━━┻━━━┻━━━┻━━━┛\n");

else

printf("┣━━━━╋━━━━╋━━━╋━━━━━━╋━━━╋━━━╋━━━╋━━━┫\n");

k++;

if(k%20==0)

scanf("%*c");

}

}
#include<stdio.h>

#include<stdlib.h>

#include<string.h>
#define N 35
void main()

{

static struct student stud[N];

struct student *pstud[N];

struct student *pname[N];

struct student *ptscore[N];

int code,inth=0;

int n=0,i;

readsi(stud,&n);

for(i=0;i<N;i++)

pstud[i]=&stud[i];

for(i=0;i<N;i++)

pname[i]=&stud[i];

for(i=0;i<N;i++)

ptscore[i]=&stud[i];

bsort(pname,n);

ssort(ptscore,n);

printf("\n 学生信息:\n");

printsi(stud,n);

printf("\n 按<Enter>,进入菜单:\n");

scanf("%*c");

while(1)

{

code=menu();

switch(code)

{

case 0: /* 退出 */

exit(1);

case 1: /* 显示学生信息 */

printsi(stud,n);

scanf("%*2c");break;

case 2: /* 显示按姓名排序后的学生信息 */

printsi_p1(pname,n);

scanf("%*2c");break;

case 3: /* 显示按总分排序后的学生信息 */

printsi_p2(ptscore,n);

scanf("%*2c");break;

case 4: /* 按学号查找学生信息和平均分数 */

ssrch_no(pstud,n);

scanf("%*2c");break;

case 5: /* 按姓名查找学生信息和平均分数 */

bsrch_name(pname,n);

scanf("%*2c");break;

case 6: /* 查各门课的平均分数 */

find_ave(stud,n);

scanf("%*2c");break;

case 7: /* 查男女人数 */

find_pnum(stud,n);

scanf("%*2c");break;

case 8: /* 显示学生信息表 */

printtable(stud,n);

scanf("%*2c");break;

}

}

}

❼ C语言课程设计 学生选课管理系统流程图+心得

在word里面画啊,可以用插入图画,自己画各种框图。
冒泡排序:
(数字都是序号
1~9

第一到第九个数字
假如
一共9个数字比较)
1

2
比较
小于就交换位置
然后
1

3
比较
小于就交换位置
然后
1

4
比较
小于就交换位置
然后
......
1

9
比较
小于就交换位置
然后
2

3
比较
小于就交换位置
然后
2

4
比较
小于就交换位置
然后
......
2

9
比较
小于就交换位置
然后
3

4
比较
小于就交换位置
然后
3

5
比较
小于就交换位置
然后
....
...
8

9
比较
小于就交换位置
全部结束
所得序列从小到大排列
快速排列:
第一个数

整个序列中间一个数比较
要是小于
就在跟前半段中间个数比较
要是又大于
就跟前半段中的后半段中间个数比较
来确定位置
如:
1

(1+9)/2
比较
小于就继续跟
(1+5)/2比较
大于就跟(5+9)/2比较
然后(假设是小于)
1跟(1+5)/2比较
又大于
那么继续1跟(3+5)/2比较
要是
1大于4那么交换位置
然后第二段:
2

(1+9)/2比较
小于就继续跟
(1+5)/2比较
大于就跟(5+9)/2比较
以此类推...
9跟(1+5)/2
比较........
Dim
i
As
Integer'定义循环变量
Dim
num(1
To
20)
As
Integer'保存随机数
Dim
max
As
Integer,
min
As
Integer'保存最大值和最小值
Me.Show
'
max
=
0:
min
=
100
'初始化
Randomize
Timer
'
For
i
=
1
To
20
num(i)
=
Fix(Rnd()
*
100)
+
1
If
num(i)
>
max
Then
max
=
num(i)
If
num(i)
<
min
Then
min
=
num(i)
Print
num(i);
Next
i
Print
Print
max
Print
min

❽ C语言课程设计学生信息管理系统

我没测试程序的各个功能,只是在
Visual
Studio
6.0
能运行了~~~,共三个文件如下:student.hdegree.cppmain.cpp

热点内容
武汉大学学生会辅导员寄语 发布: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