| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1892 人关注过本帖
标题:[转帖][求助]请高手帮我修改一下这个程序,谢谢了!
取消只看楼主 加入收藏
心系风铃
Rank: 1
等 级:新手上路
帖 子:145
专家分:0
注 册:2004-12-23
收藏
 问题点数:0 回复次数:6 
[转帖][求助]请高手帮我修改一下这个程序,谢谢了!

一.题目:这是一个学生程序管理系统

二,要求:

1.能建立新数据文件,存放学生信息及成绩.

2.能追加新记录.

3.能修改已有记录.

4.能删除错误记录.

5.能查询部分记录.

6.能排序部分记录.

7.能用菜单方法操作.

以下是友人所做,我看不懂,请高手帮忙修一下.

# define m 5 # include<stdio.h> # include<conio.h> # include<string.h> void main menu() { clrscr(); printf("\n\n\n\n\n\n\n\n"); printf(" $*************************************$\n"); printf(" $ 0-------7 $\n"); printf(" $*************************************$\n"); printf(" $ 1-Establish the resrlt watch $\n"); printf(" $ 2-Show the resrlt watch $\n"); printf(" $ 3-Scarch the resrlt record $\n"); printf(" $ 4-Modify the result record $\n"); printf(" $ 5-Delete the result record $\n"); printf(" $ 6-Increase the new result record $\n"); printf(" $ 7-Arrange the result record $\n"); printf(" $ 0-Exit $\n"); printf(" $*************************************$\n"); } void creat(char num[m][20],char name[m][20],char mht[m][20],char els[m][20],char law[m][20]) { int i; clrscr(); for(i=0;i<m;i++) { printf("\n"); printf("Please importation the %d record:\n",i++); printf("num:"); do { gets(num[i]); } while(strcmp(num[i],"") ==0); printf("name:"); gets(name[i]); printf("mht:"); gets(mht[i]); printf("els:"); gets(els[i]); printf("law:"); gets(law[i]); } } void display(char num[m][20],char name[m][20],char mht[m][20],char els[m][20],char law[m][20]) { int i; clrscr(); printf(" num | name | mht | els | law |\n"); for(i=0;i<m;i++) printf("%13s%16s%7s%7s%7s\n",num[i],name[i],mht[i],els[i],law[i]); } void qui_num(char num[m][15],char name[m][20],char mht[m][5],char els[m][5],char law[m][5]) { int i,flag=0; char nm[15]; printf("\n Please the importatiom regisration number:");gets(nm); for(i=0;i<m;i++) if(strcmp(nm,num[i])==0) { printf(" num | name | mht | els | law |\n"); printf("%13s%16s%7s%7s%7s\n",num[i],name[i],mht[i],els[i],law[i]); flag=1; } if(flag==0) printf("\n Check to have no this record! \n"); } void qui_name(char num[m][15],char name[m][20],char mht[m][5],char els[m][5],char law[m][5]) { int i,flag=0; char nam[20]; printf("\n Please the importatiom name:");gets(nam); for(i=0;i<m;i++) if(strcmp(nam,num[i])==0) { printf(" num | name | mht | els | law |\n"); printf("%13s%16s%7s%7s%7s\n",num[i],name[i],mht[i],els[i],law[i]); flag=1; } if(flag==0) printf("Check to have no this record! \n"); } void scarch(char num[m][15],char name[m][20],char mht[m][5],char els[m][5],char law[m][5]) { char c; display(num,name,mht,els,law); printf("Press registration number search(n),press name search(x)?"); c=getche(); if(c=='n'||c=='N') qui_num(num,name,mht,els,law); else if(c=='x'||c=='X') qui_name(num,name,mht,els,law); else printf("\n Input the mistake word sign! \n"); } void modify(char num[m][15],char name[m][20],char mht[m][5],char els[m][5],char law[m][5]) { int i; char nam[20]; clrscr(); printf(" num | name | mht | els | law |\n"); for(i=0;i<m;i++) printf("%13s%16s%7s%7s%7s\n",num[i],name[i],mht[i],els[i],law[i]);

