C语言课程设计报告
Experiment Designing reporter
课程名称 : C语言课程设计
英文名称 : C Program Experiment Designing
专 业 :
学 号 :
姓 名 :
指导教师 :
日 期: 2009 年 6 月8 日 至 20##年6月20日
学院
《C语言课程设计》报告
C Program Experiment Designing
课程编号:01200308005 学时: 40学时
适用专业:软件工程专业 授课单位:软件学院
一、C语言课程设计目的及要求
目的:
根据课堂讲授内容,学生做相应的自主练习,消化课堂所讲解的内容;通过调试典型例题或习题积累调试C程序的经验;通过完成辅导教材中的编程题,逐渐培养学生的编程能力、用计算机解决实际问题的能力。
要求:
1. 熟悉Turbo C 的编程环境、主要菜单功能。
2. 通过上机验证运算符、表达式、运算规则、函数使用。
3. 熟练使用C语言的典型语句编写简单程序。
4. 调试典型例题或习题。
5. 提高上机编程能力
二、实验类型
设计类型
三、实验学时
40学时
四、实验设备
微型计算机、WINDOWSXP、Turbo C2.0 软件一套
五、C语言课程参考教材:
1.C语言程序设计 清华大学出版社 李瑞 等 主编
2.C语言课程设计 电子工业出版社 黄明 等 主编
课程设计(报告)任务书
任务及要求:
1. 设计(研究)内容和要求。
研究内容:
1 FIBONACCISL 数列
2 杨辉三角
3 前n项阶乘和
4 冒泡法排序
5 学生成绩管理系统
任务和要求:
(1).学习C语言基础知识,掌握C语言编程和程序调试的基本技能。
(2).对指导教师下达的题目进行系统分析。
(3).根据分析结果完成系统设计。
(4).编程:在计算机上实现题目的代码实现。
(5).完成对该系统的测试和调试。
(6).提交课程设计报告。
(7).指标:
要求完成课程设计报告3千字以上(约二、三十页).
完成若干综合性程序设计题目,每个综合设计题目的语句行数的和在300行语句以上.
2.原始依据
了解C语言的基础知识,有一定的语言编程基础,能够熟练运用C语言进行程序设计。通过用C语言完成的题目,提高用C语言解决实际问题的能力。
3.参考文献
[1].C语言程序基础 清华大学出版社 李瑞 等主编
[2]. C语言课程设计 电子工业出版社 黄明 等主编
20##年6月8日
目录
C语言课程设计报告... 1
1 FIBONACCISL 数列... 1
1.1 系统分析... 1
1.2 设计说明... 1
1.3 程序运行截图... 1
1.4 源程序代码... 1
2 杨辉三角... 2
2.1系统分析... 2
2.2 设计说明... 2
2.3 程序运行截图... 3
2.4 源程序代码... 3
3 前n项阶乘和... 4
3.1系统分析... 4
3.2设计说明... 4
3.3源程序截图... 4
3.4源程序代码:... 5
4. 冒泡法排序... 5
4.1系统分析... 5
4.2设计说明... 5
4.3程序运行截图... 6
4.4源程序代码... 6
5 学生成绩管理系统... 7
5.1系统分析... 7
5.2设计说明... 7
5.3程序运行截图... 7
5.4源程序代码... 8
1 FIBONACCISL 数列
1.1 系统分析
查看Fibonacci数列。
1.2 设计说明
主函数main()
Step1、定义f1,f2两个变量,f1,f2初值均为1。
Step2、在for循环中,不断用f1+f2覆盖新的f1,不断用刚才更新的f1加上原来的f2覆盖新的f2。
Step3、新的f1是每次循环求出的新的Fibonacci数列的第一个数;新的f2是每次循环求出的新的数列的第二个数。
Step4、输出数列 查看。
程序运行截图
1.4 源程序代码
#include "stdio.h"
main()
{ int i;
int f[20]={1,1};
for(i=2;i<20;i++)
f[i]=f[i-2]+f[i-1];
for(i=0;i<20;i++)
{ if(i%5==0)
printf("\n");
printf("%10d",f[i]);
}
getch();
}
2 杨辉三角
2.1系统分析
输出杨辉三角前10行
2.2 设计说明
1、N的定义:
#define N 10
2、主函数,判定是否j==0或者j==1
函数名:main()
返回值:j==0或j==1/else,j==0||j==1:a[i][j]=1,else:a[i][j]=a[i-1][j]+a[i-1][j-1];
参数:i,含义:行的位置
参数:j,含义:列的位置
参数:a[i][j],含义:数的位置
处理流程:
Step1:判别i,j的值,如果j==o,或j==i,则输出a[i][j]=1,否则转入Step2.
Step2:输出a[i][j]=a[i-1][j]+a[i-1][j-1];
Step3:输出整个杨辉三角前10行。
3、主函数main()
执行程序,则在屏幕上显示: 1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
1 7 21 35 35 21 7 1
1 8 28 56 70 56 28 8 1
1 9 36 84 126 126 84 36 9 1
2.3 程序运行截图
2.4 源程序代码
#include "stdio.h"
#define N 10
main()
{ int i,j,a[N][N];
for(i=0;i<N;i++)
for(j=0;j<=i;j++)
if(j==0||j==i)
a[i][j]=1;
else a[i][j]=a[i-1][j]+a[i-1][j-1];
for(i=0;i<10;i++)
{ for(j=0;j<=i;j++)
printf("%4d",a[i][j]);
printf("\n");
}
getch();
}
3 前n项阶乘和
3.1系统分析
打出n,系统求出各个n!,并求出其和。
3.2设计说明
1、子函数,计算一个数的阶乘。
函数名:pow()
返回值:n*pow(n-1)函数的递归调用。
参数:int n,含义:一个自然数。
处理流程:
Step1:如果自然数是1,则返回本身;
Step2:如果不是1,则利用函数的递归调用求阶乘,直到n再次等于1;
Step3:返回最后结果。
2、主函数main()
给s赋初值0,输入所要求解自然数前n项阶乘的和,再用for循环求和,最后输出结果。
3.3源程序截图
3.4源程序代码:
#include "stdio.h"
long pow(int n)
{ if(n==1) return 1;
else return n*pow(n-1);
}
void main()
{ int i,n;
long s=0;
scanf("%d",&n);
for(i=1;i<=n;i++)
s=s+pow(i);
printf("\ns=%ld\n",s);
getch();
}
4. 冒泡法排序
4.1系统分析
用冒泡法将一个数组中的N个整数从小到大排序并输出。
4.2设计说明
1、子函数,用选择法排成升序。
函数名 sort()
处理流程:
Step1:i=0开始,若i<9,执行循环,转Step2。
Step2:比较两个数组元素,若排在前面的值大于排在后面的值,交换位置,否则转Step3;
Step3:若前面的数小于后面的数,则不换位置输出。
2、主函数main()
从键盘上输入一个数组,然后调用子函数sort(),进行数组排序。
若数组中数字为无序或降序排列,则程序将用选择法将数组排成升序。
如:(输入)1 2 5 4 3 7 6 8 10 9
则在屏幕上显示:
12345678910
4.3程序运行截图
4.4源程序代码
#include "stdio.h"
#define N 10
main()
{ int i,j,a[N],t;
for(i=0;i<N;i++)
scanf("%d",&a[i]);
for(i=0;i<N-1;i++)
{ for(j=0;j<N-i-1;j++)
if(a[j]>a[j+1])
{t=a[j];a[j]=a[j+1];a[j+1]=t;}
}
for(i=0;i<N;i++)
printf("%4d",a[i]);
getch();
}
5 学生成绩管理系统
5.1系统分析
创建学生成绩管理系统
5.2设计说明
1、M的定义:#define M 1000
2、函数名:shuru xianshi chazhao paixu charu save xiugai shanchu quit
3、参数:int N M,含义:输入成绩的学生个数、学生的学号。
4、处理流程:
Step1:学生成绩管理系统主菜单
Step2:选择要进行的内容,并输入序号
Step3:若输入1则按要求输入学生成员的个数
Step4;输入学生的学号
Step5;输入学生的姓名
Step6; 输入学生的6门成绩
Step7;进行保存,返回主菜单
5.3程序运行截图
5.4源程序代码
#include <dos.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h>
#include <bios.h>
#include <alloc.h>
#define M 1000
int N=0;
int H=0;
struct student
{ char number[8];
char name[16];
float score[6];
float average;
}stud[M],temp;
void load(void);
void paixu(struct student stud[]);
void charu(struct student stud[]);
void save(struct student stud[]);
void xianshi(struct student stud[]);
void chazhao(struct student stud[]);
void shuru(struct student stud[]);
void shanchu(void);
void xiugai(void);
void quit(void);
int flag(struct student stud[]);
int menu(void);
main()
{
printf("\n\n\n\n\n\n\n\t\t\t\t\t\t\t\t\t\n");
textcolor(YELLOW);
textbackground(BLUE);
printf(" welcome to use this system !!!!\n");
sleep(2);
load();
clrscr();
for(;;)
{ switch(menu())
{ case 1: shuru(stud); break;
case 2: xianshi(stud); break;
case 3: chazhao(stud); break;
case 4: paixu(stud);break;
case 5: charu(stud); break;
case 6: save(stud); break;
case 7: xiugai(); break;
case 8: shanchu(); break;
case 9: quit();
}
}
}
void shuru(struct student stud[])
{ int n=0,i,j,k,c;
char b[4];
float sum;
printf("How many student's record do you want to enter? n= ?\b\b\b");
scanf("%d",&n);
for(i=0;i<n;)
{ sum=0;
printf("Input the %dth student's number ",N+1);
scanf("%s",stud[N].number);
if(flag(stud))
{
printf("The record has exist.\n");
printf("Input again.");
getch();
}
else
{ printf("Input the %dth student's name ",N+1);
scanf("%s",stud[N].name);
printf("1>yuwen 2>shuxue 3>yingyu 4>huaxui 5>wuli 6>zhengzhi \n");
for(j=0;j<6;j++)
{ do
{
printf("Input the %dth student's score(%d)",N+1,j+1);
scanf("%s",b);
stud[N].score[j]=atof(b);
if(stud[N].score[j]<=0||stud[N].score[j]>100)
{
k=1;
printf("Error input !!!\n");
printf("Input again ...\n");
}
else
k=0;
}while(k);
sum+=stud[N].score[j];
}
stud[N].average=sum/6;
printf("\nEnter success !!!\n");
printf("\nPress any key to return.");
getch();
N++;
i++;
H=1;
}
clrscr();
}
clrscr();
}
void xianshi(struct student stud[])
{ int i=0,k,max,maxb,n,flag='y';
char m[6];
if(N==0)
{
printf("There are not record.\n");
printf("Press any key to return.");
getch();
}
else
while(flag!='n')
{ maxb=0;i=0;
do
{ if(N%10!=0)
{ printf("\n\t\tThere are %d pages in all.",N/10+1);
printf("\n\t\tWhich page do you want to see? ");
}
else
{ printf("\n\t\tThere are %d pages in all.",N/11+1);
printf("\n\t\tWhich page do you want to see? ");
}
scanf("%s",m);
k=atoi(m);
if(k)
{ k=10*(k-1);
if(k>=N)
{ printf("\n\t\tThe page is not exist !!!");
printf("\n\t\tInput again .\n");
}
}
else
k=N+1;
}while(k>=N);
if((k+10)>N)
max=N;
else
max=k+10;
clrscr();
for(i=k;i<max;i++)
{ n=strlen(stud[i].name);
if(n>maxb)
maxb=n;
}
i=k;
if(maxb<8)
{ while(i<max)
{
if(i%10==0)
{ printf("\n\t\t\t\t Page:%d",(k+10)/10);
printf("\n1>yuwen 2>shuxue 3>yingyu 4>huaxui 5>wuli 6>zhengzhi \n");
printf("\n\t|---|--------|--------|----|----|----|----|----|----|------|");
printf("\n\t|NO:| number | name | (1)| (2)| (3)| (4)| (5)| (6)|junfen|\n");
}
printf("\t|---|--------|--------|----|----|----|----|----|----|------|\n");
printf("\t| %-2d| %-6s|%-8s|%-4.1f|%-4.1f|%-4.1f|%-4.1f|%-4.1f|%-4.1f|%-6.2f|\n",i+1,stud[i].number,stud[i].name,stud[i].score[0],stud[i].score[1],stud[i].score[2],stud[i].score[3],stud[i].score[4],stud[i].score[5],stud[i].average);
i++;
}
printf("\t|---|--------|--------|----|----|----|----|----|----|------|\n");
}
else
{ while(i<max)
{
if(i%10==0)
{ printf("\n\t\t\t\t Page:%d",(k+10)/10);
printf("\n\t\b\b|---|--------|----------------|----|----|----|----|----|----|------|\n");
printf("\n\t\b\b|NO:| number | name | (1)| (2)| (3)| (4)| (5)| (6)|junfen |\n");
printf("\t\b\b|---|--------|----------------|----|----|----|----|----|----|------|\n");
}
printf("\t\b\b| %-2d| %-6s|%-16s|%-4.1f|%-4.1f|%-4.1f|%-4.1f|%-4.1f|%-4.1f|%-6.2f|\n",i+1,stud[i].number,stud[i].name,stud[i].score[0],stud[i].score[1],stud[i].score[2],stud[i].score[3],stud[i].score[4],stud[i].score[5],stud[i].average);
i++;
}
printf("\t\b\b|---|--------|----------------|----|----|----|----|----|----|----|------|\n");
}
printf("\t\t\t\b\bDo you want to go on? y or n?\b\b\b\b\b\b\b");
flag=getch();
clrscr();
}
}
void chazhao(struct student stud[])
{ int i=0,n,j;
char number[8],flag='y';
clrscr();
while(flag!='n')
{ i=0;
printf("\n\t\t\t\t\b\b\b\bThe number--name list:\n");
printf("----------------------------------------");
printf("----------------------------------------");
while(i<N)
{
if(strlen(stud[i].number)<4)
n=4;
else
n=strlen(stud[i].number);
if(n+strlen(stud[i].name)<15)
{ if(n+strlen(stud[i].name)>6)
{ printf("%-4s-",stud[i].number);
printf("%s\t",stud[i].name);
i++;
}
else
{ printf("%-4s-",stud[i].number);
printf("%s\t\t",stud[i].name);
i++;
}
}
else
{ printf("%-4s-",stud[i].number);
if(strlen(stud[i].number)>4)
j=(12-strlen(stud[i].number));
else
j=12-4;
for(n=0;n<j;n++)
printf("%c",stud[i].name[n]);
printf(".. ");
i++;
}
}
printf("\n---------------------------------------");
printf("-----------------------------------------");
printf("\n\t\t\bInput the student's number you want to search:");
scanf("%s",number);
i=0;
while(i<N)
{ if(strcmp(stud[i].number,number)==0)
{ printf("\n1>yuwen 2>shuxue 3>yingyu 4>huaxui 5>wuli 6>zhengzhi \n");
if(strlen(stud[i].name)<8)
{ printf("\n");
printf("\t|---|--------|--------|----|----|----|----|----|----|------|\n");
printf("\t|NO:| number | name | (1)| (2)| (3)| (4)| (5)| (6)|junfen|\n");
printf("\t|---|--------|--------|----|----|----|----|----|----|------|\n");
printf("\t| %-2d| %-6s|%-8s|%-4.1f|%-4.1f|%-4.1f|%-4.1f|%-4.1f|%-4.1f|%-6.2f|\n",i+1,stud[i].number,stud[i].name,stud[i].score[0],stud[i].score[1],stud[i].score[2],stud[i].score[3],stud[i].score[4],stud[i].score[5],stud[i].score[6],stud[i].average);
printf("\t|---|--------|--------|----|----|----|----|----|----|------|\n");
}
else
{ printf("\n");
printf("\t|---|--------|----------------|----|----|----|----|----|----|------|\n");
printf("\t|NO:| number | name | (1)| (2)| (3)| (4)| (5)| (6)|junfen|\n");
printf("\t|---|--------|----------------|----|----|----|----|----|----|------|\n");
printf("\t| %-2d| %-6s|%-16s|%-4.1f|%-4.1f|%-4.1f|%-4.1f|%-4.1f|%-4.1f|%-6.2f|\n",i+1,stud[i].number,stud[i].name,stud[i].score[0],stud[i].score[1],stud[i].score[2],stud[i].score[3],stud[i].score[4],stud[i].score[5],stud[i].average);
printf("\t |---|--------|----------------|----|----|----|----|----|----|------|\n");
}
flag=0;
i=N;
}
i++;
}
if(flag)
printf("\n\t\t\tYour input is error\n");
printf("\n\t\t\tDo you want to go on? y or n?\b\b\b\b\b\b\b");
flag=getch();
clrscr();
}
}
void paixu(struct student stud[])
{ int i,j,k;
for(i=0;i<N-1;i++)
{ k=i;
for(j=i+1;j<N;j++)
if(stud[j].average>stud[k].average)
k=j;
if(k!=i)
{
temp=stud[k];
stud[k]=stud[i];
stud[i]=temp;
H=1;
}
}
printf("\n\n\n\n\n\n\n\n\n\n\n");
printf(" ");
printf("********* Has been inoder!! *********\n");
printf(" ");
sleep(2);
clrscr();
}
void charu(struct student stud[])
{ int i,j,k;
float sum;
char flag='y',b[4];
clrscr();
while(flag=='y')
{ sum=0;
k=0;
printf("Input the student's number you want to insert:");
scanf("%s",stud[N].number);
for(i=0;i<N;i++)
if(strcmp(stud[i].number,stud[N].number)==0)
k=1;
if(k)
{
printf("The record has exist.\n");
}
else
{ printf("Input the student's name you want to insert:");
scanf("%s",stud[N].name);
printf("1>yuwen 2>shuxue 3>yingyu 4>huaxui 5>wuli 6>zhengzhi \n");
for(j=0;j<6;j++)
{ do
{ printf("Input the student's score(%d):",j+1);
scanf("%s",b);
stud[N].score[j]=atof(b);
if(stud[N].score[j]<=0||stud[N].score[j]>100)
{ k=1;
printf("Error input !!!\n");
printf("Input again ...\n");
}
else
k=0;
}while(k);
sum=sum+stud[N].score[j];
}
stud[N].average=sum/6;
for(j=0;j<N;j++)
if(stud[j].average<stud[N].average)
{ i=N;
temp=stud[N];
for(;i>j;)
{ stud[i]=stud[i-1];
i--;
}
stud[j]=temp;
j=N;
}
N++;
H=1;
printf("\nInsert success !!!\n\n");
}
printf("If you want to go on press:y\n");
printf("Else press any key to menu:");
flag=getch();
clrscr();
}
}
void save(struct student stud[])
{ FILE *fp;
int i=0;
printf("\n\n\n\n\n\n\n\n\n\n\n");
printf(" ");
printf("********** Saving file......**********\n");
printf(" ");
sleep(1);
if((fp=fopen("score","wb"))==NULL)
{
printf("Can not open the file\n");
sleep(1);
return;
}
for(i=0;i<N;i++)
if(fwrite(&stud[i],sizeof(struct student),1,fp)!=1)
{
printf("File write error\n");
return;
}
fclose(fp);
clrscr();
printf("\n\n\n\n\n\n\n\n\n\n\n");
printf(" ");
printf("********** Saving success !!! **********\n");
printf(" ");
H=0;
sleep(2);
clrscr();
}
void xiugai(void)
{ int i,a,k,n,h,j;
float sum;
char m[10],flag='y',b[8];
while(flag=='y')
{ sum=0;
i=0;
k=0;
printf("\n\t\t\t\t\b\b\b\bThe number--name list:\n");
printf("----------------------------------------");
printf("----------------------------------------");
while(i<N)
{ if(strlen(stud[i].number)<4)
n=4;
else
n=strlen(stud[i].number);
if(n+strlen(stud[i].name)<15)
{ if(n+strlen(stud[i].name)>6)
{ printf("%-4s-",stud[i].number);
printf("%s\t",stud[i].name);
i++;
}
else
{ printf("%-4s-",stud[i].number);
printf("%s\t\t",stud[i].name);
i++;
}
}
else
{ printf("%-4s-",stud[i].number);
if(strlen(stud[i].number)>4)
j=(12-strlen(stud[i].number));
else
j=12-4;
for(n=0;n<j;n++)
printf("%c",stud[i].name[n]);
printf(".. ");
i++;
}
}
printf("\n---------------------------------------");
printf("-----------------------------------------");
printf("\n\t\tInput the student's number you want to change.");
scanf("%s",m);
printf("\n");
for(i=0;strcmp(stud[i].number,m)!=0&&i<N;i++);
if(i<N)
{
a=1;
h=i;
}
else
a=0;
if(a)
{ printf("Input new number:");
scanf("%s",b);
for(i=0;i<h||i>h&&i<N;i++)
if(strcmp(stud[i].number,b)==0)
k=1;
if(k)
{
printf("The record has exist.\n");
getch();
}
else
{ strcpy(stud[h].number,b);
printf("Input new name:");
scanf("%s",stud[h].name);
printf("1>yuwen 2>shuxue 3>yingyu 4>huaxui 5>wuli 6>zhengzhi \n");
for(k=0;k<6;k++)
{ do
{ printf("Input new score(%d)",k+1);
scanf("%s",b);
stud[h].score[k]=atof(b);
if(stud[i].score[k]<=0||stud[h].score[k]>100)
{
n=1;
printf("Error input !!!\n");
printf("Input again ...\n");
}
else
n=0;
}while(n);
sum=sum+stud[h].score[k];
}
stud[i].average=sum/6;
printf("\n\t\t\t **** Change success !!! ****\n\n");
H=1;
}
}
else
printf("\n\t\t\t\tError input!!!!!\n\n");
printf("\t\t\t If you want to go on press:y");
printf("\n\t\t\t Else press any key to menu:");
flag=getch();
clrscr();
}
}
void shanchu(void)
{ int i,a,j,k,n;
char m[10],flag='y';
while(flag=='y')
{ i=0;
printf("\t\t\t\t\b\b\b\bThe number--name list:\n");
printf("----------------------------------------");
printf("----------------------------------------");
while(i<N)
{ if(strlen(stud[i].number)<4)
n=4;
else
n=strlen(stud[i].number);
if(n+strlen(stud[i].name)<15)
{ if(n+strlen(stud[i].name)>6)
{ printf("%-4s-",stud[i].number);
printf("%s\t",stud[i].name);
i++;
}
else
{ printf("%-4s-",stud[i].number);
printf("%s\t\t",stud[i].name);
i++;
}
}
else
{ printf("%-4s-",stud[i].number);
if(strlen(stud[i].number)>4)
j=(12-strlen(stud[i].number));
else
j=12-4;
for(n=0;n<j;n++)
printf("%c",stud[i].name[n]);
printf(".. ");
i++;
}
}
printf("\n---------------------------------------");
printf("-----------------------------------------");
printf("\n\t\tInput the student's number you want to delete.");
scanf("%s",m);
for(i=0;strcmp(stud[i].number,m)!=0&&i<N;i++);
if(i<N)
a=1;
else
a=0;
if(a)
{ stud[i]=stud[M-1];
for(i=0;i<N-1;i++)
{ k=i;
for(j=i+1;j<N;j++)
if(stud[j].average>stud[k].average)
k=j;
temp=stud[k];
stud[k]=stud[i];
stud[i]=temp;
}
N--;
printf("\n\t\t\t **** Delete success !!! ****\n\n");
H=1;
}
else
printf("\n\t\t\t\tError input!!!!!\n");
printf("\n\t\t\t If you want to go on press:y");
printf("\n\t\t\t Else press any key to menu:");
flag=getch();
clrscr();
}
}
void quit(void)
{ char a;
if(H)
{ printf("\n\n\n\n\n\n\n\n\n\t\t Do you want to save the datas have changed ?");
printf("\n\n\t\t\t\t y & n ? ");
printf("\n\t\t\t\t ");
a=getch();
printf("%c",a);
getch();
if(a=='y')
{ clrscr();
save(stud);
printf("\n\n\n\n\n\n\n\n\n\n\n");
printf("\t\t\t\b\b\b\b********** xiexie shiyong ********** ");
sleep(1);
clrscr();
printf("\n\n\n\n\n\n\n\n\n\n\n");
printf("\t\t\t********** Bye Bye !!! **********");
sleep(2);
exit(0);
}
else
{clrscr();
printf("\n\n\n\n\n\n\n\n\n\n\n");
printf("\t\t\t\b\b\b\b********** xiexie shiyong ********** ");
sleep(1);
clrscr();
printf("\n\n\n\n\n\n\n\n\n\n\n");
printf("\t\t\t********** Bye Bye !!! **********");
sleep(2);
exit(0);
}
}
else
{
printf("\n\n\n\n\n\n\n\n\n\n\n");
printf("\t\t\t\b\b\b\b********** xiexie shiyong ********** ");
sleep(1);
clrscr();
printf("\n\n\n\n\n\n\n\n\n\n\n");
printf("\t\t\t********** Bye Bye !!! **********");
sleep(2);
exit(0);
}
}
void load(void)
{ FILE *fp;
while((fp=fopen("score","rb"))==NULL)
return;
for(N=0;!feof(fp);N++)
{
if(1!=fread(&stud[N],sizeof(struct student),1,fp))
break;
}
fclose(fp);
}
int flag(struct student stud[])
{ int i,flag=0;
for(i=0;i<N;i++)
if(strcmp(stud[i].number,stud[N].number)==0)
flag=1;
return(flag);
}
int menu(void)
{ int n;
char a[5];
clrscr();
do
{
printf("*************welcome to use student management******************\n");
printf("*************************menu********************************\n");
printf("* ========================================================= * \n");
printf("* 1:shuru * \n");
printf("* 2:xianshi * \n");
printf("* 3:chazhao * \n");
printf("* 4:paixu * \n");
printf("* 5:charu * \n");
printf("* 6:save * \n");
printf("* 7:xiugai * \n");
printf("* 8:shanchu * \n");
printf("* 9:quit * \n");
printf("* ======================================================== * \n");
printf(" Please input the number you want(1-9):");
scanf("%s",a);
n=atoi(a);
if(n<1||n>9)
{
printf("\t\t\t Error input. Input again.");
sleep(1);
}
clrscr();
}while(n<1||n>9);
clrscr();
return(n);}