版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、c语言课程设计题目:地大杯学风校风演讲赛报名程序一:题目内容:学校组织地大杯学风校风演讲赛,已知文本文件fl. txt中存放了所有报名参加比赛 学生的信息(不超过1000人),具体数据及存放格式为:每行存放一个学生的数据,共有4 项,依次为:姓名(不超过10个字符)、性别(整数:0为男,1为女)、年龄(整数)、班号 (不超过6个字符),其间用空格分隔。请编写程序,读出文件屮的内容,再按筛选条件筛选后以文本方式存放到文件f2.txt 中,并实现以下功能:(1)能够统计报名成功学生仅有1人的班级以及该生的信息。(2)能够统计报名成功学生中年龄最小的男生信息、年龄最小的女生信息。(3)能够统计报名成
2、功学生屮男生的人数、女生的人数。(4)学生可以根据姓名和班号查询自己报名是否成功。筛选条件:(1)同一班中只取一名年龄最小的男学生和一名年龄最小的女学生。(2)同班同性别同年龄的学生按先报名先取的原则。 说明:(1)统程序要有界面(2)存入文件f2.txt中的数据,每行存一个学生的数据,每行之间的不同信息用空格 分隔。广头文件定义*/#include<stdio.h>#in clude<math.h># include<stri ng.h#in clude<stdlib.h>厂首先要定义学生信息结构体*/struct studentlnformatio
3、nchar name10;int age;int sex;/*姓名不超过10个字符*/*年龄*/广性别*/char classnumber7;/* 班级号 */int noornot;/*查询自己报名是否成功的函数*/*函数声明*/void menu(struct studentlnformatio n student1000,struct stu info stu4002,int flag,int m); void staclass(struct studentinformation stu4002,int m);void staage(struct studentlnformation s
4、tu4002,int m);void searchfstruct studentlnformmtion student1000,int m);void boy_girl(struct studentlnformation stu4002,int flag);void main(int argc,char *argv)int i=0/j=0,k=0/m=0/count2=0zflag,boy=0,girl=0;/*设置计数变量,看报名人数总共有多 少*/ int iijj;char c;struct studentlnformation student1000,stu4002;file *fl,
5、*fout;for(ii=0;ii<400;ii+)for(jj=0;jj<2;jj+)stuiijj.age=looo;if (argc!=3)/*argc为输入的参数个数,在此判断验证参数是否为三个*/printff输入错误!卍);printff'usage: %s <intput_file> <output_file>",argv0);if (fl=fopen(argvl,"r+")=null)printf(”文件无法打开!n”);exit(o);c=fgetc(fl);/*读取fl文件中的数据*/while(c!
6、=eof)while(c!='')studenti.namej=c;j+;c=fgetc(fl);studenti.namej=,o'if(c" *)c=fgetc(fl);studenti.sex=c-'o'if (studenti.sex=o)count0+;elsecountl+;c=fgetc(fl);studenti.age=o;c=fgetc(fl);while(c!='')studenti.age=studenti.age*10+c-'0'c=fgetc(fl);c=fgetc(fl);while(
7、c!=10&&c!二eof)/*其中 eof 为文件结束否studenti.ciassnumberk=c;k+;c=fgetc(fl);studenti.ciassnumberk='o'studenti.noornot =-l;i+;j=0;k=0;if(c=10)c=fgetc(fl);fclose(fl);/*数据读取后关闭fl文件*/flag=count0+countl;/*对读取的数据进行处理*/for(i=0;i<flag;i+)if (studenti.noornot =-1)stumstudenti.sex.age =studenti.age
8、;stumstudenti.sex.sex =studenti.sex; strcpy(stumstudenti.sex.ciassnumber ,studenti.ciassnumber); strcpy(stumstudenti.sex.name ,studenti.name );studenti.noornot=l;boy=i;for(j=i+l;j<flag;j+) k=strcmp(stumstudenti.sex.ciassnumber,studentj.ciassnumber); if (strcmp(stumstudenti.sex.ciassnumber/student
9、j.ciassnumber)=o) if (studentj.sex=studentboy.sex)if(studentj.age <studentboy.age )strcpy(stum studentboy.sex. name,studentj.name);stumstudentboy.sex.age=studentj.age;studentboy.noornot =0;boy=j;studentboy.noornot =1;elsestudentj.noornot=0;else if (studen tj .sex!二 student boy .sex)if(stu m stude
10、nt 0 .sex .age =1000)strcpy(stumstudentj.sex.ciassnumber ,studentj.ciassnumber); strcpy(stumstudentj.sex.name ,studentj.name ); stumstudentj.sex.age =studentj.age; stumstudentj.sex.sex =studentj.sex; studentj.noornot=l;girl=j;elseif(stumstudentj.sex.age!=1000&&studentj.age<stumstudentj.se
11、x.age)strcpy(stum studentgirl.sex. name,studentj. name); stumstudent girl.sex .age=studentj. age; studentgirl.noornot =0;girl=j;studentgirl.noornot =1;elsestudentj.noornot=0; else;m+;else;fout=fopen(argv2/'w+");for(i=0;i<m;i+)for(j=0;j<2;j+)讦(stuij.age!=1000)fprintf(fout,"%s %d %
12、d %sn",stuij.name,stuij.sex/stuij.age,stuij.ciassnumber);fclose(fout);menu (stud en t,stu,flag,m);void menu(struct stulnfo student1000,struct stu info stu4002,int flag,int m)int n;system(hcolor cam);printf("n");printf(htt中国地质大学(武汉)n");printf(httnh);printf(ntt 1.统计报名成功学生仅有1人的班级以及该
13、生的信息n");printf(httnh);printf("tt2.统计报名成功学生屮年龄最小的男女生信息n“);printf(httnn);printfcaat 3.统计报名成功学生屮男生的人数、女生的人数。“);printf(httn");printf(“tt4.学生可以根据姓名和班号查询自己报名是否成功。n“);printf(httnn);printf(utt 0.退出n");printf(-ttnn);printf("tt作者:* (2012/2/23) nh);p r i ntf(htt *printf(htt请按照提示选择你所需要的
14、功能m);scanffd&n);while(n<0| |n>4)printf(”tt输入错误请重新输入:"); scanf(吆d”,&n);switch(n)case 0:exit(0);case 1:staclass(stu,m);men u(student,stu,flag,m); break;case 2:staage(stu,m);menu (student,stu,flag,m);break;case 3:boy_girl(stu,m);menu (student,stu, flag, m);break;case 4:search(student
15、,flag);men u(stud en t,stu,flag,m);break;/*报名人数不足一人的班级及*/void staclass(struct studentlnformation stu4002,int m)int i=0;for(i=0;i<m;i+)if(stuio.age =1000)printf("%s %d %d %sn"zstuil.name,stuil.sexzstuil.age,stuil.ciassnumber); else if(stuil.age=1000)printf("%s %d %d %sn"/stuio.
16、name/stuio.sex/stuio.age/stuio.ciassnumber); else;/*分别统计报名学生中最小男生和女生的年龄*/void staage(struct studentlnformation stu4002,int m)int boyzgirl,i=0;boy=stu00.age;girl=stuol.age;for(i=l;i<m;i+)if(stui0.age<boy)boy=stui0.age;if (stuil.age<girl)girl=stuil.age;printf("tt 最小男生年龄是:d 岁。n",boy)
17、;printf("tt 最小女生年龄是:d 岁。ngirl);/*统计报名学生成功学生中男生和女生的人数各为多少功能*/void boy_girl(struct studentinformation stu4002,int m)int boy=0,girl=0,i=0;for(i=0;i<m;i+)if (stui0.age!=1000)boy+;if (stuil.age!=1000)girl+;printf(htt报名成功的男生人数是:%do nuzboy);printf(ntt报名成功的女生人数是:%do nnzgirl);/*查询自己报名是否成功功能*/void search(struct studentlnformation student1000,int flag)char namell,classno7;int i=o,flag=o;/*设置一个标志变量flag来查看学生是否报名成功*/printf(htt 请输入姓名和班号:ntttttttttttf);scanf("%s%s
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025广东惠州市龙门龙城创展经济发展有限责任公司招聘5人公考前自测高频考点模拟试题附答案
- 2025安徽六安市金寨县消防救援局政府专职消防员招聘10人(公共基础知识)综合能力测试题附答案
- 2025广西北海市合浦县人民医院校园双选会招聘43人(公共基础知识)综合能力测试题附答案
- 2025山东济南城投集团校园招聘63人模拟试卷附答案
- 2025年安阳县面向中小学教师选调乡镇所属事业单位工作人员50名(公共基础知识)综合能力测试题附答案
- 2025年甘肃昊源工贸有限责任公司招聘备考题库附答案
- 2025年伊春丰林县人民检察院公开招聘聘用制书记员2人考试历年真题汇编附答案
- 2026河北邯郸市公安局峰峰矿区分局招录辅警60人笔试备考试题及答案解析
- 2025年上海科学院事业单位工作人员公开招聘备考题库(第四批)附答案
- 2026重庆水利电力职业技术学院高层次人才招聘笔试备考题库及答案解析
- 医疗卫生机构6S常态化管理打分表
- 几种常用潜流人工湿地剖面图
- 危险源辨识、风险评价、风险控制措施清单-05变电站工程5
- 2023年副主任医师(副高)-推拿学(副高)考试历年真题摘选带答案
- 朱子治家格言(朱子家训)课件
- 20S517 排水管道出水口
- vpap iv st说明总体操作界面
- 初中一年级(7年级)上学期生物部分单元知识点
- 长兴中学提前招生试卷
- 2022年基础教育国家级教学成果奖评审工作安排
- 生物统计学(课堂PPT)
评论
0/150
提交评论