printf("Ask importation to want to modify the name of the record: \n"); gets(nam); for(i=0;i<m;i++) if (strcmp(nam,name[i])==0) break; if(i==m) printf("Check to have no this record! \n"); else { printf("Please input the right registration number: \n"); do {gets(num[i]);} while(strcmp(num[i],"")==0); printf("Newname:");gets(name[i]); printf("Newmht:"); gets(mht[i]); printf("Newels:");gets(els[i]); printf("Newlaw:");gets(law[i]); printf(" num | name | mht | els | law |\n"); for(i=0;i<m;i++) printf("%13s%16s%7s%7s%7s\n",num[i],name[i],mht[i],els[i],law[i]); } } void delete(char num[m][15],char name[m][20],char mht[m][5],char els[m][5],char law[m][5]) { int i,x; char c,nm[15],nam[20];

clrscr();

printf(" num | name | mht | els | law |\n"); for(i=0;i<m;i++) printf("%13s%16s%7s%7s%7s\n",num[i],name[i],mht[i],els[i],law[i]); printf("Press the registration number deletion(h),still press name deletion(l)?"); c=getche(); if (c=='h'||c=='H') { printf("\n Ask importation to want to delete the registration number of the record: \n"); gets(nm); for (x=0;x<m;x++) if (strcmp(nm,num[x])==0) break; if (x<m) { for (i=x;i<m-1;i++) { strcpy(num[i],num[i+1]); strcpy(name[i],name[i+1]); strcpy(mht[i],mht[i+1]); strcpy(els[i],els[i+1]); strcpy(law[i],law[i+1]); } printf(" num | name | mht | els | law |\n"); for(i=0;i<m;i++) printf("%13s%16s%7s%7s%7s\n",num[i],name[i],mht[i],els[i],law[i]); } else printf("Check to have no this record! \n"); } else if (c=='l'||c=='L') { printf("\n Ask importation to want to delete the name the record: \n"); gets(nam); for (x=0;x<m;x++) if (strcmp(nm,num[x])==0) break; if (x<m) { for (i=x;i<m-1;i++) { strcpy(num[i],num[i+1]); strcpy(name[i],name[i+1]); strcpy(mht[i],mht[i+1]); strcpy(els[i],els[i+1]); strcpy(law[i],law[i+1]); } printf(" num | name | mht | els | law |\n"); for(i=0;i<m;i++) printf("%13s%16s%7s%7s%7s\n",num[i],name[i],mht[i],els[i],law[i]); } else printf("Check to have no this record! \n"); } else printf("\n Input the mistake word sign! \n"); } void Increase(char num[10][15],char name[10][20],char mht[10][5],char els[10][5],char law[10][5]) { int i=0,k; char c,tempnum[15],tempname[20],tempmht[5],tempels[5],templaw[5];

clrscr();

printf(" num | name | mht | els | law |\n"); while(strcmp(num[i],"")!=0) { printf("%13s%16s%7s%7s%7s\n",num[i],name[i],mht[i],els[i],law[i]); i++; } k=i; do { printf(" please the registration number of input the new record: \n"); do {gets(tempnum);} while(strcmp(tempnum,"")==0); printf(" please the surname number of input the new record: \n"); gets(tempname); printf(" please the mht number of input the new record: \n");gets(tempmht); printf(" please the els number of input the new record: \n");gets(tempels); printf(" please the law number of input the new record: \n");gets(templaw); for (i=0;i<k;i++) if (strcmp(tempnum,num[i])==0 || strcmp(tempname,name[i])==0) { printf("Registration number or the name repetition want to inprt(YES\\NO)?"); c=getche(); putchar('\n'); break; } if(i==k) { strcpy(num[i],tempnum); strcpy(name[i],tempname); strcpy(mht[i],tempmht); strcpy(els[i],tempels); strcpy(law[i],templaw); printf(" New result record:\n"); printf(" num | name | mht | els | law |\n"); for(i=0;i<k+1;i++) printf("%13s%16s%7s%7s%7s\n",num[i],name[i],mht[i],els[i],law[i]); break; } }while(c=='y' || c=='Y'); } void Arrange(char num[m][15],char name[m][20],char mht[m][5],char els[m][5],char law[m][5]) { int i,j,l; char g,h,temp[10]; clrscr(); printf(" The result record that did not arrange: \n"); printf(" num | name | mht | els | law |\n"); for(i=0;i<m;i++) printf("%13s%16s%7s%7s%7s\n",num[i],name[i],mht[i],els[i],law[i]); printf("Press the registration numbdr alignment(n),still press name alignment(b)?"); g=getche(); if(g=='n' || g=='N') { printf("\n Press agreeable row(s),still negative row(f)?"); h=getche(); if(h=='s' || h=='S') { for(i=0;i<m-1;i++) { l=i; for(j=i;j<m;j++) if(strcmp(num[l],num[j]) >0) l=j; strcpy(temp,num[l]); strcpy(num[l],num[i]); strcpy(num[i],temp); strcpy(temp,name[l]); strcpy(name[l],name[i]); strcpy(name[i],temp); strcpy(temp,mht[l]); strcpy(mht[l],mht[i]); strcpy(mht[i],temp); strcpy(temp,els[l]); strcpy(els[l],els[i]); strcpy(els[i],temp); strcpy(temp,law[l]); strcpy(law[l],law[i]); strcpy(law[i],temp); } printf("\n Arrange the result record of empress: \n"); printf(" num | name | mht | els | law |\n"); for(i=0;i<m;i++) printf("%13s%16s%7s%7s%7s\n",num[i],name[i],mht[i],els[i],law[i]); } else if(h=='f' || h=='F') { for (i=0;i<m-1;i++) { l=i; for(j=i;j<m;j++) if(strcmp(num[l],num[j]) <0) l=j; strcpy(temp,num[l]); strcpy(num[l],num[i]); strcpy(num[i],temp); strcpy(temp,name[l]); strcpy(name[l],name[i]); strcpy(name[i],temp); strcpy(temp,mht[l]); strcpy(mht[l],mht[i]); strcpy(mht[i],temp); strcpy(temp,els[l]); strcpy(els[l],els[i]); strcpy(els[i],temp); strcpy(temp,law[l]); strcpy(law[l],law[i]); strcpy(law[i],temp); } printf("\n Arrange the result record of empress: \n"); printf(" num | name | mht | els | law |\n"); for(i=0;i<m;i++) printf("%13s%16s%7s%7s%7s\n",num[i],name[i],mht[i],els[i],law[i]); } else printf("\n Illegal character list! \n"); } else if (g=='b' || g=='B') { printf("\n Press agreeable row(s),still negative row(f)?"); h=getche(); if(h=='s' || h=='S') { for(i=0;i<m-1;i++) { l=i; for(j=i;j<m;j++) if(strcmp(num[l],num[j]) >0) l=j; strcpy(temp,num[l]); strcpy(num[l],num[i]); strcpy(num[i],temp); strcpy(temp,name[l]); strcpy(name[l],name[i]); strcpy(name[i],temp); strcpy(temp,mht[l]); strcpy(mht[l],mht[i]); strcpy(mht[i],temp); strcpy(temp,els[l]); strcpy(els[l],els[i]); strcpy(els[i],temp); strcpy(temp,law[l]); strcpy(law[l],law[i]); strcpy(law[i],temp); } printf("\n Arrange the result record of empress: \n"); printf(" num | name | mht | els | law |\n"); for(i=0;i<m;i++) printf("%13s%16s%7s%7s%7s\n",num[i],name[i],mht[i],els[i],law[i]); } else if(h=='f' || h=='F') { for (i=0;i<m-1;i++) { l=i; for(j=i;j<m;j++) if(strcmp(num[l],num[j]) <0) l=j; strcpy(temp,num[l]); strcpy(num[l],num[i]); strcpy(num[i],temp); strcpy(temp,name[l]); strcpy(name[l],name[i]); strcpy(name[i],temp); strcpy(temp,mht[l]); strcpy(mht[l],mht[i]); strcpy(mht[i],temp); strcpy(temp,els[l]); strcpy(els[l],els[i]); strcpy(els[i],temp); strcpy(temp,law[l]); strcpy(law[l],law[i]); strcpy(law[i],temp); } printf("\n Arrange the result record of empress: \n"); printf(" num | name | mht | els | law |\n"); for(i=0;i<m;i++) printf("%13s%16s%7s%7s%7s\n",num[i],name[i],mht[i],els[i],law[i]); } else printf("\n Illegal character list! \n"); } else printf("\n Illegal character list! \n"); } main() { char choice,yes_no,num[m][15],name[m][20],mht[m][5],els[m][5],law[m][5]; do { clrscr(); mainmenu(); printf(" "); choice=getche(); switch(choice) { case'1':creat(num,name,mht,els,law);break; case'2':display(num,name,mht,els,law);break; case'3':scarch(num,name,mht,els,law);break; case'4':modify(num,name,mht,els,law);break; case'5':delete(num,name,mht,els,law);break; case'6':Increase(num,name,mht,els,law);break; case'7':Arrange(num,name,mht,els,law);break; case'0':break; default:printf(" choice=%c!Illegal operation\n",choice); }

if(choice=='0')break; printf("\n Need to be chosen afresh(Yes\\No)?\n"); do {yes_no=getch();}

while (yes_no!='Y'&&yes_no!='y'&&yes_no!='N'&&yes_no!='n');

} while(yes_no=='Y'||yes_no=='y'); }



