项目实训一
实训内容:
1、定义一个数组a[11],用以存放[url=javascript:;][u][b]学生[/b][/u][/url]的成绩。
2、从键盘输入10个学生成绩
3、采用冒泡法,将学生成绩按照从高到低进行排序
4、再输入一个学生的成绩,将此成绩按照排序规律插入原学生成绩数组
5、将排好序的成绩单进行反序存放,即原来是从高到低,现在改为从低到高排列。
项目实训二
实训内容:
1、在函数中进行10个学生成绩从高到低排名 sort(int a[10])
2、改进第一步的函数为sort(int a[],int n),进行n个学生成绩从高到低排名,
3、改进第二步的函数为sort(int a[],int n, char style), 将n个学生成绩从高到低排名,排名方式4、根据sort()函数的style参数进行,如style为‘a’按升序排,style为’d’按降序排。
(a:ascending 升,d:descending 降)
项目实训三
实训内容:
1、定义一个数组stu[10]存放10个学生的成绩,从键盘输入数据,要求用指针实现
2、将数组stu[10]的内容输出到屏幕上,要求用指针实现
3、将成绩数组按照从高到低进行排序,要求用指针实现
4、将第三步内容放在函数中实现,在主函数中调用实现排序,用指针实现,输出排序后的成绩单
5、采用指针方法,输入字符串“student score ”,复制该字符串并输出(复制字符串采用库函数或用户自定义函数)
项目实训四
实训内容:
1、定义一个结构体数组,存放10个学生的学号,姓名,三门课的成绩
2、从键盘输入10个学生的以上内容
3、输出单门课成绩最高的学生的学号、姓名、以及该门课程的成绩
4、输出三门课程的平均分数最高的学生的学号、姓名及其平均分
5、将10个学生按照平均分数从高到低进行排序,输出结果,格式如下所示:
number name math Chinese English average
103 tom 90 90 100 95
101 alice 90 80 70 80
项目实训五
实训内容:
1、定义一个结构体数组,存放10个学生的学号,姓名,三门课的成绩
2、从键盘输入10个学生的以上内容,存入文件stud.dat,关闭文件
3、打开stud.dat文件,将数据读出,查看是否正确写入,关闭文件。
4、打开文件stud.dat文件,读出数据,将10个学生按照平均分数从高到低进行排序,分别将结果输出到屏幕上和另一文件studsort.dat中。
5、从studsort.dat 文件中读取第2,4,6,8,10个学生的数据。
最终项目
学生成绩管理系统
完成下列功能:
1、输入:函数input把20学生的学号、姓名、性别、年龄、四科成绩以及平均成绩和总成绩放在一个结构体数组中,学生的学号、姓名、四科成绩由键盘输入,然后计算出平均成绩和总成绩放在结构体对应的域中。
2、插入:insert 函数输入一个学生的记录,按学号的先后顺序插入该学生的全部内容。
3、排序:sort函数对所有学生按要求排序(1.学号 2.总成绩 ),并输出。
4、查找:find函数输入一个学生的学号或姓名,找到该学生并输出该学生的全部内容。要求能查询多次。
5、删除:delete函数输入一个学生的学号或姓名,找到该学生并删除该学生的全部内容。
6、输出:函数output 输出全部学生的记录。
7、main调用所有函数,实现全部函数功能(注:除了定义结构外,不允许使用全局变量,函数之间的数据全部使用参数传递)。
/**************************************/
/* 项目实训一 */
/* 源代码如下: */
/**************************************/
# include
# include
# include
main ()
{
int a[11];
int num_init;
int num_sort_1,num_sort_2;
int num_temp;
int num_std;
int num_tag;
for (num_init=0;num_init=1;num_sort_1--)
{
if (a[num_sort_1]>a[num_sort_1-1])
{
num_temp=a[num_sort_1];
a[num_sort_1]=a[num_sort_1-1];
a[num_sort_1-1]=num_temp;
printf("a[%d]a[%d]/n",a[num_sort_1],a[num_sort_1-1]);
}
}
}
for (num_init=0;num_inita[num_init])
{
num_tag=num_init;
int total=10;
while (num_init=1;num_sort_1--)
{
if (a[num_sort_1]a[%d]/n",a[num_sort_1],a[num_sort_1-1]);
}
}
}
for (num_init=0;num_init
# include
# include
# define MAXLEN 1000
void sort (int a[],int n,char style);
int main (int argc,char *argv[])
{
int a[MAXLEN];
char b[MAXLEN];
int i=0,j,n;
char s;
while(1)
{
printf("a[%d]=",i);
fgets(b,MAXLEN,stdin);
if (b[0]=='/n')
break;
a[i]=atoi(b);
i++;
}
printf("input sort style(a=asc,d=desc):");
scanf("%c",&s);
n=--i;
sort(a,n,s);
for (j=0;j0;j--)
{
for (i=0;ia[i+1])
{
t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}
}
else
{
if(style=='d')
if (a[i]
# include
# include
void sort(int str[]);
int main (void)
{
int str[10];
char i_msg[100];
char o_msg[100];
int i;
int *pi;
char *pm_i,*pm_o;
pi=str;
pm_i=i_msg;
pm_o=o_msg;
printf("fun 1)/n");
printf("input 10 student score:/n");
for(i=0;i1;j--)
{
for(i=0;i
# include
# include
int main (int argc,char *argv[])
{
struct stu
{
int num;
char name[20];
int math;
int chinese;
int english;
int average;
}s[10];
struct stu temp;
int n,l,i,j;
for (n=0;n0;i--)
{
for(j=0;j
# include
# include
int main (int argc,char *argv[])
{
struct str{
int code;
char name[20];
int math;
int English;
int Chinese;
int average;
}stu[10];
struct str t;
int i,j,l,f=0,ch,n=0,k=0;
char temp[6][30];
FILE *fp;
printf("Module 1 begin/n");
printf("*********************************/n");
printf("Input 10 student data/n");
for (i=0;i0;i--)
{
for(j=0;j
# include
# include
struct node
{
int code;
char name[20];
char type;
int age;
int chinese;
int english;
int computer;
int math;
int total;
int average;
}stud[100];
struct node temp;
void menu(void)
{
system("clear");
printf("/t/t 项目六实例/n");
printf("/t/t**************************/n");
printf("/t/t* */n");
printf("/t/t* [1] 输 入 数 据 */n");
printf("/t/t* [2] 查 找 数 据 */n");
printf("/t/t* [3] 插 入 数 据 */n");
printf("/t/t* [4] 删 除 数 据 */n");
printf("/t/t* [5] 打 印 数 据 */n");
printf("/t/t* [6] 排 序 数 据 */n");
printf("/t/t* [7] 退 出 */n");
printf("/t/t* */n");
printf("/t/t* */n");
printf("/t/t**************************/n");
printf("/t/t 请输入你的选项(1-7):");
}
void input()
{
int i;
for (i=0;ii;j--)
{
stud[j].code=stud[j-1].code;
strcpy(stud[j].name,stud[j-1].name);
stud[j].type=stud[j-1].type;
stud[j].age=stud[j-1].age;
stud[j].english=stud[j-1].english;
stud[j].chinese=stud[j-1].chinese;
stud[j].computer=stud[j-1].computer;
stud[j].math=stud[j-1].math;
stud[j].total=stud[j-1].total;
stud[j].average=stud[j-1].average;
}
stud[j].code=temp.code;
strcpy(stud[j].name,temp.name);
stud[j].type=temp.type;
stud[j].age=temp.age;
stud[j].english=temp.english;
stud[j].chinese=temp.chinese;
stud[j].computer=temp.computer;
stud[j].math=temp.math;
stud[j].total=temp.total;
stud[j].average=temp.average;
break;
}
}
if(i>=c)
{
stud[i].code=temp.code;
strcpy(stud[i].name,temp.name);
stud[i].type=temp.type;
stud[i].age=temp.age;
stud[i].english=temp.english;
stud[i].computer=temp.computer;
stud[i].math=temp.math;
stud[i].chinese=temp.chinese;
stud[i].total=temp.total;
stud[i].average=temp.average;
}
}
void delete(int c)
{
int i,j,l,n,k;
char name[20];
printf("按学号删除(按1):/n");
printf("按姓名删除(按2):/n");
scanf("%d",&k);
if(k==1)
{
printf("请输入学号:/n");
scanf("%d",&n);
for(i=0;i0;i--)
{
for(j=0;jstud[j+1].code)
{
temp.code=stud[j].code;
strcpy(temp.name,stud[j].name);
temp.type=stud[j].type;
temp.age=stud[j].age;
temp.english=stud[j].english;
temp.chinese=stud[j].chinese;
temp.math=stud[j].math;
temp.computer=stud[j].computer;
temp.total=stud[j].total;
temp.average=stud[j].average;
stud[j].code=stud[j+1].code;
strcpy(stud[j].name,stud[j+1].name);
stud[j].type=stud[j+1].type;
stud[j].age=stud[j+1].age;
stud[j].english=stud[j+1].english;
stud[j].chinese=stud[j+1].chinese;
stud[j].math=stud[j+1].math;
stud[j].computer=stud[j+1].computer;
stud[j].total=stud[j+1].total;
stud[j].average=stud[j+1].average;
stud[j+1].code=temp.code;
strcpy(stud[j+1].name,temp.name);
stud[j+1].type=temp.type;
stud[j+1].age=temp.age;
stud[j+1].english=temp.english;
stud[j+1].chinese=temp.chinese;
stud[j+1].computer=temp.computer;
stud[j+1].math=temp.math;
stud[j+1].total=temp.total;
stud[j+1].average=temp.average;
}
}
}
}
else
if(n==2)
{
c=c-1;
for(i=c;i>0;i--)
{
for(j=0;j0)
{
temp.code=stud[j].code;
strcpy(temp.name,stud[j].name);
temp.type=stud[j].type;
temp.age=stud[j].age;
temp.english=stud[j].english;
temp.chinese=stud[j].chinese;
temp.math=stud[j].math;
temp.computer=stud[j].computer;
temp.total=stud[j].total;
temp.average=stud[j].average;
stud[j].code=stud[j+1].code;
strcpy(stud[j].name,stud[j+1].name);
stud[j].type=stud[j+1].type;
stud[j].age=stud[j+1].age;
stud[j].english=stud[j+1].english;
stud[j].chinese=stud[j+1].chinese;
stud[j].math=stud[j+1].math;
stud[j].computer=stud[j+1].computer;
stud[j].total=stud[j+1].total;
stud[j].average=stud[j+1].average;
stud[j+1].code=temp.code;
strcpy(stud[j+1].name,temp.name);
stud[j+1].type=temp.type;
stud[j+1].age=temp.age;
stud[j+1].english=temp.english;
stud[j+1].chinese=temp.chinese;
stud[j+1].computer=temp.computer;
stud[j+1].math=temp.math;
stud[j+1].total=temp.total;
stud[j+1].average=temp.average;
}
}
}
}
else
{
getchar();
getchar();
}
}
void error()
{
printf("输入错误,请输入(1-7):/n");
printf("按回车键继续..../n");
getchar();
getchar();
getchar();
}
int main (void)
{
int n,c=0;
while(1)
{
menu();
scanf("%d",&n);
switch(n)
{
case 1:input();c=c+3;break;
case 2:find(c);break;
case 3:insert(c);++c;break;
case 4:delete(c);--c;break;
case 5:print(c);break;
case 6:sort(c);break;
case 7:exit(0);break;
default:error();break;
}
}
}