新手C语言小项目.doc_第1页
新手C语言小项目.doc_第2页
新手C语言小项目.doc_第3页
新手C语言小项目.doc_第4页
新手C语言小项目.doc_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

项目实训一实训内容:1、定义一个数组a11,用以存放学生的成绩。2、从键盘输入10个学生成绩3、采用冒泡法,将学生成绩按照从高到低进行排序4、再输入一个学生的成绩,将此成绩按照排序规律插入原学生成绩数组5、将排好序的成绩单进行反序存放,即原来是从高到低,现在改为从低到高排列。项目实训二实训内容:1、在函数中进行10个学生成绩从高到低排名 sort(int a10)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、定义一个数组stu10存放10个学生的成绩,从键盘输入数据,要求用指针实现2、将数组stu10的内容输出到屏幕上,要求用指针实现3、将成绩数组按照从高到低进行排序,要求用指针实现4、将第三步内容放在函数中实现,在主函数中调用实现排序,用指针实现,输出排序后的成绩单5、采用指针方法,输入字符串“student score ”,复制该字符串并输出(复制字符串采用库函数或用户自定义函数)项目实训四实训内容:1、定义一个结构体数组,存放10个学生的学号,姓名,三门课的成绩2、从键盘输入10个学生的以上内容3、输出单门课成绩最高的学生的学号、姓名、以及该门课程的成绩4、输出三门课程的平均分数最高的学生的学号、姓名及其平均分5、将10个学生按照平均分数从高到低进行排序,输出结果,格式如下所示:number name math Chinese English average103 tom 90 90 100 95101 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 a11; 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=9;num_init+) printf(%d)input:,num_init+1); scanf(%d,&anum_init); for (num_sort_2=1;num_sort_2=1;num_sort_1-) if (anum_sort_1anum_sort_1-1) num_temp=anum_sort_1; anum_sort_1=anum_sort_1-1; anum_sort_1-1=num_temp; printf(a%da%dn,anum_sort_1,anum_sort_1-1); for (num_init=0;num_init10;num_init+) printf(%d,anum_init); printf(input student score:n); scanf(%d,&num_std); for(num_init=0;num_initanum_init) num_tag=num_init; int total=10; while (num_inittotal) atotal=atotal-1; total-; anum_tag=num_std; break; for (num_init=0;num_init=10;num_init+) printf(%d ,anum_init); printf(n); for (num_sort_2=1;num_sort_2=1;num_sort_1-) if (anum_sort_1anum_sort_1-1) num_temp=anum_sort_1; anum_sort_1=anum_sort_1-1; anum_sort_1-1=num_temp; printf(a%da%dn,anum_sort_1,anum_sort_1-1); for (num_init=0;num_init=10;num_init+) printf(%d ,anum_init); printf(n); /*/* 项目实训二 */* 源代码如下: */*/# include # include # include # define MAXLEN 1000void sort (int a,int n,char style);int main (int argc,char *argv) int aMAXLEN; char bMAXLEN; int i=0,j,n; char s; while(1) printf(a%d=,i); fgets(b,MAXLEN,stdin); if (b0=n) break; ai=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;iai+1) t=ai; ai=ai+1; ai+1=t; else if(style=d) if (aiai+1) t=ai; ai=ai+1; ai+1=t; /*/* 项目实训三 */* 源代码如下: */*/# include # include # include void sort(int str);int main (void) int str10; char i_msg100; char o_msg100; 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;i10;i+) scanf(%d,&stri); sort(str); printf(sort result:n); for(i=0;i10;i+) printf(%d ,*(pi+i); getchar(); printf(nfun 2)n); printf(input message:n); for(i=0;i1;j-) for(i=0;ij;i+) if(*(p+i)*(p+i+1) t=*(p+i); *(p+i)=*(p+i+1); *(p+i+1)=t; /*/* 项目实训四 */* 源代码如下: */*/# include # include # include int main (int argc,char *argv) struct stu int num; char name20; int math; int chinese; int english; int average; s10; struct stu temp; int n,l,i,j; for (n=0;n0;i-) for(j=0;ji;j+) if(sj.averagesj+1.average) temp.num=sj.num; strcpy(,); temp.math=sj.math; temp.chinese=sj.chinese; temp.english=sj.english; temp.average=sj.average; sj.num=sj+1.num; strcpy(,sj+1.name); sj.math=sj+1.math; sj.chinese=sj+1.chinese; sj.english=sj+1.english; sj.average=sj+1.average; sj+1.num=temp.num; strcpy(sj+1.name,); sj+1.math=temp.math; sj+1.chinese=temp.chinese; sj+1.english=temp.english; sj+1.average=temp.average; printf(max student:nnum:%dtname:%staverage:%dnn,s0.num,,s0.average); printf(numbertnametmathtChinesetEnglishtaveragen); for (n=0;n10;n+) printf(%dt,sn.num); printf(%st,); printf(%dt,sn.math); printf(%dt,sn.chinese); printf(%dt,sn.english); printf(%dn,sn.average); return 0;/*/* 项目实训五 */* 源代码如下: */*/# include # include # include int main (int argc,char *argv) struct str int code; char name20; int math; int English; int Chinese; int average; stu10; struct str t; int i,j,l,f=0,ch,n=0,k=0; char temp630; FILE *fp; printf(Module 1 beginn); printf(*n); printf(Input 10 student datan); for (i=0;i10;i+) printf(input %d) student code:,i); scanf(%d,&stui.code); getchar(); printf(input name:); fgets(,20,stdin); l=strlen(); l-1=0; printf(input math score:); scanf(%d,&stui.math); printf(input English score:); scanf(%d,&stui.English); printf(input Chinese score:); scanf(%d,&stui.Chinese); if (fp=fopen(/tmp/stud.dat,wt+)=NULL) printf(open file stud.dat failed!n); exit(1) ; for (i=0;i10;i+) fprintf(fp,%d,stui.code); fputc(:,fp); fprintf(fp,%s,); fputc(:,fp); fprintf(fp,%d,stui.math); fputc(:,fp); fprintf(fp,%d,stui.English); fputc(:,fp); fprintf(fp,%d,stui.Chinese); fputc(n,fp); fclose(fp); printf(n); printf(Module 2 begin:n); printf(*n); printf(Display stud.dat file all data:n); if (fp=fopen(/tmp/stud.dat,rt+)=NULL) printf(open file stud.dat failed!n); exit(1) ; ch=fgetc(fp); while(ch!=EOF) putchar(ch); ch=fgetc(fp); fclose(fp); printf(n); printf(Module 3 begin:n); printf(*n); printf(Sort average score and output to studsort.datn); if (fp=fopen(/tmp/stud.dat,rt+)=NULL) printf(open file stud.dat failed!n); exit(1) ; for(i=0;i10;i+) for(k=0;k0;i-) for(j=0;ji;j+) if(stuj.averagestuj+1.average) t.code=stuj.code; strcpy(,); t.math=stuj.math; t.Chinese=stuj.Chinese; t.English=stuj.English; t.average=stuj.average; stuj.code=stuj+1.code; strcpy(,stuj+1.name); stuj.math=stuj+1.math; stuj.Chinese=stuj+1.Chinese; stuj.English=stuj+1.English; stuj.average=stuj+1.average; stuj+1.code=t.code; strcpy(stuj+1.name,); stuj+1.math=t.math; stuj+1.Chinese=t.Chinese; stuj+1.English=t.English; stuj+1.average=t.average; for(i=0;i10;i+) printf(%d %s %d %d %d %dn,stui.code,,stui.math,stui.Chinese,stui.English,stui.average); fclose(fp); if (fp=fopen(/tmp/studsort.dat,wt+)=NULL) printf(open file studsort.dat failed!n); exit(1) ; for (i=0;i10;i+) fprintf(fp,%d,stui.code); fputc(:,fp); fprintf(fp,%s,); fputc(:,fp); fprintf(fp,%d,stui.math); fputc(:,fp); fprintf(fp,%d,stui.English); fputc(:,fp); fprintf(fp,%d,stui.Chinese); fputc(:,fp); fprintf(fp,%d,stui.average); fputc(n,fp); fclose(fp); printf(Module 4 begin:n); printf(*n); printf(Ouput 2,4,6,8,10 rows datan); if (fp=fopen(/tmp/studsort.dat,rt+)=NULL) printf(open file studsort.dat failed!n); exit(1) ; for(i=0;i10;i+) for(k=0;k6;k+) n=0; tempkn=fgetc(fp); for(;tempkn!=EOF;n+) if(tempkn=:) break; if(tempkn=n) f=f+1; break; tempkn+1=fgetc(fp); tempkn=0; if(f%2)=0) stui.code=atoi(temp0); strcpy(,temp1); stui.math=atoi(temp2); stui.English=atoi(temp3); stui.Chinese=atoi(temp4); stui.average=(stui.math+stui.English+stui.Chinese)/3; printf(%d %s %d %d %d %dn,stui.code,,stui.math,stui.English,stui.Chinese,stui.average); fclose(fp);return 0;/*/* 最终项目实训 */* 源代码如下: */*/# include # include # include struct node int code; char name20; char type; int age; int chinese; int english; int computer; int math; int total; int average;stud100;struct node temp;void menu(void) system(clear); printf(tt 项目六实例n); printf(tt*n); printf(tt* *n); printf(tt* 1 输 入 数 据 *n); printf(tt* 2 查 找 数 据 *n); printf(tt* 3 插 入 数 据 *n); printf(tt* 4 删 除 数 据 *n); printf(tt* 5 打 印 数 据 *n); printf(tt* 6 排 序 数 据 *n); printf(tt* 7 退 出 *n); printf(tt* *n); printf(tt* *n); printf(tt*n); printf(tt 请输入你的选项(1-7):);void input() int i; for (i=0;i3;i+) printf(请输入第%d个学生学号:,i); scanf(%d,&studi.code); printf(请输入第%d个学生姓名:,i); scanf(%s,); getchar(); printf(请输入第%d个学生性别:,i); scanf(%c,&studi.type); printf(请输入第%d个学生年龄:,i); scanf(%d,&studi.age); printf(请输入第%d个学生英文成绩:,i); scanf(%d,&studi.english); printf(请输入第%d个学生国文成绩:,i); scanf(%d,&studi.chinese); printf(请输入第%d个学生计算机成绩:,i); scanf(%d,&puter); printf(请输入第%d个学生数学成绩:,i); scanf(%d,&studi.math); studi.total=studi.english+studi.chinese+puter+studi.math; studi.average=studi.total/4; void find(int c) int n,m,i

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论