搜索更多相关主题的帖子: 转帖 
2004-12-26 20:03
心系风铃
Rank: 1
等 级:新手上路
帖 子:145
专家分:0
注 册:2004-12-23
收藏
得分:0 

很惭愧啊。这道程序是同学叫我看的,不过我看不懂,而且还不懂那里不懂,所以我也说不出哪里不行啊,没法子,四年前的东西我早忘光光。。。


年初二 拿利事
2004-12-28 23:26
心系风铃
Rank: 1
等 级:新手上路
帖 子:145
专家分:0
注 册:2004-12-23
收藏
得分:0 
以下是引用knocker在2004-12-29 11:22:29的发言: 那有什么?如果是我GF,不但她不会,而且她的八大姨,七大姑,九大友的活儿我也一并包下!
小子,别乱搞关系!不然我阉了你! 要嘛就帮我修改一下程序,要嘛就闭嘴别乱发贴。。。

年初二 拿利事
2004-12-29 14:05
心系风铃
Rank: 1
等 级:新手上路
帖 子:145
专家分:0
注 册:2004-12-23
收藏
得分:0 
以下是引用Kyo在2004-12-28 20:49:29的发言: 哎,没人理你啊!好心你就认真复习一下,自己做嘛!你以前不是C高手吗?现在忘光了,求人不如求已啊!自己好好想想吧。不过别叫我帮你,我没空的。。。
你放心,就算天下的男人死光了,我也不用你理的!你给我安分的待在WINDOWS论坛的那个窝,别老出来乱窜,这里吠几声,那里叫几声的。小心我发狠,你应该很清楚,得罪我没好处。要帮就帮,不帮别乱发贴。。。

