|
1楼 计算机网络安全研究协会 赵飞宇 /*这是一个学生管理系统,它有输入,输出,求和,查询等几项功能*/ #include <conio.h> #include <stdio.h> FILE *fp; int a[100][10]; /*定义一个二位数组用来存放学生成绩*/ int stu; inputx() { gotoxy(15,13); textcolor(RED); printf("请输入你们班的学生数:"); scanf("%d",&stu); } input() /*输入学生成绩*/ { int i; for(i=1;i<=stu;i++) { scanf("%8d%8d%8d%8d%8d%8d",&a[i][1],&a[i][2],&a[i][3],&a[i][4],&a[i][5],&a[i][6]); } } print1() /*输出成绩表,并求总分,平均分和排名次*/ { int i,j; int b[100],c[100]; int t,loc,k; fp=fopen("成绩表.txt","w"); for(i=1;i<=stu;i++) /*求总分和平均分*/ { a[i][7]=0; for(j=2;j<=6;j++) a[i][7]=a[i][7]+a[i][j]; a[i][8]=a[i][7]/5; } for(i=1;i<=stu;i++) /*排名*/ { b[i]=a[i][7]; c[i]=i; } for(i=1;i<=stu-1;i++) { loc=i; for(j=i+1;j<=stu;j++) if(b[j]>b[loc]) loc=j; if(loc!=i) {t=b[i];b[i]=b[loc];b[loc]=t; t=c[i];c[i]=c[loc];c[loc]=t; } } for(i=1;i<=stu;i++) for(k=1;k<=stu;k++) if(c[k]==i) { a[i][9]=k; break; } for(i=1;i<=stu;i++) /*输出成绩表*/ { for(j=1;j<=9;j++) printf("%-6d",a[i][j]); printf("\n"); } /*以下输出成绩表存到一个文件中*/ fprintf(fp,"学号 语文 数学 英语 物理 化学 总分 均分 名次\n"); for(i=1;i<=stu;i++) { for(j=1;j<=9;j++) fprintf(fp,"%-6d",a[i][j]); fprintf(fp,"\n"); } } print2() /*求各科总分和平均分*/ { int i,j; int m[3][6]; for(j=2;j<=6;j++) { m[1][j-1]=0; for(i=1;i<=stu;i++) m[1][j-1]=m[1][j-1]+a[i][j]; m[2][j-1]=m[1][j-1]/stu; } for(i=1;i<=2;i++) { for(j=1;j<=5;j++) printf("%-6d",m[i][j]); printf("\n"); } } change() /*修改学生成绩*/ { int m,b,c,i,n=0; printf("请输入您要修改的学生的学号:"); scanf("%d",&m); printf("1,语文;2,数学;3,英语;4,物理;5,化学;\n"); printf("请选择您要修改的科目:"); scanf("%d",&b); printf("请输入新的学生成绩:"); scanf("%d",&c); for(i=1;i<=stu;i++) if(m!=a[i][1]) n++; else { n++; break; } a[n][b+1]=c; printf("\n重新输出成绩表\n"); printf("学号 语文 数学 英语 物理 化学 总分 均分 名次\n"); print1(); go(); } go() /*选择菜单*/ { int n; printf("\n现在您将会遇到以下几种情况:\n"); printf("1,继续查询;2,修改数据;3,重新运行;4,结束程序;\n"); printf("请您根据需要按键选择:"); scanf("%d",&n); if(n==1)find(); if(n==2)change(); if(n==3)main(); if(n==4){ clrscr(); printf("*********感谢您使用本程序*********\n"); printf("这是我编写的第一个系统程序,为了感谢您的使用,请到3509寝室找李晓锋领奖\n"); printf("\n\n"); printf("再次感谢您的使用\n"); printf("------------ByeBye----------------"); } getch(); } find1() /*按名次查询学生成绩*/ { int n,i; printf("请输入您要查询的学生的名次:"); scanf("%d",&n); printf("名次 学号 语文 数学 英语 物理 化学 总分 均分\n"); for(i=1;i<=stu;i++) if(n==a[i][9]) { printf("%-6d%-6d%-6d%-6d%-6d%-6d%-6d%-6d%-6d",a[i][9],a[i][1],a[i][2],a[i][3],a[i][4],a[i][5],a[i][6],a[i][7],a[i][8]); break; } printf("\n"); go(); } |
|
|
|
|
2楼 { int n,i; printf("请输入您要查询的学生的学号:"); scanf("%d",&n); printf("学号 语文 数学 英语 物理 化学 总分 均分 名次\n"); for(i=1;i<=stu;i++) if(n==a[i][1]) { printf("%-6d%-6d%-6d%-6d%-6d%-6d%-6d%-6d%-6d",a[i][1],a[i][2],a[i][3],a[i][4],a[i][5],a[i][6],a[i][7],a[i][8],a[i][9]); break; } printf("\n"); go(); } find3_1(int n) /*输出科目查询结果*/ { int i; printf("学号 名次 语文 数学 英语 物理 化学 总分 均分\n"); for(i=1;i<=stu;i++) if(a[i][n+1]>=90) { printf("%-6d%-6d%-6d%-6d%-6d%-6d%-6d%-6d%-6d",a[i][1],a[i][9],a[i][2],a[i][3],a[i][4],a[i][5],a[i][6],a[i][7],a[i][8]); printf("\n"); } go(); } find3() /*科目选择菜单*/ { int n; printf("现有以下五种科目供查询:\n"); printf("1,语文;2,数学;3,英语;4,物理;5,化学;\n"); printf("请按键选择:"); scanf("%d",&n); find3_1(n); } find() /*查询方式菜单*/ { int m; printf("根据您的要求,有以下3种查询方式: \n"); printf("1,按名次查询;\n"); printf("2,按学号查询;\n"); printf("3,查询某科成绩在90分以上的学生的情况;\n"); printf("现在,按照您的需要请按键:"); scanf("%d",&m); if(m==1)find1(); if(m==2)find2(); if(m==3)find3(); } main() /*主函数运用文本编辑对欢迎界面进行排版*/ { int i; clrscr(); /*清屏*/ textcolor(YELLOW); { gotoxy(20,9); printf("******欢迎使用学生成绩管理系统!******\n"); gotoxy(20,11); printf("------------制作人:赵飞宇------------\n"); gotoxy(20,13); printf("******欢迎注册:zfy0422@sina.com******\n"); gotoxy(20,15); printf("***********飞宇软件开发公司***********\n"); gotoxy(20,17); printf("版权所有 未经同意 不得复制 违者必究"); } for(i=1;i<=44;i++) /*输出用#组成的矩形以达到美观的效果*/ { { gotoxy(16+i,19); printf("#"); } { gotoxy(16+i,7); printf("#"); } } for(i=1;i<=13;i++) { { gotoxy(16,6+i); printf("#"); } { gotoxy(61,6+i); printf("#"); } } getch(); clrscr(); inputx(); clrscr(); gotoxy(3,3); printf("\n学生成绩管理系统\n\n"); printf("一,输入成绩\n"); printf("请输入学生的成绩:\n" ); printf("学号 语文 数学 英语 物理 化学\n"); input(); printf("\n"); printf("二,输出成绩表\n"); printf("学号 语文 数学 英语 物理 化学 总分 均分 名次\n"); print1(); printf("\n"); printf("三,输出各科总分及平均分\n"); printf("语文 数学 英语 物理 化学\n"); print2(); printf("\n"); printf("四,查询\n"); find(); } 2003年11月 于平顶山 编者的话: 这是我去年11月份编写的一个学生成绩管理程序,对于刚开始学编程的我来说是一个挑战,我完全没有把握。在那一个多星期中,每天我想的都是程序代码,许多数字和字符常在头脑中跳跃,就连做梦中还喊着“for”、“if”,实在是累的我筋疲力尽,但使我感到欣慰的是这个程序基本上编出来了。程序的大多内容都是那时编出来的,今年又加了些内容(包括欢迎界面、控制学生数、保存成绩表、美化界面等),总的来说还算不错。现在回想起当时编程的日子,实在不想从头再来一遍了,我曾跟晓锋说过,无论你做什么事情,只要全心投入达到疯狂的地步,你一定能够成功的,就算是累点,那还是值得的。当时他正在想破解网吧管理系统的方法,也是到了疯狂若痴,梦中犹然的地步,最后终于让他发现了许多突破网吧管理系统的办法。所以我劝戒每一个真正想学到东西的人,不要怕苦,不要怕累,上天不负有心人! 虽然说C语言是一门基础语言,但为了以后能更好地学习其语言,我们最好能够熟练掌握C语言,许多高级程序员和真正的hacker在他们学习编程的过程中,C语言是必不可少的,并且致关重要,他们都提倡熟练掌握C语言。我们对C语言的学习不必过于深入,但要熟练掌握它的算法和编程思路,因为不管什么语言,他们的算法都是相通的,只要熟练掌握一门语言,就能够很快地学会其他语言。现在,我们开的是C语言课,而不是其他Basic语言、Java语言,我们只有先学好C语言。 关于C语言的学习,我提几点建议,也是我的经验。在课堂上老师讲的听不懂没有关系,即便是听懂了记不住也没有关系,只要我们能够自己去编一些小程序,自己亲自去实践就一定能学得好。 在编程的过程中,切记不要心急,要一步一步的来,不清楚的地方一定要查书,用到什么就查什么,比如在用到printf这个输出函数时,不知道整型用什么输出格式,实型、字符型、字符串又用什么格式,我们就要认真地去看一下教材4.2章。当我们遇到困难实在不知道该怎么去做时,这时就要去请教高手,我平时就常向刘杨请教,与他交流一些编程中的经验和教训。 在编程过程中,我们要经常看一些经典的例子,要学会模仿,自己编程要有选择,既有趣又经典的程序,我们一定不要放过,我建议大家到图书馆里去借一本《趣味C程序》的书,它里面的内容也不是很难,正适合处学者,而且每个例子都很有趣,如果谁有兴趣可以去借一下。 另外,我建议大家一定要编一个大一点的程序,只有当你编一个大程序时,你才会遇到更大的苦难,学到更多的东西,不但能够发挥你的想象力拓宽你的思路,而且但你的程序编完时,你就会发现你的C语言已经运用到了得心应手的地步。去年我也是在编了学生成绩管理系统后才发现自己对C语言的掌握有点熟练了,此前,我虽然会编程,能够编一些书上的课后题,但总觉得自己运用C语言不够熟练,只有在编了那个程序后,才终于能够长吁一口气。 大家需要一个互相交流的环境,于是我给大家创造了一个环境,我们协会的目的就是为了真正地去学一些东西,编程是我们的首要选择,以后我们还会学到更多的东西。在此感谢大家对我的支持。 这篇文章是在此程序第二次打印时临时打上的,如有不切之处,请大家多多包涵。 计算机网络安全研究协会 赵飞宇 2004.3.24 |
|
|
|
|
3楼 最好还要把输入的数据输入到文件中,那样会比较好一点。 |
|
|
|
|
4楼 |
|
|
|
| 218.87.41.* |
5楼 写写思想就好了 |
|
|
| 219.134.10.* |
6楼 |
|
|
|
8楼 我的商品管理程序有六项功能,但是最后两项没有编。我们的程序都是用链表写的。 |
|
|
|
|
9楼 #include <stdio.h> #include <conio.h> #include <bios.h> #include <dos.h> #include <malloc.h> #define NULL 0 #define LEN sizeof(struct mcd) struct data /*声明一个日期的结构体类型*/ { int year; int month; int day; }; struct mcd /*声明有关商品信息的结构体类型*/ { int code; /*编 号*/ char name[12]; /*品 名*/ long price; /*单 价*/ int num; /*数 量*/ char place[20]; /*产 地*/ struct data putdate; /*入库时间*/ struct data selldate; /*销售时间*/ struct mcd * next; /*运用指针处理链表*/ }; int n; /*记录链表有几条数据*/ struct mcd *head; /*声明链表头的指针*/ creat() /*输入商品信息的函数*/ { struct mcd *p1,*p2; n=0; p1=p2=(struct mcd *)malloc(LEN); /*开辟一个新单元存放信息*/ head=p1; loop: { clrscr(); printf("商品录入系统\n"); printf("录入号:%d\n",n+1); printf("编 码:"); scanf("%d",&p1->code); printf("品 名:"); scanf("%s",&p1->name); printf("单 价:"); scanf("%ld",&p1->price); printf("数 量:"); scanf("%d",&p1->num); printf("产 地:"); scanf("%s",&p1->place); printf("入库时间:"); scanf("%d-%d-%d",&p1->putdate.year,&p1->putdate.month,&p1->putdate.day); } while(p1->num!=0) { n=n+1; if(n==1)head=p1; else p2->next=p1; p2=p1; p1=(struct mcd *)malloc(LEN); goto loop; } p2->next=NULL; main(); } print() /*输出数据列表的函数*/ { int m=0; struct mcd *p; clrscr(); printf("编 号||品 名||单 价||数 量|| 产 地 ||入 库 时 间\n"); p=head; if(head!=NULL) do { printf("%-10d%-14s%-12ld%-10d%-22s%-4d-%-2d-%-2d\n",p->code,p->name,p->price,p->num,p->place,p->putdate.year,p->putdate.month,p->putdate.day); p=p->next; m=m+1; if(m%23==0){gotoxy(10,25);printf("按任意键继续.");getch();} }while(p!=NULL); getch(); main(); } sell() { int code,m=3,ch; long sum=0; struct mcd *p1; struct date today; getdate(&today); clrscr(); printf("商品销售系统\n"); printf("编 号||||品 名|||| 产 地 ||||单 价(元)||||出 售 时 间\n"); loop: do{ gotoxy(23,25); printf("按任意键继续,F2结帐,ESC键退出"); ch=bioskey(0); }while(0); switch(ch) { case 15360:{ if(sum==0) { gotoxy(1,m);printf("还没有购买商品!"); getch(); sell(); break; } else { gotoxy(1,m); printf("------------------------------------------------------------------------------"); gotoxy(47,m+1); printf("总价: %-12ld元",sum); getch(); main(); break; } } case 283:{main();break;} default: { gotoxy(23,25); printf("请输入商品编码,会显示商品信息"); gotoxy(1,m); scanf("%d",&code); if(head==NULL) { printf("你还没有进货."); getch(); main(); break; } p1=head; while(code!=p1->code&&p1->next!=NULL) {p1=p1->next;} if(code==p1->code) { gotoxy(13,m); printf("%-16s%-24s%-16ld%4d-%2d-%2d",p1->name,p1->place,p1->price,today.da_year,today.da_mon,today.da_day); m=m+1; p1->num=p1->num-1; sum=sum+p1->price; } } goto loop; } } |
|
|
|
|
10楼 go() { int ch; clrscr(); printf("请问你要进行什么操作?\n1,插入;2,删除;3,什么也不做;\n"); loop: do{ ch=bioskey(0); }while(0); switch(ch) { case 561:insert();break; case 818:del();break; case 1075:main();break; case 283:break; default:{gotoxy(1,3);printf("请按数字键选择!");goto loop;} } getch(); main(); } insert() { struct mcd *p0,*p1,*p2; p0=p1=p2=(struct mcd*)malloc(LEN); p1=head; clrscr(); printf("请输入要插入的商品的信息:\n"); printf("编 码:"); scanf("%d",&p0->code); printf("品 名:"); scanf("%s",&p0->name); printf("单 价:"); scanf("%ld",&p0->price); printf("数 量:"); scanf("%d",&p0->num); printf("产 地:"); scanf("%s",&p0->place); printf("入库时间:"); scanf("%d-%d-%d",&p0->putdate.year,&p0->putdate.month,&p0->putdate.day); if(head==NULL) { head=p0; p0->next=NULL; } else { while((p0->code>p1->code)&&(p1->next!=NULL)) { p2=p1; p1=p1->next; } if(p0->code<=p1->code) { if(head==p1)head=p0; else p2->next=p0; p0->next=p1; } else { p1->next=p0;p0->next=NULL; } } n=n+1; print(); } del() { int code; struct mcd *p1,*p2; clrscr(); printf("请输入要删除商品的编号:"); scanf("%d",&code); if(head==NULL) { printf("你还没有进货."); getch(); main(); } p1=head; while(code!=p1->code&&p1->next!=NULL) { p2=p1; p1=p1->next; } if(code==p1->code) { if(code==head)head=p1->next; else p2->next=p1->next; n=n-1; print(); } else { printf("找不到这条商品信息."); getch(); print(); } } main() { do{ clrscr(); printf(" . : : \n"); printf(" '. :'''''''': : : :'''':'''':\n"); printf(" '. : : :'''''' :'''''' : : :\n"); printf(" ................ : : :', :', ''''':''''': : :\n"); printf(" '. .' : : : ', : ', : :....:....:\n"); printf(" '. .' : : ,' ,' : : : :\n"); printf(" '.' : : ', : : : :\n"); printf(".........:........... :........: : ', : :....:....:\n"); printf(" ............... :''''''''''''''': '''':'''' : \n"); printf(" : , , : :'''''': :'''''': ,' : : \n"); printf(" : , , : : : : : :''''''''': : ,' : \n"); printf(" : , , : : : : : : : : ,' ....:.... \n"); printf(" :, :''''''': : : : : : : : :,' : \n"); printf(" : : : : : : : : :'''''''''' ,' : \n"); printf(" : : : : : : : : :.......... ,' : \n"); printf(" : :.......: : : : : : : : ' : \n"); printf(" : : : : : : : : ......:.....\n"); printf(" : ..: :......: :......: :.........: \n"); gotoxy(60,19); printf("赵飞宇制造 V1.0"); gotoxy(10,21); printf("1,销售系统;2,进货系统;3,查看列表;4,插入删除;5,销售盈亏;6,帮助文档"); gotoxy(32,24); printf("按ESC键退出"); key(); }while(0); } key() { int ch; loop: do{ ch=bioskey(0); }while(0); switch(ch) { case 561:sell();break; case 818:creat();break; case 1075:print();break; case 1332:go();break; case 283:break; default: { gotoxy(30,22); printf("请按数字键选择!"); goto loop; } } } /*以上程序由柳云飞编写,柳云飞系本人写小说的笔名*/ |
|
|
|
|
11楼 我的程序是最短的了,大家不要抱怨啊。 刘杨的程序太长了,有30k,以后我再贴吧。 |
|
|
|
| 218.22.29.* |
13楼 我学c语言有一阶段了,程序会一点 但是现在有人让我利用c语言的图形功能制作简单的菜单,结合键盘中断处理,完成简单的游戏程序设计。 程序我是写出来了,但是菜单怎么做啊 |
|
|
| 219.140.96.* |
14楼 |
|
|
| 61.144.50.* |
15楼 |
|
|
| 219.137.20.* |
16楼 |
|
|
| 218.87.98.* |
17楼 |
|
|
| 221.12.10.* |
18楼 |
|
|
| 220.169.0.* |
19楼 |
|
|
| 219.218.158.* |
20楼 |
|
|
| 218.27.153.* |
21楼 做为一个初学者,你的忠告很有帮助。 |
|
|
| 61.141.157.* |
22楼 我真的好佩服你,我断断续续学了一年多,循环的作业都不会,我要晕倒了!为什么会这样啊? |
|
|
| 218.28.87.* |
23楼 |
|
|
|
24楼 |
|
|
|
|
25楼 |
|
|
|
| 219.230.154.* |
26楼 |
|
|
| 219.140.59.* |
28楼 才来看看的啊 |
|
|
| 219.157.68.* |
29楼 |
|
|
| 221.4.182.* |
30楼 弱智 本人通过1个星期的自学c语言, 用了1天的时间就能够编出用衔接管理的程序了。 你们谁要就把自己的邮箱地址发到我的邮箱中, 我给你们。 |
|
|
| 218.28.39.* |
31楼 自以为很吊么? 垃圾 鄙视你 |
|
|
