C++程序设计大作业(含源代码)
- 格式:doc
- 大小:96.50 KB
- 文档页数:16
1、分析下面程序:# include 〈stdio.h>int main(){char c1,c2;c1=97;c2=98;printf("c1=%c,c2=%c\n”c1,c2);printf(”c1=%d,c2=%d\n",c1,c2);return 0;}(1)运行时会输出什么信息?为什么?(2)如果将程序第4,5行改为c1=197;c2=198;运行时会输出什么信息?为什么?(3)如果将程序第3行改为int c1,c2;运行时会输出什么信息?为什么?答:(1)程序运行不了,因为程序存在错误。
正确的程序为:#include <stdio。
h〉I822834 5932 夲.29616 73B0 现o"int main(){char c1,c2;c1=97;c2=98;printf("c1=%c,c2=%c\n”,c1,c2);printf("c1=%d,c2=%d\n”,c1,c2);return 0;}(2)如果将程序第4,5行改为c1=197;c2=198;运行时会输出:(3)如果将程序第3行改为int c1,c2;运行时会输出:因为int表示整型,%c是输出字符,a的ASCLL代码是97,b的是98,所以输出c1=a,c2=b.%d是表示输出十进制整型,所以输出c1=97,c2=982、用下面的scanf函数输入数据,使a=3,b=7,x=8。
5,y=71。
82,c1=’A’,c2='a’。
29532 735C 獜21217 52E1 勡36845 8FED 迭I33719 83B7 获 a问在键盘上如何输入?#include <stdio.h>int main(){int a,b;float x,y;char c1,c2;scanf("a=%db=%d",&a,&b);scanf(”%f%e”,&a,&y);scanf(”%c%c”,&c1,&c2);return 0;}答:输入如图:输出如图:。
C语言大作业(成绩管理系统)制作人:皇家战盾2016年12月31日信息结构体中包括:学号、、英语成绩、高数成绩、大物成绩、C语言成绩、机械制图成绩、政治成绩、体育成绩、总成绩、平均分。
源程序代码#include<stdio.h>#include <stdlib.h>struct student{int num; 学号char name[100];int score1; 英语int score2; 高数int score3; 大物int score4; C语言int score5; 机械制图int score6; 政治int score7; 体育int score8; 总成绩int score9; 平均分}stu[100];int R;int xuehao;double ping[10];int gao[10];void denglu(); 登录函数void student(); 学生登录界面函数void teacher(); 教师登录界面函数void chengji();void quanbanchengjishuchu(); 调用全班各科成绩、总分、平均分进行输出函数void tianjia(); 教师使用添加学生成绩函数void xiugai(); 教师使用修改学生成绩函数void input(); 教师修改成绩将成绩录入文档函数void shanchu(); 教师删除学生信息及成绩函数void gerenchengji(); 输出显示学生个人成绩void zhuce(); 学生登录注册函数void pingjun(); 成绩计算平均分void chaxun(); 教师使用按学号查询学生个人成绩void xuehaopaixu(); 按学号顺序显示个人成绩void gerengaofen(); 学生使用查询各科最高分void zuigaofen(); 显示各科最高分分数void ps1(); 英语成绩排序void ps2(); 高数成绩排序void ps3(); 大物成绩排序void ps4(); C语言成绩排序void ps5(); 工图成绩排序void ps6(); 政治成绩排序void ps7(); 体育成绩排序void pz(); 总成绩排序void xueshengpaiming(int number); 学生查看自己在全班排名main(){int x;system("cls");chengji();pingjun();zuigaofen();system("cls");printf("\n*****欢迎使用本成绩管理系统*****\n\n请选择功能:\n1.登录\n2.注册\n您选择的功能编号为:");scanf("%d",&x);if(x==1){denglu();}else if(x==2){zhuce();}else {printf("请正确选择!");}}void denglu(){int a[100],b[100],c[100],i,y,m,n;char w;FILE * fp;fp = fopen("zhanghao.txt","r");for(i=0;i<1000;i++){fscanf(fp,"%d%d%d",&a[i],&b[i],&c[i]);}fclose(fp);again:system("cls");printf("\n***请输入您的用户名和密码***\n\n用户名:");scanf("%d",&y);for(i=0;i<1000;i++){n=i;if(y==a[i])goto chenggong;}printf("用户名不存在,请正确输入!");goto again;chenggong:printf("密码:");scanf("%d",&m);{if(m==b[n])printf("登录成功!");else{printf("请正确输入!");scanf("%c",&w);scanf("%c",&w);goto again;}}xuehao = c[n];for(i=0;i<R;i++){if(xuehao==stu[i].num)goto ok;}if(xuehao==1)goto ok;printf("\n此学生以被老师删除,请联系老师");printf("按回车键返回");scanf("%c",&w);scanf("%c",&w);main();ok:if(c[n]==1){teacher();}else {student();}}void student(){int i,k,x;chengji();system("cls");for(i=0;i<1000;i++){k=i;if(xuehao==stu[i].num)goto ok;}ok:printf("\n*****欢迎使用本系统*****\n\n你好! %s 同学\n\n",stu[k].name);printf("请选择功能\n1.本人成绩查询\n2.各科最高分查询\n\n*如需退出请直接关闭*\n");scanf("%d",&x);if(x==1){gerenchengji();}if(x==2){gerengaofen();}}void teacher(){int x;system("cls");chengji();xuehaopaixu();pingjun();printf("\n*****欢迎敬爱的老师使用本系统*****\n\n");printf("请选择您需要的功能:\n1.学生管理\n2.成绩管理\n\n*如需退出请直接关闭*\n");scanf("%d",&x);if(x==1){system("cls");printf("\n*****欢迎敬爱的老师使用本系统*****\n\n请选择您需要对学生所做的操作\n1.添加某学生数据\n2.修改某学生数据\n3.删除某学生数据\n4.返回\n");scanf("%d",&x);switch(x){case 1:{tianjia();}case 2:{xiugai();}case 3:{shanchu();}case 4:{teacher();}}}else if(x==2){system("cls");printf("\n*****欢迎敬爱的老师使用本系统*****\n\n请选择您需要对成绩所做的操作\n1.查看全班学生的考试成绩\n2.修改某学生的考试成绩\n3.查看全班学生的排名\n4.按学号查询某学生的成绩\n5.返回\n");scanf("%d",&x);switch(x){case 1:{quanbanchengjishuchu();}case 2:{xiugai();}case 3:{printf("请选择排序方式:\n1.按总分排序\n2.按英语成绩排序\n3.按高等数学成绩排序\n4.按大学物理成绩排序\n5.按c语言成绩排序\n6.按机械制图成绩排序\n7.按政治成绩排序\n8.按体育成绩排序\n");//英语、高等数学、大学物理、C语言、机械制图、政治、体育scanf("%d",&x);switch (x){case 1:{pz();quanbanchengjishuchu();}case 2:{ps1();quanbanchengjishuchu();}case 3:{ps2();quanbanchengjishuchu();}case 4:{ps3();quanbanchengjishuchu();}case 5:{ps4();quanbanchengjishuchu();}case 6:{ps5();quanbanchengjishuchu();}case 7:{ps6();quanbanchengjishuchu();}case 8:{ps7();quanbanchengjishuchu();}}}case 4:{chaxun();}case 5:{teacher();}}}else ;return 0;}void chengji(){int i;FILE * fp1;FILE * fp2;FILE * fp3;fp1 = fopen("chengji.txt","r");fp2 = fopen("name.txt","r");fp3 = fopen("renshu.txt","r");fscanf(fp3,"%d",&R);printf("目前本成绩管理系统所存学生人数为%d人\n",R);for(i=0;i<R;i++){fscanf(fp1,"%d",&stu[i].num);fscanf(fp2,"%s",stu[i].name);fscanf(fp1,"%d",&stu[i].score1);fscanf(fp1,"%d",&stu[i].score2);fscanf(fp1,"%d",&stu[i].score3);fscanf(fp1,"%d",&stu[i].score4);fscanf(fp1,"%d",&stu[i].score5);fscanf(fp1,"%d",&stu[i].score6);fscanf(fp1,"%d",&stu[i].score7);fscanf(fp1,"%d",&stu[i].score8);fscanf(fp1,"%d",&stu[i].score9);stu[i].score8=stu[i].score1+stu[i].score2+stu[i].score3+stu[i].score4+s tu[i].score5+stu[i].score6+stu[i].score7;stu[i].score9=(stu[i].score1+stu[i].score2+stu[i].score3+stu[i].score4+ stu[i].score5+stu[i].score6+stu[i].score7)/7;}fclose(fp1);fclose(fp2);fclose(fp3);}void quanbanchengjishuchu(){int i;char w;system("cls");printf("学号\t\t1.英语\t2.高数\t3.大物\t4.C语言\t5.机械制图\t6.政治\t7.体育\t总成绩\t\t平均分\n");for(i=0;i<R;i++){printf("%d\t",stu[i].num);printf("%s\t",stu[i].name);printf("%d\t",stu[i].score1);printf("%d\t",stu[i].score2);printf("%d\t",stu[i].score3);printf("%d\t",stu[i].score4);printf("%d\t\t",stu[i].score5);printf("%d\t",stu[i].score6);printf("%d\t",stu[i].score7);printf("%d\t\t",stu[i].score8);printf("%d\t\n",stu[i].score9);}printf("全班平均成绩\t%.2lf\t\%.2lf\t%.2lf\t%.2lf\t%.2lf\t\t%.2lf\t%.2lf\t%.2lf\t\t%.2lf\n",pin g[1],ping[2],ping[3],ping[4],ping[5],ping[6],ping[7],ping[8],ping[9]);printf("按回车键返回");scanf("%c",&w);scanf("%c",&w);teacher();}void tianjia(){int a[10],i;char b[1][100],w;FILE * fp1;FILE * fp2;FILE * fp3;fp1 = fopen("chengji.txt","a");fp2 = fopen("name.txt","a");fp3 = fopen("renshu.txt","w");printf("清输入这名学生的学号\n");scanf("%d",&a[0]);for(i=0;i<R;i++){if(a[0]==stu[i].num){printf("以存在此学生!\n");printf("按回车键返回");scanf("%c",&w);scanf("%c",&w);teacher();}}fprintf(fp1,"%d\n",a[0]);printf("清输入这名学生的\n");scanf("%s",b[0]);fprintf(fp2,"%s\n",b[0]);printf("清输入这名学生的英语成绩\n");scanf("%d",&a[1]);fprintf(fp1,"%d\n",a[1]);printf("清输入这名学生的高等数学成绩\n");scanf("%d",&a[2]);fprintf(fp1,"%d\n",a[2]);printf("清输入这名学生的大学物理成绩\n");scanf("%d",&a[3]);fprintf(fp1,"%d\n",a[3]);printf("清输入这名学生的C语言成绩\n");scanf("%d",&a[4]);fprintf(fp1,"%d\n",a[4]);printf("清输入这名学生的机械制图成绩\n");scanf("%d",&a[5]);fprintf(fp1,"%d\n",a[5]);printf("清输入这名学生的政治成绩\n");scanf("%d",&a[6]);fprintf(fp1,"%d\n",a[6]);printf("清输入这名学生的体育成绩\n");scanf("%d",&a[7]);fprintf(fp1,"%d\n",a[7]);a[8]=a[1]+a[2]+a[3]+a[4]+a[5]+a[6]+a[7];fprintf(fp1,"%d\n",a[8]);a[9]=(a[1]+a[2]+a[3]+a[4]+a[5]+a[6]+a[7])/7;fprintf(fp1,"%d\n",a[9]);R=R+1;printf("现在此系统中共存的学生人数有%d人",R);fprintf(fp3,"%d",R);//英语、高等数学、大学物理、C语言、机械制图、政治、体育fclose(fp1);fclose(fp2);fclose(fp3);printf("添加成功!按回车键返回");scanf("%c",&w);scanf("%c",&w);teacher();}void xiugai(){int n,m,i,s,p,k,w;chengji();printf("您需要输入这名学生的学号和要修改的科目编号,之后进行修改\n请输入这名学生的学号:");scanf("%d",&n);for(i=0;i<R;i++){if(n==stu[i].num){goto ok;}}printf("并不存在此学生!\n");printf("按回车键返回");scanf("%c",&w);scanf("%c",&w);teacher();ok:printf("1.英语\t\t2.高等数学\t3.大学物理\t4.C语言\t\t5.机械制图\t6.政治\t7.体育\n\n");printf("您需要输入这名学生要修改的科目编号:");scanf("%d",&m);for(i=0;i<R;i++){if(n==stu[i].num){k=i;switch(m){case 1:{printf("\n请您确认您是要修改%s的英语成绩吗?\n目前ta的英语成绩为%d\n\n请输入\n1.确认 2.取消\n",stu[i].name,stu[i].score1);break;break;}case 2:{printf("\n请您确认您是要修改%s的高等数学成绩吗?\n目前ta的高等数学成绩为%d\n\n请输入\n1.确认 2.取消\n",stu[i].name,stu[i].score2);break;break;}case 3:{printf("\n请您确认您是要修改%s的大学物理成绩吗?\n目前ta的大学物理成绩为%d\n\n请输入\n1.确认 2.取消\n",stu[i].name,stu[i].score3);break;break;}case 4:{printf("\n请您确认您是要修改%s的C语言成绩吗?\n目前ta的C语言成绩为%d\n\n请输入\n1.确认 2.取消\n",stu[i].name,stu[i].score4);break;break;}case 5:{printf("\n请您确认您是要修改%s的机械制图成绩吗?\n目前ta的机械制图成绩为%d\n\n请输入\n1.确认 2.取消\n",stu[i].name,stu[i].score5);break;break;}case 6:{printf("\n请您确认您是要修改%s的政治成绩吗?\n目前ta的政治成绩为%d\n\n请输入\n1.确认 2.取消\n",stu[i].name,stu[i].score6);break;break;}case 7:{printf("\n请您确认您是要修改%s的体育成绩吗?\n目前ta的体育成绩为%d\n\n请输入\n1.确认 2.取消\n",stu[i].name,stu[i].score7);break;break;}//英语、高等数学、大学物理、C语言、机械制图、政治、体育}if(m!=1&&m!=2&&m!=3&&m!=4&&m!=5&&m!=6&&m!=7){printf("请正确选择");scanf("%c",&w);scanf("%c",&w);goto ok;}}}scanf("%d",&p);if(p==1){printf("请输入ta的新成绩:");scanf("%d",&s);printf("ta的此课程的新成绩为%d",s);switch(m){case 1:{stu[k].score1=s;goto shuchu;}case 2:{stu[k].score2=s;goto shuchu;}case 3:{stu[k].score3=s;goto shuchu;}case 4:{stu[k].score4=s;goto shuchu;}case 5:{stu[k].score5=s;goto shuchu;}case 6:{stu[k].score6=s;goto shuchu;} case 7:{stu[k].score7=s;goto shuchu;} case 8:{stu[k].score8=s;goto shuchu;} case 9:{stu[k].score9=s;goto shuchu;} }}else if(p==2){printf("以取消\n按回车键返回");scanf("%c",&w);scanf("%c",&w);teacher();}else{printf("请正确选择!");}shuchu:input();}void input(){int i;char w;FILE * fp1;FILE * fp2;FILE * fp3;fp1 = fopen("chengji.txt","w");fclose(fp1);fp2 = fopen("name.txt","w");fclose(fp2);fp1 = fopen("chengji.txt","a");fp2 = fopen("name.txt","a");fp3 = fopen("renshu.txt","w");for(i=0;i<R;i++){fprintf(fp1,"%d\n",stu[i].num);fprintf(fp2,"%s\n",stu[i].name);fprintf(fp1,"%d\n",stu[i].score1);fprintf(fp1,"%d\n",stu[i].score2);fprintf(fp1,"%d\n",stu[i].score3);fprintf(fp1,"%d\n",stu[i].score4);fprintf(fp1,"%d\n",stu[i].score5);fprintf(fp1,"%d\n",stu[i].score6);fprintf(fp1,"%d\n",stu[i].score7);stu[i].score8=stu[i].score1+stu[i].score2+stu[i].score3+stu[i].score4+s tu[i].score5+stu[i].score6+stu[i].score7;fprintf(fp1,"%d\n",stu[i].score8);stu[i].score9=(stu[i].score1+stu[i].score2+stu[i].score3+stu[i].score4+ stu[i].score5+stu[i].score6+stu[i].score7)/7;fprintf(fp1,"%d\n",stu[i].score9);}fprintf(fp3,"%d",R);fclose(fp1);fclose(fp2);fclose(fp3);printf("\n按回车键返回");scanf("%c",&w);scanf("%c",&w);teacher();}void shanchu(){int i,n,k,x;char w;printf("请输入要删除学生的学号:");scanf("%d",&n);for(i=0;i<R;i++){if(n==stu[i].num)goto cunzai;}printf("不存在此学号的学生!\n");printf("按回车键返回");scanf("%c",&w);scanf("%c",&w);teacher();cunzai:for(i=0;i<R;i++){k=i;if(n==stu[i].num){printf("请确认要删除%s的成绩数据吗?\n1.确认 2.取消",stu[i].name);scanf("%d",&x);if(x==1){goto ok;}else if(x==2){printf("以取消,按回车键返回");scanf("%c",&w);scanf("%c",&w);teacher();}else{printf("请正确选择!");}}}ok:R=R-1;for(i=k;i<R;i++){stu[i]=stu[i+1];}stu[i+1]=stu[i+2];input();printf("按回车键返回");scanf("%c",&w);scanf("%c",&w);teacher();}void gerenchengji(){int k,i;char w;for(i=0;i<1000;i++){k=i;if(xuehao==stu[i].num)goto ok;}ok:printf("学号\t\t1.英语\t2.高数\t3.大物\t4.C语言\t5.机械制图\t6.政治\t7.体育\t总成绩\t\t平均分\n");printf("%d\t",stu[k].num);printf("%s\t",stu[k].name);printf("%d\t",stu[k].score1);printf("%d\t",stu[k].score2);printf("%d\t",stu[k].score3);printf("%d\t",stu[k].score4);printf("%d\t\t",stu[k].score5);printf("%d\t",stu[k].score6);printf("%d\t",stu[k].score7);printf("%d\t\t",stu[k].score8);printf("%d\t\n",stu[k].score9);printf("全班平均成绩\t%.2lf\t\%.2lf\t%.2lf\t%.2lf\t%.2lf\t\t%.2lf\t%.2lf\t%.2lf\t\t%.2lf\n",pin g[1],ping[2],ping[3],ping[4],ping[5],ping[6],ping[7],ping[8],ping[9]);xueshengpaiming(k);printf("按回车键返回");scanf("%c",&w);scanf("%c",&w);student();}void zhuce(){int n,y,m,i,a[100],b[100],c[100];char w;FILE * fp;fp = fopen("zhanghao.txt","r");for(i=0;i<1000;i++){fscanf(fp,"%d%d%d",&a[i],&b[i],&c[i]);}fclose(fp);printf("请输入学号:");scanf("%d",&n);for(i=0;i<R;i++){if(c[i]==n){printf("此学号已被注册请重新登录\n按任意键返回开始界面");scanf("%c",&w);scanf("%c",&w);main();break;}}for(i=0;i<R;i++){if(n==stu[i].num){goto ok;}}printf("此学号未在成绩系统,请联系老师添加此学号\n");printf("按回车键返回");scanf("%c",&w);scanf("%c",&w);main();ok:printf("此学号可以注册!\n请输入用户名(数字)和密码(数字)创建新用户\n用户名:");scanf("%d",&y);for(i=0;i<R;i++){if(y==a[i]){printf("此用户名以被注册,请换一个从新输入");goto ok;}}printf("密码:");scanf("%d",&m);fp = fopen("zhanghao.txt","a");fprintf(fp,"\n%d\n%d\n%d",y,m,n);fclose(fp);printf("注册成功!请关闭从新登陆\n"); }void pingjun(){int h[10],i;for(i=0;i<10;i++){h[i]=0;}for(i=0;i<R;i++){h[1]=h[1]+stu[i].score1;h[2]=h[2]+stu[i].score2;h[3]=h[3]+stu[i].score3;h[4]=h[4]+stu[i].score4;h[5]=h[5]+stu[i].score5;h[6]=h[6]+stu[i].score6;h[7]=h[7]+stu[i].score7;h[8]=h[8]+stu[i].score8;h[9]=h[9]+stu[i].score9;}ping[1]=1.0*h[1]/R;ping[2]=1.0*h[2]/R;ping[3]=1.0*h[3]/R;ping[4]=1.0*h[4]/R;ping[5]=1.0*h[5]/R;ping[6]=1.0*h[6]/R;ping[7]=1.0*h[7]/R;ping[8]=1.0*h[8]/R;ping[9]=1.0*h[9]/R;}void chaxun(){int n,k,i;char w;printf("请输入需要查询的学生的学号:");scanf("%d",&n);for(i=0;i<R;i++){if(n==stu[i].num){k=i;goto ok;}}printf("并不存在此学生!\n");printf("按回车键返回");scanf("%c",&w);scanf("%c",&w);teacher();ok:printf("学号\t\t1.英语\t2.高数\t3.大物\t4.C语言\t5.机械制图\t6.政治\t7.体育\t总成绩\t平均分\n");printf("%d\t",stu[k].num);printf("%s\t",stu[k].name);printf("%d\t",stu[k].score1);printf("%d\t",stu[k].score2);printf("%d\t",stu[k].score3);printf("%d\t",stu[k].score4);printf("%d\t\t",stu[k].score5);printf("%d\t",stu[k].score6);printf("%d\t",stu[k].score7);printf("%d\t",stu[k].score8);printf("%d\t\n",stu[k].score9);printf("全班平均成绩\t%.2lf\t\%.2lf\t%.2lf\t%.2lf\t%.2lf\t\t%.2lf\t%.2lf\t%.2lf\t%.2lf\n",ping[ 1],ping[2],ping[3],ping[4],ping[5],ping[6],ping[7],ping[8],ping[9]);printf("按回车键返回");scanf("%c",&w);scanf("%c",&w);teacher();}void zuigaofen(){int i,b;for(i=0;i<10;i++){gao[i]=0;}for(i=0;i<R;i++){if(stu[i].score1>gao[1]){gao[1]=stu[i].score1;}if(stu[i].score2>gao[2]){gao[2]=stu[i].score2;}if(stu[i].score3>gao[3]){gao[3]=stu[i].score3;}if(stu[i].score4>gao[4]){gao[4]=stu[i].score4;}if(stu[i].score5>gao[5]){gao[5]=stu[i].score5;}if(stu[i].score6>gao[6]){gao[6]=stu[i].score6;}if(stu[i].score7>gao[7]){gao[7]=stu[i].score7;}if(stu[i].score8>gao[8]){gao[8]=stu[i].score8;}if(stu[i].score9>gao[9]){gao[9]=stu[i].score9;}}}void gerengaofen(){int k,i;char w;for(i=0;i<1000;i++){k=i;if(xuehao==stu[i].num)goto ok;}ok:printf("学号\t\t1.英语\t2.高数\t3.大物\t4.C语言\t5.机械制图\t6.政治\t7.体育\t总成绩\t平均分\n");printf("%d\t",stu[k].num);printf("%s\t",stu[k].name);printf("%d\t",stu[k].score1);printf("%d\t",stu[k].score2);printf("%d\t",stu[k].score3);printf("%d\t",stu[k].score4);printf("%d\t\t",stu[k].score5);printf("%d\t",stu[k].score6);printf("%d\t",stu[k].score7);printf("%d\t",stu[k].score8);printf("%d\t\n",stu[k].score9);printf("全班各课最高分\t%d\t\%d\t%d\t%d\t%d\t\t%d\t%d\t%d\t%d\n",gao[1],gao[2],gao[3],gao[4],gao[ 5],gao[6],gao[7],gao[8],gao[9]);printf("全班平均成绩\t%.2lf\t\%.2lf\t%.2lf\t%.2lf\t%.2lf\t\t%.2lf\t%.2lf\t%.2lf\t%.2lf\n",ping[ 1],ping[2],ping[3],ping[4],ping[5],ping[6],ping[7],ping[8],ping[9]);printf("按回车键返回");scanf("%c",&w);scanf("%c",&w);student();}void xuehaopaixu(){int j,i;for(j=0;j<R;j++){for(i=0;i<R-1;i++){if(stu[i].num>stu[i+1].num){stu[R+1]=stu[i];stu[i]=stu[i+1];stu[i+1]=stu[R+1];}}}}void pz(){int j,i;for(j=0;j<R;j++){for(i=0;i<R-1;i++){if(stu[i].score8<stu[i+1].score8){stu[R+1]=stu[i];stu[i]=stu[i+1];stu[i+1]=stu[R+1];}}}}void ps1(){int j,i;for(j=0;j<R;j++){for(i=0;i<R-1;i++){if(stu[i].score1<stu[i+1].score1){stu[R+1]=stu[i];stu[i]=stu[i+1];stu[i+1]=stu[R+1];}}}}void ps2(){int j,i;for(j=0;j<R;j++){for(i=0;i<R-1;i++){if(stu[i].score2<stu[i+1].score2){stu[R+1]=stu[i];stu[i]=stu[i+1];stu[i+1]=stu[R+1];}}}}void ps3(){int j,i;for(j=0;j<R;j++){for(i=0;i<R-1;i++){if(stu[i].score3<stu[i+1].score3){stu[R+1]=stu[i];stu[i]=stu[i+1];stu[i+1]=stu[R+1];}}}}void ps4(){int j,i;for(j=0;j<R;j++){for(i=0;i<R-1;i++){if(stu[i].score4<stu[i+1].score4){stu[R+1]=stu[i];stu[i]=stu[i+1];stu[i+1]=stu[R+1];}}}}void ps5(){int j,i;for(j=0;j<R;j++){for(i=0;i<R-1;i++){if(stu[i].score5<stu[i+1].score5){stu[R+1]=stu[i];stu[i]=stu[i+1];stu[i+1]=stu[R+1];}}}}void ps6(){int j,i;for(j=0;j<R;j++){for(i=0;i<R-1;i++){if(stu[i].score6<stu[i+1].score6){stu[R+1]=stu[i];stu[i]=stu[i+1];stu[i+1]=stu[R+1];}}}}void ps7(){int j,i;for(j=0;j<R;j++){for(i=0;i<R-1;i++){if(stu[i].score7<stu[i+1].score7){stu[R+1]=stu[i];stu[i]=stu[i+1];stu[i+1]=stu[R+1];}}}}void xueshengpaiming(int k){int i,j;int rank[9];char w;//英语排名j=1;for(i=0;i<=R;i++)if(stu[k].score1<stu[i].score1)j++;rank[1]=j;//高数排名j=1;for(i=0;i<=R;i++)if(stu[k].score2<stu[i].score2) j++;rank[2]=j;//大物排名j=1;for(i=0;i<=R;i++)if(stu[k].score3<stu[i].score3) j++;rank[3]=j;//C语言排名j=1;for(i=0;i<=R;i++)if(stu[k].score4<stu[i].score4) j++;rank[4]=j;//工图排名j=1;for(i=0;i<=R;i++)if(stu[k].score5<stu[i].score5) j++;rank[5]=j;//政治排名j=1;for(i=0;i<=R;i++)if(stu[k].score6<stu[i].score6) j++;rank[6]=j;//体育排名j=1;for(i=0;i<=R;i++)if(stu[k].score7<stu[i].score7) j++;rank[7]=j;//总分排名j=1;for(i=0;i<=R;i++)if(stu[k].score8<stu[i].score8) j++;rank[8]=j;printf("全班排名: ");for(i=1;i<=5;i++)printf("%d\t",rank[i]);printf("\t");for(i=6;i<=8;i++)printf("%d\t",rank[i]);printf("\n");printf("按回车键返回");scanf("%c",&w);scanf("%c",&w);student();}Ps :需要在文件夹加入几个TXT文本档,renshu.txtzhengji.txtzhanghao.txtname.txt例:各文件里的容度盘: https://pan.baidu./s/1dFIFndn 密码: sfmr。
剪刀石头布源代码#include<stdio.h>#include<stdlib.h>main(){int d,x;{printf("请输入:1是剪刀,2是石头,3是布");scanf("%d",&d);x=rand()%3;if(d==x)printf("双方平局");else if((d==1&&x==2)||(d==2&&x==3)||(d==3&&x==1)) printf("你赢了");elseprintf("电脑赢了");}}简单计算器#include<stdio.h>main(){int a,b,d=0;char c;while(d==0){printf("请开始计算,请输入需要运算的数字和运算法则,数字符号数字:"); scanf("%d%c%d",&a,&c,&b);switch(c){case'+':printf("%d+%d=%d\n",a,b,a+b);break;case'-':printf("%d-%d=%d\n",a,b,a-b);break;case'*':printf("%d*%d=%d\n",a,b,a*b);break;case'/':if(0==b)printf("除法被除数不能为零!\n") ;elseprintf("%d/%d=%d\n",a,b,a/b);break;}}}加油站加油问题#include<stdio.h>int main(){double a = 3.25, b = 3.00, c= 2.75;double d = 0.05, e = 0.10, m;int x,y,z;printf("请输入您要的加油量:");scanf("%d",&x);printf("请输入您要的汽油种类,1-a型汽油售价3.25元/千克, 2-b型汽油售价3.00元/千克, 3-c型汽油售价2.75元/千克:");scanf("%d",&y);printf("请输入您要的服务类型,1-自己加服务优惠0.05,2-协助加服务优惠0.10:"); scanf("%d",&z);switch(y){case 1:y = a;break;case 2:y = b;break;case 3:y = c;break;}if(z == 1)m = (1 - d) * y * x;else if(z == 2)m = (1 - e) * y * x;printf("您需要支付:%f 元,谢谢惠顾,欢迎下次再来",m);return 0;}猜数字游戏#include<stdio.h>#include<stdlib.h>int main(){int d=1,e=0;int a,b,t;printf ("请输入1-10以内的整数,\n ");while(d==1){printf("玩家的选择: ");scanf("%d",&a);do{if((a>=0)&&(a<11))break;else{printf("错误");scanf("%d",&a);}}while(e==0);b=rand()%10+1;printf("npc:%d",b);t=a-b;if(t==0)printf("\nRight!\n");else if(t<0)printf("\n Wrong !太小了\ n");else if(t>0)printf("\n Wrong !太大了\ n");}return 0;}万年历#include<stdio.h>#include<stdlib.h>void setmonth(int r);void main(void){int year,month,day,a,b,i,j,d,x,mon,k;do{printf("----------------------------------------------------\n");printf(" 查全年,输入 1!\n");printf(" 查月份,输入 2!\n");printf(" 查日期,输入 3!\n");printf(" 继续?输入 4!\n");printf(" 退出,输入 5!\n");printf("-----------------------------------------------------\n");printf("请输入:");scanf("%d",&x);if(x==1){month=12;printf("输入年份:");scanf("%d",&year);if(x==2){printf("输入年份:");scanf("%d",&year);printf("输入月份:");scanf("%d",&month);}if(x==3){printf("输入年份:");scanf("%d",&year);printf("输入月份:");scanf("%d",&mon);printf("输入日期:");scanf("%d",&day);month=mon-1;}if(x==5)exit(100);a=((year-1)*365+(year-1)/4-(year-1)/100+(year-1)/400)%7;for(i=1,d=0;i<=month;i++){switch(i){case 1:case 3:case 5:case 7:case 8:case 10:case 12:d=31;break;case 2:if(!(year%4)&&(year%100)||!(year%400))d=29;elsed=28;break;case 4:case 6:case 9:case 11:d=30;}b=a%7;a+=d;if(x==1){printf("========================================================\n");setmonth(i);printf("************************************************\n");printf("========================================================\n");printf(" 星期一星期二星期三星期四星期五星期六星期天\n");for(j=1;j<=b;j++)printf("%8c",' ');for(j=1;j<=d;j++){printf("%8d",j);if((j+b)%7==0)printf("\n");}}if(x==1)printf("\n");}if(x==2){printf("========================================================\n");setmonth(i-1);printf("************************************************\n");printf("========================================================\n");printf(" 星期一星期二星期三星期四星期五星期六星期天\n");for(j=1;j<=b;j++)printf("%8c",' ');for(j=1;j<=d;j++){printf("%8d",j);if((j+b)%7==0)printf("\n");}printf("\n");}if(x==3){a+=day;a%=7;switch(a){case 0:printf("%d.%d.%d 星期一!",year,mon,day);break;case 1:printf("%d.%d.%d 星期二!",year,mon,day);break;case 2:printf("%d.%d.%d 星期三!",year,mon,day);break;case 3:printf("%d.%d.%d 星期四!",year,mon,day);break;case 4:printf("%d.%d.%d 星期五!",year,mon,day);break;case 5:printf("%d.%d.%d 星期六!",year,mon,day);break;default:printf("%d.%d.%d 星期天!",year,mon,day);}printf("\n");}printf("是否继续?输入4继续,输入5退出:");scanf("%d",&k);} while(k==4);if(k==5)exit(100);}void setmonth(int r){switch(r){case 1:printf("%4c 一月份",' ');break;case 2:printf("%4c 二月份",' ');break;case 3:printf("%4c 三月份",' ');break;case 4:printf("%4c 四月份",' ');break;case 5:printf("%4c 五月份",' ');break;case 6:printf("%4c 六月份",' ');break;case 7:printf("%4c 七月份",' ');break;case 8:printf("%4c 八月份",' ');break;case 9:printf("%4c 九月份",' ');break;case 10:printf("%4c 十月份",' ');break;case 11:printf("%2c 十一月份",' ');break;default:printf("%2c 十二月份",' ');}}ATM机# include<stdio.h># include<stdlib.h># define Password 123456main (){int a,i,b,q,c;float m;m=3000.00;for (i=0;i<=2;i++){printf("请输入密码\n");scanf("%d",&a);if(a==Password){printf("密码正确,欢迎使用\n");break;}elseprintf("密码错误,请重新输入\n");}{if (a!=Password)printf("您的操作错误超过3次,请取回卡\n");else{system("cls");printf("1.取款\n2.存款\n3.查询余额\n4.退出\n");}}while(b!=4){scanf("%d",&b);switch(b){case 1: system("cls");printf("请输入你要取款的金额\n");scanf(" %d",&q); printf("取款成功,请选择你要进行的操作\n");m=m-q;break;case 2: system("cls");printf("请输入你要存入的金额\n");scanf(" %d",&c);m=m+c;;printf("存款成功,请选择你要进行的操作\n");break;case 3: system("cls");printf("您的余额为%.2f\n",m);break;case 4: system("cls");printf("谢谢使用");break;}}return 0;}学生成绩#include <stdio.h>#include <stdlib.h>float s[3][4];int r=0,c=0;void pjf(void){int i,j,cour = 0;for(j=0;j<4;j++){for(i=0;i<3;i++)cour+=s[i][j];printf("第%d课的平均分是%d\n",(j+1),cour/3);cour = 0;}}void dkzg(void){int i,j,high=0;for(j=0;j<4;j++){for(i=0;i<3;i++){if(s[i][j]>high){high=s[i][j];r=i+1;c=j+1;}}printf("最高分是%d,学生是%d,课程是%d\n",high,r,c);r=0;c = 0;high = 0;}}int main(){int i,j;float score=0;for(i=0;i<3;i++){printf("enter NO.%d score\n",i+1);for(j=0;j<4;j++){scanf("%f",&s[i][j]);score += s[i][j];}printf("第%d个学生的平均分是%f\n",(i+1),score/4);score = 0;}pjf();dkzg();return 0;}选票问题#include <stdio.h>void main(){int i=1;char j;int num[4]={0,0,0,0};printf("3位候选人,分别为A,B,C D为无效票,开始投票\n"); while(i<=10){printf("请输入第%d个的选票",i);scanf("%c",&j);switch(j){case 'A':num[0]++;i++;break;case 'B':num[1]++;i++;break;case 'C':num[2]++;i++;break;case 'D':num[3]++;i++;break;}getchar();}printf("A获得%d张选票\n",num[0]);printf("B获得%d张选票\n",num[1]);printf("C获得%d张选票\n",num[2]);printf("无效票为%d张 \n",num[3]);}打字母游戏#include <graphics.h>#include <conio.h>#include <time.h>#include <stdlib.h>#include <dos.h>#include <stdio.h>// 欢迎界面void welcome(){// 输出屏幕提示cleardevice(); //清除屏幕内容,用当前背景色清空屏幕,并将当前点移至 (0, 0)。
学年学期:20xx - 20xx 学年 1 学期课程名称:C语言程序设计综合训练课程学分:2分考核形式:大作业任课教师:xx题目:学生成绩统计程序学院:xx学院__________________________________ 专业班级:xx_______________________________________ 学号:_______ 学生姓名:提交日期:目录目录 (2)引言 (3)1. 学生成绩管理系统 (4)1.1系统简介 (4)1.2相关代码及知识点介绍 (4)2. 添加学生成绩功能 (5)3. 查找学生成绩功能 (6)4. 排序学生成绩功能 (7)5. 展示学生成绩功能 (9)6. 删除学生成绩功能 (10)7. 附页代码 (11)引言C语言是一种比较常见的计算机语言,许多大型应用软件都是用C语言编写而成的。
其简洁紧凑,灵活方便,数据结构丰富。
在一定程度上,C语言比汇编语言更实用,具有结构化语句,实现了结构化编程,使程序编写变得更容易、更快捷,可以编写出各种类型的程序。
同时,C语言是一门实践性强的学科,在学习的过程中,利用所学知识,编写一些与生活、学习相关的应用程序来提高程序编写能力,增强学习兴趣。
本次使用C语言设计一个学生成绩管理系统,可以实现学生成绩的添加,查找,排序及展示。
在作业中使用的是函数的模块化设计,将四个程序使用四个函数来实现。
与此同时,增加用户界面的交互,可供用户选择想要的功能,实现增删查排等操作。
1. 学生成绩管理系统1.1系统简介该系统主要实现学生成绩的添加,查找,排序,展示和删除五个功能,添加学生成绩主要有6个输入值组成,其中包括学号,姓名,语文,数学,英语,政治等。
查找学生成绩主要通过学号查询。
对学生成绩进行排序,可以分别通过学号,语文,数学,英语,政治,平均分,总分等进行排序。
第四项功能是对学生成绩以表格的形式进行展示。
删除学生成绩是按照学号对表格中的数据进行删除。
数据结构大作业作业题目:职工信息管理系统姓名:学号:班级:指导教师:日期:一、主要功能:这个职工信息管理系统是由C语言编写的程序,它用起来很方便又很灵活。
它由输入职工信息,输出职工信息,按职工号,部门号,工资排序,按职工号,部门号,工资来输出职工的所有信息。
删除有关职工的所有信息,保存职工的所有信息并退出等11个模块儿组成。
二、实验环境:C语言、C++、C# 等等。
三、功能说明:下面按步骤来介绍一下,职工信息管理系统的基本操作。
这是运行程序以后出现的主界面。
如图(1)所示:图(1)主界面1.输入职工的信息该模块儿的功能是分别输入职工的姓名,职工号,部门号,工资等信息。
每次输入职工的所有信息以后,界面上会显示出《输入完成!》的命令。
如图(2)所示:图(2)输入职工信息该模块儿的功能是显示出有关职工的所有信息。
操作如图(3)所示:图(3)输出所有的职工信息3.按职工号排序该模块儿的功能是按职工号排序所有的职工。
我们按3的时候,界面上会显示出《排序完成!》的命令。
如图(4)所示:图(4)按职工号排序该模块儿的功能是显示出已排序好的所有职工的号码。
操作如图(5)所示:图(5)输出所有的职工号5.按部门号排序该模块儿的功能是按部门号排序所有职工的部门号。
我们按5的时候,界面上会显示出《排序完成!》的命令。
如图(6)所示:图(6)按部门号排序该模块儿的功能是显示出已排序好的所有部门号。
操作如图(7)所示:图(7)输出所有的部门号7.按职工的工资排序该模块儿的功能是按工资排序所有职工的工资。
我们按7的时候,界面上会显示出《排序完成!》的命令。
如图(8)所示:图(8)按职工的工资排序该模块儿的功能是显示出已排序好的所有职工的工资。
操作如图(9)所示:图(9)输出所有职工的工资9.删除职工的所有信息该模块儿的功能是删除有关职工的所有信息。
我们按9的时候界面上会显示出《删除成功!》的命令。
如图(10)所示:图(10)删除职工的所有信息10.保存该模块儿的功能是保存有关职工的所有信息。
《程序设计基础》大作业姓名:学号:班级:成绩:信息科学与工程学院2009年7月5日程序设计基础大作业1.矩阵的综合运算1.1.需求陈述此程序为设计一套C函数库用于矩阵的计算,实现矩阵的各种计算功能,同时把矩阵的行列和矩阵的元素封装在一起,使关于矩阵的各种信息更加方便被用户运用。
1.2.需求分析为提高计算准确性和节约时间,故提前在文件中录入数据,矩阵计算时大多直接调用。
1.3. 程序设计思想1.3.1 数据类型矩阵采用静态的二维整型数组来表示,将矩阵的行数、列数和二维数组封装在一个结构体中。
矩阵的上限可用符号常量“MAX_MA TRIX”来表示,实际的行和列的项数由结构体中表示行和列的数据项控制。
矩阵的具体定义为:#define MAX_MATRIX 100typedef {size_t line;//矩阵的行数size_t row;//矩阵的行数int el[MAX_MATRIX][MAX_MATRIX];//矩阵元素} Matrix;1.3.2 功能分析a)矩阵的初始化Matrix initMatrix(int *a, size_t m, size_t n)功能:用一个m行n列的二维数组a来初始化一个矩阵,把行列和元素封装在一起,该矩阵的值作为返回值,返回值的类型为一个结构体类型。
实现思路:矩阵的行数初始化为二维数组的行数,矩阵的列数初始化为二维数组的列数,矩阵的元素初始化为二维数组的元素。
返回初始化后的矩阵。
b) 初始化为单位矩阵Matrix Identity(size_t m);功能:创建一个m行m列的单位矩阵,矩阵的值作为返回值,返回值的类型为一个结构体类型。
实现思路:矩阵的行和列初始化为相同值,矩阵的对角线元素初始化为1,其余元素初始化为0。
返回初始化后的矩阵。
c)判断矩阵是否为空:size_t isEmptyMatrix(Matrix a);功能:判断一个矩阵a是否为空,是指某个matrix型变量内是否有数据,即是否已经存储了矩阵;返回值用来表示矩阵的元素个数:矩阵为空则返回0,否则返回矩阵元素个数。
精心整理C++大作业是男人就下100层编程实例打开VC++6.0,创建一个win32application工程,名字随便取,新建一个C++sourcefile文件复选添加到工程选项在C++sourcefile添加如下代码intTJieTi[DLou+1];//阶梯的个性数据constintVY_JieTi=5;constintRefreshTime=100;//刷新时间constintAY_Num=5;constintVX_Num=20;constintVY_TH=26;intzt=0;//游戏是否开始=0等待开始=1正在进行中=2结束了staticcharText[100];constintFixTime=12;//计算时间片intVX=0;//X方向速度constintManHeight=16;//角色的高度constintDYLou=5;//楼层Y方向均分数constintDJieTi=10;//每层分数constintDXJieTi=3;//阶梯X方向均分数constintVX_TS=3;intvx_ts=0;intLife=10;//角色的生命值intNum=0;intNum_time;staticHBITMAPRoleBmp;{hInst=hInstance;staticTCHARszAppName[]=TEXT("DisplayWithScrollBar"); staticTCHARszClassName[]=TEXT("DisplayWithscrlBarClass"); MSGmsg;WNDCLASSwndclass;wndclass.style=CS_HREDRAW|CS_VREDRAW;wndclass.lpfnWndProc=WndProc;wndclass.cbClsExtra=0;wndclass.cbWndExtra=0;wndclass.hInstance=hInstance;//{}//hwnd=CreateWindow(szClassName,TEXT("是男人就下100层"),//创建窗口时,添加了WS_VSCROLL风格,以增加垂直滚动条WS_OVERLAPPEDWINDOW,50,100,420,571,NULL,NULL,//////{}returnmsg.wParam;}LRESULTCALLBACKWndProc(HWNDhwnd,UINTmessage,WPARAMwParam,LPARAMlParam) {RECTrect;staticHDChdc,hdc_Role,hdc_JieTi,hdc_lp,hdc_dz;staticHDCMemDC;PAINTSTRUCTps;inti,j;staticHPENhpen_black,hpen_blue,hpen_red,hpen_gray; staticHBRUSHhbrush_black,hbrush_blue,hbrush_red,hbrush_gray;{/*DChdc_dz=CreateCompatibleDC(hdc);MemDC=CreateCompatibleDC(hdc);/*初始化临时画布必须*/hMemBmp=CreateCompatibleBitmap(hdc,nClientWidth,nClientHeight); SelectObject(hdc_Role,hMemBmp);SelectObject(hdc_JieTi,hMemBmp);SelectObject(hdc_lp,hMemBmp);SelectObject(hdc_dz,hMemBmp);/*载入人物的图片*/RoleBmp=(HBITMAP)LoadImage(hInst,"Res\\man.bmp",DingZiBmp=(HBITMAP)LoadImage(hInst,"Res\\dingzi.bmp", IMAGE_BITMAP,0,0,LR_LOADFROMFILE);Init();return0;caseWM_PAINT:hdc=BeginPaint(hwnd,&ps);SelectObject(hdc,hpen_black);SetTextColor(hdc,RGB(207,49,211));SetBkMode(hdc,TRANSPARENT);sprintf(Text,"LIFE:%2d第%8d层,作者:核桃(QQ:)",Life,Num);/*/*/*ight,NULL);LineTo(hdc,GameWindowWidth-(GameWindowWidth-GameMainWidth)/2,GameWindowH eight);MoveToEx(hdc,(GameWindowWidth-GameMainWidth)/2,GameTopHeight,NULL);LineTo(hdc,GameWindowWidth-(GameWindowWidth-GameMainWidth)/2,GameTopHeig ht);MoveToEx(hdc,(GameWindowWidth-GameMainWidth)/2,GameWindowHeight-GameMain Height,NULL);LineTo(hdc,GameWindowWidth-(GameWindowWidth-GameMainWidth)/2,GameWindowH*//*/*{}{MoveToEx(hdc,(GameWindowWidth-GameMainWidth)/2+(i+1)*GameMainWidth/DJieT i,GameWindowHeight-GameMainHeight,NULL);LineTo(hdc,(GameWindowWidth-GameMainWidth)/2+(i+1)*GameMainWidth/DJieTi, GameWindowHeight);}*//*开始载入人物*/SelectObject(hdc_Role,RoleBmp);BitBlt(hdc,OManX,OManY,16,16,hdc_Role,0,0,SRCCOPY); /*开始载入左右边带动条*//*/*{if(CJieTi[i]==0){SelectObject(hdc_JieTi,JieTiBmp[0]);//BitBlt(MemDC,0,0,16,16,hdc_Role,0,0,NOTSRCERASE);BitBlt(hdc,XJieTi[i],YJieTi[i],WJieTi[i],HJieTi[i],hdc_JieTi,0,0,SRCCOPY );}elseif(CJieTi[i]==1){);}{);}{SelectObject(hdc_JieTi,JieTiBmp[3]);//BitBlt(MemDC,0,0,16,16,hdc_Role,0,0,NOTSRCERASE);BitBlt(hdc,XJieTi[i],YJieTi[i],WJieTi[i],HJieTi[i],hdc_JieTi,0,0,SRCCOPY );elseif(CJieTi[i]==4){SelectObject(hdc_JieTi,JieTiBmp[4]);//BitBlt(MemDC,0,0,16,16,hdc_Role,0,0,NOTSRCERASE););}else{OPY);}}//释放ReleaseDC(hwnd,hdc_JieTi);ReleaseDC(hwnd,hdc_lp);ReleaseDC(hwnd,hdc_dz);ReleaseDC(hwnd,MemDC);if(zt==0)SetBkColor(hdc,RGB(0,0,0)); SetBkMode(hdc,OPAQUE);sprintf(Text,"按任意键开始游戏"); TextOut(hdc,125,250,Text,16);}{}//时间函数,重难点for(i=0;i<=DLou-1;i++){YJieTi[i]-=VY_JieTi;if(CJieTi[i]==3||CJieTi[i]==4)TJieTi[i]++;if(TJieTi[i]==3) TJieTi[i]=0;}}elseLife=0;/*最难的人物处理函数*/ IsJiaCeng();FixMan();if(Life==0)KillTimer(hwnd,1);zt=2;}InvalidateRect(hwnd,NULL,true);{zt=1;}{{caseVK_LEFT:VX=-VX_Num;break; caseVK_RIGHT:VX=VX_Num;break; }}return0;caseWM_KEYUP:switch(wParam){caseVK_LEFT:VX=0;break;caseVK_RIGHT:VX=0;break;}}}{inti;/*最难的碰撞部分已经解决*/for(i=0;i<DLou;i++){if(OManY+ManHeight<YJieTi[i]+VY_JieTi&&ManY+ManHeight>YJieTi[i]&&JiaoY== 0)JiaoX=OManX+int(float((YJieTi[i]+VY_JieTi-OManY-ManHeight)*(ManX-OManX)) /float(ManY-OManY+VY_JieTi));if(JiaoX>XJieTi[i]+WJieTi[i]||JiaoX+ManWidth<XJieTi[i]){JiaoX=0;}else{pz=i;}{{VY=10;AY=AY_Num;VX=0;pz=DLou;pztime=0;vx_ts=0;}else{AY=0;pz=i;}}}{}else{OManX=JiaoX; OManY=JiaoY; }if(pz!=DLou) on(pz);sprintf(Text,"%d%d",pz,CJieTi[pz]); return0;}/*步上阶梯的函数*/inton(intk){/*{{VY=0;pztime=0;}else{OManY=YJieTi[i]-ManHeight;VY=-VY_JieTi;AY=0;pz=i;pztime++;}}/*{AY=0;}/*{VY=-VY_JieTi;vx_ts=VX_TS;AY=0;}/*碰上弹簧,已经解决*/elseif(CJieTi[i]==1){OManY=YJieTi[i]-ManHeight; VY=-VY_TH;VX=0;}/*{AY=0;}/*碰上蓝色板部分,已经解决*/ else{OManY=YJieTi[i]-ManHeight; VY=-VY_JieTi;if(pztime==1&&Life>0&&Life<10) Life++;}return0;}/*{{{WJieTi[i]=WJieTi[i+1];CJieTi[i]=CJieTi[i+1];LJieTi[i]=LJieTi[i+1];TJieTi[i]=TJieTi[i+1];if(pz!=DLou&&pz>0)}j=rand()%DJieTi;if(j==0||j==1||j==2||j==3)CJieTi[DLou-1]=0;elseYJieTi[DLou-1]=YJieTi[DLou-2]+GameMainHeight/DLou; HJieTi[DLou-1]=GameMainHeight/(DYLou*DLou);WJieTi[DLou-1]=GameMainWidth*DXJieTi/DJieTi;if(CJieTi[DLou-1]==5)TJieTi[DLou-1]=rand()%10;TJieTi[DLou-1]=0; return1;}else}{{//{CJieTi[i]=0; elseif(j==4) CJieTi[i]=1; elseif(j==5) CJieTi[i]=2;elseif(j==6)CJieTi[i]=3;elseif(j==7)CJieTi[i]=4;else}//}//{///2;YJieTi[i]=GameWindowHeight-GameMainHeight+i*GameMainHeight/DLou+(DYLou-1 )*GameMainHeight/(DYLou*DLou);}/*计算出初始角色状态*/for(i=0;i<=3;i++){if(CJieTi[i+2]==0){OManX=XJieTi[i+2]+(WJieTi[i+2]-ManWidth)/2; OManY=YJieTi[i+2]-ManWidth;}//}/*VX=0;AY=0;/*for(i=0;i<=DLou;i++){if(CJieTi[i]==5)TJieTi[i]=rand()%10;elseTJieTi[i]=0;}Life=10;SetTimer(hwnd,1,RefreshTime,NULL);//设置刷新计时器return0;}。
学校运动会管理系统问题描述:(1) 初始化输入:N-参赛院系总数,M-男子竞赛项目数,W-女子竞赛项目数;(2) 各项目名次取法有如下几种:取前5名:第1名得分 7,第2名得分 5,第3名得分3,第4名得分2,第5名得分 1;(3) 由程序提醒用户填写比赛结果,输入各项目获奖运动员的信息。
(4) 所有信息记录完毕后,用户可以查询各个院系或个人的比赛成绩,生成团体总分报表,查看参赛院系信息、获奖运动员、比赛项目信息等。
程序代码:#include<stdio.h>#include<string.h>#define N 3#define M 3#define W 3char* n_number[3]={"1","院系2","院系3"};char* m_number[3]={"1","男项2","男项3"};char* w_number[3]={"女项1","女项2","女项3"};int size=2;struct student{char num[10];char name[20];char xiangmu[20];int score;char ximing[20];}stu[100],temp;void input() //输入原始数据//{int temp = 0;printf("\t************输入界面************\n");printf("请输入:\n运动员号码,姓名,项目名,成绩,系名:\n");for(int i=0;i<size;i++){scanf("%s%s%s%d%s",&stu[i].num,&stu[i].name,&stu[i].xia ngmu,&stu[i].score,&stu[i].ximing);// if(strcmp(stu[i].ximing,n_number[0])==0)// printf(stu[i].ximing);//printf("%s\n",n_number[0]);for(int h=0;h<N;h++)if(strcmp(stu[i].ximing,n_number[h])==0)for(int s=0;s<M;s++){if(strcmp(stu[i].xiangmu,m_number[s])==0)temp = 1;else{for(int k=0;k<M;k++)if(strcmp(stu[i].xiangmu,w_number[k])==0)temp = 1;}}if(temp==0){i=i-1;printf("%s\n","输入信息有误,请重新输入!");}elseprintf("%s\n","本条信息录入完毕!");}printf("%s\n","所有信息录入完毕!");printf("输出:\n运动员号码,姓名,项目名,成绩,系名:\n");for(i=0;i<size;i++)printf("%s\t%s\t%s\t%d\t%s\n",stu[i].num,stu[i].name,st u[i].xiangmu,stu[i].score,stu[i].ximing);}void find() //查找函数//{int temp =0;int scorez = 0;printf("\t************查找界面************\n");printf("\t************1.查询院系比赛成绩************\n");printf("\t************2.查询个人比赛成绩************\n");char fs[20];while(1){int tt=0;printf("请输入编号:");scanf("%d",&tt);switch(tt){case 1:{temp =0;scorez = 0;printf("输入要查询的院系名称:");scanf("%s",&fs);printf("输出:\n系名,运动员号码,姓名,项目名,成绩:\n");for(int j=0;j<size;j++){if(strcmp(stu[j].ximing,fs)==0){temp =1;printf("%s\t%s\t%s\t%s\t%d\n",stu[j].ximing,stu[j].num, stu[j].name,stu[j].xiangmu,stu[j].score);scorez = scorez +stu[j].score;}}if(temp==0)printf("没有找到相应的院系:\n");elseprintf("学院总成绩为:%d\n",scorez);break;}default:temp =0;printf("输入你要查找运动员的号码:");scanf("%s",&fs);printf("输出:\n运动员号码,姓名,项目名,成绩,系名:\n");for(int i=0;i<size;i++){if(strcmp(stu[i].num,fs)==0){temp =1;printf("%s\t%s\t%s\t%d\t%s\n",stu[i].num,stu[i].name,&s tu[i].xiangmu,stu[i].score,stu[i].ximing);}}if(temp==0){printf("你要找的运动员未找到:\n");printf("该运动员缺赛或不存在!\n");}}}}void main(){input() ;find() ;}。
#include"stdio.h"#include"conio.h"#include"string.h"#include"stdlib.h"int look(); /*声明查看函数*/int save(); /*声明保存函数*/int search_name(); /*声明按姓名查看函数*/int search_number(); /*声明按学号查看函数*/int order(); /*声明排序函数*/int del(); /*声明删除函数*/int openl(); /*声明打开函数*/int welcome(); /*声明我的个人信息函数*/int type(); /*声明输入函数*/int see(); /*声明打开并查看文件函数*/struct student /*定义学生信息的结构体类型*/{char num[15]; /*学号*/char name[20]; /*姓名*/char sex[4]; /*性别*/int chinese; /*语文成绩*/int english; /*英语成绩*/int math; /*数学成绩*/int science; /*科学成绩*/int phy; /*体育成绩*/float aver; /*平均成绩*/float sum; /*总成绩*/}stu[100];int n; /*声明一个全局变量*/int main() /*主函数即用户的操作界面*/{system("color 1E"); /*设计文本颜色*/int b,flag=0; /*声明局部变量*/while(1) /*循环输出以下信息*/{printf("\n\t\t\t欢迎来到学生成绩管理系统!\n");printf("\n\t\t\t\t 赵仓龙、刘铄制作\n");printf("\t\t\t-------------------------------\n");printf("\t\t\t1.键入学生的信息\n\n"); /*键入学生的信息*/printf("\t\t\t2.查看录入的学生信息\n\n"); /*查看录入的学生信息*/printf("\t\t\t3.按姓名查看学生的信息\n\n"); /*按姓名查看学生的信息*/ printf("\t\t\t4.按学号查看学生的信息\n\n"); /*按学号查看学生的信息*/ printf("\t\t\t5.按平均成绩排序\n\n"); /*排序*/printf("\t\t\t6.删除学生信息\n\n"); /*删除学生信息*/printf("\t\t\t7.保存学生信息\n\n"); /*保存*/printf("\t\t\t8.打开文件\n\n");/*打开文件*/printf("\t\t\t9.我的个人信息\n\n"); /*我的个人信息*/printf("\t\t\t0.退出\n\n"); /*退出*/printf("\t\t\t请输入你的选择:");scanf("%d",&b);switch(b){case 1:type();break; /*调用键入学生信息函数*/case 2:look();break; /*调用查看函数*/case 3:search_name();break; /*调用姓名查看函数*/case 4:search_number();break; /*调用学号查看函数*/case 5:order();break; /*调用排序函数*/case 6:del();break;/*调用删除函数*/case 7:save();break;/*调用保存函数*/case 8:see();break;/*调用打开文件函数*/case 9:welcome();break;/*调用我的个人信息函数*/case 0:flag=1;break;/*退出SWITCH语句*/default :printf("错误!");}if(flag) break; /*如果选择0就退出循环*/}}int welcome() /*我的个人信息函数*/ {system("CLS");printf("\n\n\t\t------------个人信息------------"); /*在屏幕上输出一下信息*/printf("\n\n\n\n\t\t姓名: ");printf("\t\t\tSex:m\n");printf("\t\t年龄:20\n");printf("\n\n\n\n\t\t姓名: ");printf("\t\t\tSex:m\n");printf("\t\t年龄:20\n");printf("\n\n\t\t按任意键返回欢迎屏幕!");getch(); /*按任意键返回主函数*/}int type() /*定义键入学生信息函数*/ {system("CLS");int i; /*定义局部变量*/printf("\t\t输出你想输入的学生信息个数:");scanf("%d",&n);for(i=0;i<n;i++) /*输入每个学生的信息*/{printf("\n\t\t\t----------------\n" );printf("\t\t\t学号:");scanf("%s",&stu[i].num); /*输入学号*/printf("\t\t\t姓名:");scanf("%s",&stu[i].name); /*输入姓名*/printf("\t\t\t性别:");scanf("%S",&stu[i].sex); /*输入性别*/printf("\t\t\t语文:");scanf("%d",&stu[i].chinese); /*输入英语成绩*/printf("\t\t\t数学:");scanf("%d",&stu[i].math); /*输入数学成绩*/printf("\t\t\t英语:");scanf("%d",&stu[i].english); /*输入语文成绩*/printf("\t\t\t科学:");scanf("%d",&stu[i].science);printf("\t\t\t体育:");scanf("%d",&stu[i].phy);}printf("\n\n\t\t\t按任意键返回菜单!!");getch();save();}int save() /*建立保存文件函数*/{system("CLS");FILE *fp; /*定义文件型指针*/int i;if((fp=fopen("C语言大作业测试数据.txt","wb"))==NULL) /*打开输出文件*/{printf("不能打开文件!\n");return 0; /*终止程序*/}for(i=0;i<n;i++) /*向student文件中写入信息*/if(fwrite(&stu[i],sizeof(structstudent),1,fp)!=1)printf("文件写入错误\n");fclose(fp); /*关闭文件*/printf("\n\n\n\n\t\t\t学生信息保存成功!\n");printf("\n\n\n\n\t\t\t按任意键返回菜单!!");getch();}int look() /*定义查看函数*/{system("CLS");int i;//n=openl(); /*调用openl函数*/ printf("\t学号\t姓名\t性别\t语文\t数学\t英语\t科学\t体育\n");for(i=0;i<n;i++) /*输出所有的学生信息*/{printf("%12s\t%s\t%2s\t%d\t%d\t%d\t %d\t%d\t%3.1f\n",stu[i].num,stu[i].name,stu[i].sex,stu[i].chinese,stu[i].ma th,stu[i].english,stu[i].science,stu[ i].phy);}printf("\n\n\n\t\t\t按任意键返回菜单");getch();}int search_name() /*按姓名查看函数*/ {system("CLS");int i;char name[20]; /*声明字符数组*/printf("\t\t\t请输入学生姓名:\n");scanf("%s",name);printf("\t学号\t姓名\t性别\t语文\t数学\t英语\t科学\t体育\n");for(i=0;i<n;i++)if(strcmp(stu[i].name,name)==0)/*将输入的姓名与结构体中的姓名进行比较*/{printf("%10s\t%s\t%2s\t%d\t%d\t%d\t %d\t%d\t%3.1f\n",stu[i].num,stu[i].na me,stu[i].sex,stu[i].chinese,stu[i].ma th,stu[i].english,stu[i].science,stu[ i].phy);printf("\n\n\n\t\t\t按任意键返回菜单");}getch();}int search_number() /*定义按学号查看函数*/{system("CLS");int i;char number[15]; /*声明字符数组printf("\t\t\t请输入学号:\n");scanf("%s",number);printf("\t学号\t姓名\t性别\t语文\t数学\t英语\t科学\t体育\n");for(i=0;i<n;i++)if(strcmp(stu[i].num,number)==0) /*将输入的学号与结构体中的学号进行比较*/printf("%10s\t%s\t%2s\t%d\t%d\t%d\t%d\t%d\t%3.1f\n",stu[i].num,stu[i].na me,stu[i].sex,stu[i].chinese,stu[i].ma th,stu[i].english,stu[i].science,stu[ i].phy);printf("\n\n\n\t\t\t按任意键返回菜单");getch();}int order() /*定义排序函数*/system("CLS");int i,j;char a;struct student temp; /*声明结构体变量*/printf("\t学号\t姓名\t性别\t语文\t数学\t英语\t科学\t体育\n");for(i=0;i<n;i++) /*对数据进行排序*/{for(j=i+1;j<n;j++)if(stu[i].sum<stu[j].sum){temp=stu[i];stu[i]= stu[j];stu[j]=temp;}printf("%10s\t%s\t%2s\t%d\t%d\t%d\t %d\n",stu[i].num,stu[i].name,stu[i].sex,stu[i].chinese,stu[i].ma th,stu[i].english,stu[i].science,stu[ i].phy);}getch();printf("是否保存(y or n)");getchar();scanf("%c",&a);if(a=='y') /*是否保存排序后的文件*/save();elseprintf("退出");getch();}int del() /*定义删除学生信息函数*/ {int i;char a;char name[20];system("CLS");printf("\t\t\t输入学生名字:\n");scanf("%s",name);system("CLS");printf("\t学号\t姓名\t性别\t语文\t数学\t英语\t科学\t体育\n");for(i=0;i<n;i++)if(strcmp(stu[i].name,name)==0){printf("%10s\t%s\t%2s\t%d\t%d\t%d\t %d\t%d\t%3.1f\n",stu[i].num,stu[i].na me,stu[i].sex,stu[i].chinese,stu[i].ma th,stu[i].english,stu[i].science,stu[ i].phy);getch();printf("真的删除?(y or n)");getchar();scanf("%c",&a);if(a=='y') /*是否删除该信息*/{for(;i<n;i++)stu[i]=stu[i+1];n=n-1;printf("你已经删除信息");}elseprintf("退出");getch();}save();}int openl() /*定义打开文件函数*/ {system("CLS");int i;FILE *fp;if((fp=fopen("C语言大作业测试数据.txt","rb"))==NULL){printf("Cannot open file.\n");exit(0);}for(i=0;!feof(fp);i++)fread(&stu[i],sizeof(struct student),1,fp);fclose(fp);return(i-1);}int see() /*打开并查看文件*/{system("CLS");int i;n=openl();printf("文件打开成功!\n");printf("按任意键查看!\n");getch();printf("\t学号\t姓名\t性别\t语文\t数学\t英语\t科学\t体育\n");for(i=0;i<n;i++) /*输出所有的学生信息*/{printf("%10s\t%s\t%2s\t%d\t%d\t%d\t %d\t%d\t%3.1f\n",stu[i].num,stu[i].na me,stu[i].sex,stu[i].chinese,stu[i].ma th,stu[i].english,stu[i].science,stu[ i].phy);}printf("\n\n\n\t\t\t按任意键返回菜单");getch();}。
C语言大作业实验任务:设计一个电话薄。
源程序:#include<stdio.h>#include<string.h>#include<stdlib.h>struct person{char name[8];chartel[15];charaddr[50];};char filename[20]="txl.txt";FILE *fp;void output();/*输出模块output( ):输出通讯录中联系人通讯信息的子函数*/ void search();/*添加模块append( ):向通讯录中添加某人通讯信息的子函数*/ void append();/*查找模块search( ):在通讯录中查找某人通讯信息的子函数*/ void modify();/*修改模块modify( ):在通讯录中修改某人通讯信息的子函数*/ void del();/*删除模块delete( ):在通讯录中删除某人通讯信息的子函数*/ void main( ){int m;fp=fopen(filename,"w");fprintf(fp,"%-10s%-20s%-50s\n","姓名","电话号码","住址");fclose(fp);while(1){printf("\n\t\t*********欢迎使用通讯录信息管理系统*********\n\n"); printf("请输入功能选择:(0--5):");printf("\n\t\t添加记录,请按1");printf("\n\t\t查找记录,请按2");printf("\n\t\t修改记录,请按3");printf("\n\t\t删除记录,请按4");printf("\n\t\t输出记录,请按5");printf("\n\t\t退出,请按0\n");printf("\n\t\t********************************************\n\n");scanf("%d",&m);if(m>=0&&m<=5){switch(m){case 1: append();break;case 2: search();break;case 3: modify();break;case 4: del();break;case 5: output();break;case 0: exit(0);}printf("\n\n操作完毕,请再次选择!");}elseprintf("\n\n选择错误,请再次选择!");}}/*输出模块output( ):输出通讯录中联系人通讯信息的子函数*/ void output(){struct person one;if((fp=fopen(filename,"r"))==NULL){printf("\n不能打开通讯录!");exit(0);}printf("\n\n%20s\n","通讯录");while(!feof(fp)){fscanf(fp,"%s%s%s\n",,one.tel,one.addr);printf("%-10s%-20s%-50s",,one.tel,one.addr);}fclose(fp);}/*添加模块append( ):向通讯录中添加某人通讯信息的子函数*/ void append(){struct person one;if((fp=fopen(filename,"a"))==NULL){printf("\n不能打开通讯录!");exit(0);}printf("\n请输入添加的姓名、电话号码及住址\n");scanf("%s%s%s",,one.tel,one.addr);fprintf(fp,"%-10s%-20s%-50s\n",,one.tel,one.addr); fclose(fp);}/*查找模块search( ):在通讯录中查找某人通讯信息的子函数*/ void search(){int k=0;charnamekey[8];struct person one;printf("\n请输入姓名:");scanf("%s",namekey);if((fp=fopen(filename,"rb"))==NULL){printf("\n不能打开通讯录!");exit(0);}while(!feof(fp)){fscanf(fp,"%s%s%s\n",,one.tel,one.addr);if(!strcmp(namekey,)){printf("\n\n已查到,记录为:");printf("\n%-10s%-18s%-50s",,one.tel,one.addr);k=1;}}if(!k)printf("\n\n对不起,通讯簿中没有此人的记录。
面 向 对 象 程 序 设 计 大 作 业
姓名:叶尔凯西 学院(系):计科系 班级:计科系07-1班 学号:*********** 设计本程序的目的: 关于一些并不太复杂的集体来说,一般需要管理集体中的每个人的基本信息的,本程序专门为一些在校学生的基本信息的管理而设计的,主要目的是通过本程序来实现简单的记录和查找学生的基本信息;
程序功能简介:
本程序是通过面向对象的最重要的特点“类”来设计出来的,其功能是实现简单的学生基本信息管理。包括一些要求用户从键盘输入(记录)学生的基本信息、输出学生的基本信息和用学生的学号来查找学生信息表中的某个学生的基本信息等功能;
程序功能的详细介绍: 本人设计程序时考虑到的很所内容,其中输入输出学生的基本信息是最基本的功能。下面来给大家介绍程序的核心类的构建: ① 在程序中共建立了两种类,分别是person类和student类。person作为student类的基类,其内部是如下设计的: class person { public: void SetPersonAddress(char *AddressFromMain); void SetPersonSex(char *SexFromMain); void ShowPersonSex(); void ShowPersonAddress(); private: char Address[25]; char Sex[2];
}; 可以看到,在上面分别声明了四个成员函数和两个数据成员。四个成员函数的作用是对私有数据成员进行访问(包括输入和输出)。所以当建立了一个person类之后就可以通过它的对象来访问该类的数据成员。 下面分别说明每一个成员函数的具体定义: (1) 设置(输入)人地址的成员函数: void person::SetPersonAddress(char *AddressFromMain) { strcpy(Address,AddressFromMain); } 通过strcpy把字符指针的内容送入person类中的数据成员Address。 (2) 设置(输入)人性别的成员函数: void person::SetPersonSex(char *SexFromMain) { strcpy(Sex,SexFromMain); } 通过strcpy把字符指针SexFromMain的内容作为地址的存储单元中的内容送入person类中Sex数据成员。 (3) 输出地址成员函数: void person::ShowPersonAddress() { cout<} 输出person类中的Address数据成员的内容; (4) 输出性别的成员函数: void person::ShowPersonSex() { cout<} 输出person类中的Sex数据成员的内容;
②接下来就是person基类的派生类student类的内部设计如下: class student: public person { public: void SetStudentInformation(char*NameFromMain,char *StudentAddressFromMain,char *StudentSexFromMain,char *StudentNumberFromMain, int *score); void ShowStudentInformation(); friend void FindStudentNumber(student *data); friend void FindStudentName(student *data); private: int MathResult,EnglishResult,CResult,CompilationLanguageResult,DigitalLogicResult,MarksismResult; char StudentNumber[25]; char Name[25]; float Average; int total; };
当设计student派生类的时候,最主要的特点就是利用了“类”的一个特点继承。 所以说派生出来的student类也具有基类person的一些特点。在继承的方式上本人使用了共有继承方式(public),下面来给大家介绍student类的内部构造: ① 成员函数共有设置(输入)学生信息、输出学生信息等两个。还有一个非成员函数的一个函数,它为该student类的友元函数,其功能是实现查找。 除此之外还有从基类person类继承下来的一些成员函数;
② 数据成员分别为整形变量的学生成绩(包括数学成绩、英语成绩、C++成绩、汇编语言成绩、数字逻辑成绩、马克思哲学成绩等),字符数组的学生学号和学生姓名以及整型变量的学生的总分和单精度变量的平均分; 下面介绍student派生类中的各个成员函数的定义部分: 设置(输入)学生信息的成员函数:
Void student::SetStudentInformation(char*NameFromMain,char*StudentAddressFromMain,char* StudentSexFromMain,char *StudentNumberFromMain, int *score) { strcpy(Name,NameFromMain); SetPersonAddress(StudentAddressFromMain); SetPersonSex(StudentSexFromMain); strcpy(StudentNumber ,StudentNumberFromMain);
for(int i=0; i<6; i++) { switch(i) { case 0: MathResult=score[0]; case 1: EnglishResult=score[1]; case 2: CResult=score[2]; case 3: CompilationLanguageResult=score[3]; case 4: DigitalLogicResult=score[4]; case 5: MarksismResult=score[5]; } } total=MathResult+EnglishResult+CResult+CompilationLanguageResult+DigitalLogicResult+MarksismResult; Average=total/6.0; } 可以看到在设计student类的输入成员函数时其内部同时调用了从基类继承下来的一些成员函数,这就是继承的特点。下面将会详细地介绍该成员函数的功能: 首先是student类的两个字符数组变量学生姓名和学生学号的赋值通过strcpy来直接实现,也就是可通过该类的成员函数来给数据成员赋值。还有两个数据成员是不能够被继承下来的基类的两个字符数组学生性别和家庭地址,它们是通过student派生类的成员函数中调用从基类person中继承下来的成员函数,从而改变对不能被继承下来的基类的数据成员赋值。接着就是对student类中自己的数据成员学生成绩的赋值,它们是通过一个简单的switch case语句来实现的。 输出学生信息的成员函数: void student::ShowStudentInformation() { cout cout<<"学生的家庭地址为: "; ShowPersonAddress(); cout< cout<<"学生的性别为: "; ShowPersonSex(); cout< cout<<"学生的考试课程成绩如下: " cout<<"学生的数字逻辑课程成绩为: " 输出学生信息的成员函数的定义中不难发现输出时不仅会输出student派生类自己的数据成员的值还会同时输出不能被继承下来的基类person中的数据成员的值。这显然只能通过继承下来的成员函数来实现(如ShowPersonAddress()和ShowPersonSex())。 下面来介绍三个非成员函数,其中两个为student类的友元函数。它就是实现查找功能的(分别用学生学号和学生姓名来进行查找),另一个是一个单独的普通函数。其功能是当程序运行时保持一个用户界面的功能。 Student类共有两个友元函数,分别是friend void FindStudentNumber(student