年初二 拿利事
2004-12-29 14:10
心系风铃
Rank: 1
等 级:新手上路
帖 子:145
专家分:0
注 册:2004-12-23
收藏
得分:0 
以下是引用workhard在2004-12-29 13:27:56的发言: 我改了一下,可以增加课程,删除课程。本还想加入文件保存,打开可老有乱码,搞不定。
WORKHARD,谢谢你了!这道题我也试了很多次,就是还出现亂碼,应该还有地方写错了,我现在也在认真的查,无奈程序太长了,可能会不小心,我们一起再查查,看那里还有问题,到时再在这里发贴吧。谢谢你了。。。

年初二 拿利事
2004-12-29 14:13
心系风铃
Rank: 1
等 级:新手上路
帖 子:145
专家分:0
注 册:2004-12-23
收藏
得分:0 
以下是引用Kyo在2004-12-30 00:16:11的发言: 天啊!你还真是50年不变啊?这么凶小心没有敢“娶你”。叫你别老是帮同学发一些作业贴上来的叫人做的哦!不过你那个同学还真是高手,那个程序我看一了一下就晕了,你同学真的是计算机专业的吗?难怪knocker会说写这个程序的人肯定没有过二级C,以后别老是做好人了。最近管理员好像也在发贴考虑要不要删了这些老是发作业上来人,所以你别再帮人发这些贴上来了。 如果你想帮别人的话就自己做,自己懒不想去复习以前的C老是想在这里叫人帮忙,真想不出以前还是“C高手”呢!!!呵呵。。。。。去看看以前的书吧,小懒虫。。。。。。
知道了知道了!你对行了吧!我会好好看书的,对了Kyo,本来我这个贴子是悬赏200的,为什么只剩下悬赏20的?我现在才注意到,能不能帮我加个悬赏积分上去啊?反正我要那些积分也没什么用的?有空帮我补发悬赏贴,最少也要上百积分的,不发你就是小气鬼。。。

年初二 拿利事
2004-12-30 01:29
心系风铃
Rank: 1
等 级:新手上路
帖 子:145
专家分:0
注 册:2004-12-23
收藏
得分:0 
以下是引用fish88q在2004-12-30 13:15:01的发言: workhard我刚才看了你改的程序了,真的谢谢啦。要不是太远,应该吃你吃饭,喝茶。这里真的很不错的,我会介绍我朋友过来的。
  好像你要请我才对吧!

年初二 拿利事
2005-01-06 16:06
快速回复:[转帖][求助]请高手帮我修改一下这个程序,谢谢了!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024098 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved